blob: 32d169f124f847e25a95cef5549003347dfdf72f [file] [log] [blame]
/*
* Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.testing.models.nativeapitest;
import org.eclipse.persistence.tools.schemaframework.*;
public class NativeAPITestTableCreator extends TableCreator {
public NativeAPITestTableCreator() {
setName("NativeAPITestProject");
addTableDefinition(buildADDRESSTable());
addTableDefinition(buildDEPTTable());
addTableDefinition(buildDEPT_EMPTable());
addTableDefinition(buildEMPLOYEETable());
addTableDefinition(buildPHONENUMBERTable());
}
public static TableDefinition buildADDRESSTable() {
TableDefinition table = new TableDefinition();
table.setName("NAT_ADDRESS");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("ADDRESS_ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);
FieldDefinition fieldSTREET = new FieldDefinition();
fieldSTREET.setName("STREET");
fieldSTREET.setTypeName("VARCHAR2");
fieldSTREET.setSize(60);
fieldSTREET.setSubSize(0);
fieldSTREET.setIsPrimaryKey(false);
fieldSTREET.setIsIdentity(false);
fieldSTREET.setUnique(false);
fieldSTREET.setShouldAllowNull(true);
table.addField(fieldSTREET);
FieldDefinition fieldCITY = new FieldDefinition();
fieldCITY.setName("CITY");
fieldCITY.setTypeName("VARCHAR2");
fieldCITY.setSize(60);
fieldCITY.setSubSize(0);
fieldCITY.setIsPrimaryKey(false);
fieldCITY.setIsIdentity(false);
fieldCITY.setUnique(false);
fieldCITY.setShouldAllowNull(true);
table.addField(fieldCITY);
FieldDefinition fieldPROVINCE = new FieldDefinition();
fieldPROVINCE.setName("PROVINCE");
fieldPROVINCE.setTypeName("VARCHAR2");
fieldPROVINCE.setSize(60);
fieldPROVINCE.setSubSize(0);
fieldPROVINCE.setIsPrimaryKey(false);
fieldPROVINCE.setIsIdentity(false);
fieldPROVINCE.setUnique(false);
fieldPROVINCE.setShouldAllowNull(true);
table.addField(fieldPROVINCE);
FieldDefinition fieldPOSTALCODE = new FieldDefinition();
fieldPOSTALCODE.setName("P_CODE");
fieldPOSTALCODE.setTypeName("VARCHAR2");
fieldPOSTALCODE.setSize(67);
fieldPOSTALCODE.setSubSize(0);
fieldPOSTALCODE.setIsPrimaryKey(false);
fieldPOSTALCODE.setIsIdentity(false);
fieldPOSTALCODE.setUnique(false);
fieldPOSTALCODE.setShouldAllowNull(true);
table.addField(fieldPOSTALCODE);
FieldDefinition fieldCOUNTRY = new FieldDefinition();
fieldCOUNTRY.setName("COUNTRY");
fieldCOUNTRY.setTypeName("VARCHAR2");
fieldCOUNTRY.setSize(60);
fieldCOUNTRY.setSubSize(0);
fieldCOUNTRY.setIsPrimaryKey(false);
fieldCOUNTRY.setIsIdentity(false);
fieldCOUNTRY.setUnique(false);
fieldCOUNTRY.setShouldAllowNull(true);
table.addField(fieldCOUNTRY);
return table;
}
public static TableDefinition buildDEPTTable() {
TableDefinition table = new TableDefinition();
table.setName("NAT_DEPT");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);
FieldDefinition fieldNAME = new FieldDefinition();
fieldNAME.setName("NAME");
fieldNAME.setTypeName("VARCHAR2");
fieldNAME.setSize(60);
fieldNAME.setSubSize(0);
fieldNAME.setIsPrimaryKey(false);
fieldNAME.setIsIdentity(false);
fieldNAME.setUnique(false);
fieldNAME.setShouldAllowNull(true);
table.addField(fieldNAME);
return table;
}
public static TableDefinition buildDEPT_EMPTable() {
TableDefinition table = new TableDefinition();
table.setName("NAT_DEPT_NAT_EMPLOYEE");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("DEPARTMENT_ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setShouldAllowNull(false);
fieldID.setIsPrimaryKey(true);
fieldID.setUnique(false);
fieldID.setIsIdentity(false);
fieldID.setForeignKeyFieldName("NAT_DEPT.ID");
table.addField(fieldID);
FieldDefinition fieldEMP = new FieldDefinition();
fieldEMP.setName("MANAGERS_EMP_ID");
fieldEMP.setTypeName("NUMERIC");
fieldEMP.setSize(15);
fieldEMP.setShouldAllowNull(false);
fieldEMP.setIsPrimaryKey(true);
fieldEMP.setUnique(false);
fieldEMP.setIsIdentity(false);
fieldEMP.setForeignKeyFieldName("NAT_EMPLOYEE.EMP_ID");
table.addField(fieldEMP);
return table;
}
public static TableDefinition buildEMPLOYEETable() {
TableDefinition table = new TableDefinition();
table.setName("NAT_EMPLOYEE");
FieldDefinition field = new FieldDefinition();
field.setName("EMP_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false);
field.setIsPrimaryKey(true);
field.setUnique(false);
field.setIsIdentity(true);
table.addField(field);
FieldDefinition field1 = new FieldDefinition();
field1.setName("F_NAME");
field1.setTypeName("VARCHAR");
field1.setSize(40);
field1.setShouldAllowNull(true);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("L_NAME");
field2.setTypeName("VARCHAR");
field2.setSize(40);
field2.setShouldAllowNull(true);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
table.addField(field2);
FieldDefinition fieldGender = new FieldDefinition();
fieldGender.setName("GENDER");
fieldGender.setTypeName("VARCHAR");
fieldGender.setSize(1);
fieldGender.setShouldAllowNull(true);
fieldGender.setIsPrimaryKey(false);
fieldGender.setUnique(false);
fieldGender.setIsIdentity(false);
table.addField(fieldGender);
FieldDefinition field3 = new FieldDefinition();
field3.setName("START_DATE");
field3.setTypeName("DATE");
field3.setSize(23);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
FieldDefinition field4 = new FieldDefinition();
field4.setName("END_DATE");
field4.setTypeName("DATE");
field4.setSize(23);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
FieldDefinition field8 = new FieldDefinition();
field8.setName("ADDR_ID");
field8.setTypeName("NUMERIC");
field8.setSize(15);
field8.setShouldAllowNull(true);
field8.setIsPrimaryKey(false);
field8.setUnique(false);
field8.setIsIdentity(false);
field8.setForeignKeyFieldName("NAT_ADDRESS.ADDRESS_ID");
table.addField(field8);
FieldDefinition field9 = new FieldDefinition();
field9.setName("MANAGER_EMP_ID");
field9.setTypeName("NUMERIC");
field9.setSize(15);
field9.setShouldAllowNull(true);
field9.setIsPrimaryKey(false);
field9.setUnique(false);
field9.setIsIdentity(false);
field9.setForeignKeyFieldName("NAT_EMPLOYEE.EMP_ID");
table.addField(field9);
FieldDefinition field10 = new FieldDefinition();
field10.setName("VERSION");
field10.setTypeName("NUMERIC");
field10.setSize(15);
field10.setShouldAllowNull(true);
field10.setIsPrimaryKey(false);
field10.setUnique(false);
field10.setIsIdentity(false);
table.addField(field10);
FieldDefinition fieldDEPT = new FieldDefinition();
fieldDEPT.setName("DEPT_ID");
fieldDEPT.setTypeName("NUMERIC");
fieldDEPT.setSize(15);
fieldDEPT.setShouldAllowNull(true);
fieldDEPT.setIsPrimaryKey(false);
fieldDEPT.setUnique(false);
fieldDEPT.setIsIdentity(false);
fieldDEPT.setForeignKeyFieldName("NAT_DEPT.ID");
table.addField(fieldDEPT);
FieldDefinition fieldStatus = new FieldDefinition();
fieldStatus.setName("STATUS");
fieldStatus.setTypeName("NUMERIC");
fieldStatus.setSize(15);
fieldStatus.setIsPrimaryKey(false);
fieldStatus.setUnique(false);
fieldStatus.setIsIdentity(false);
fieldStatus.setShouldAllowNull(true);
table.addField(fieldStatus);
FieldDefinition fieldPayScale = new FieldDefinition();
fieldPayScale.setName("PAY_SCALE");
fieldPayScale.setTypeName("VARCHAR");
fieldPayScale.setSize(40);
fieldPayScale.setIsPrimaryKey(false);
fieldPayScale.setUnique(false);
fieldPayScale.setIsIdentity(false);
fieldPayScale.setShouldAllowNull(true);
table.addField(fieldPayScale);
FieldDefinition fieldRoomNumber = new FieldDefinition();
fieldRoomNumber.setName("ROOM_NUM");
fieldRoomNumber.setTypeName("NUMBER");
fieldRoomNumber.setSize(15);
fieldRoomNumber.setSubSize(0);
fieldRoomNumber.setIsPrimaryKey(false);
fieldRoomNumber.setIsIdentity(false);
fieldRoomNumber.setUnique(false);
fieldRoomNumber.setShouldAllowNull(true);
table.addField(fieldRoomNumber);
// SECTION: FIELD
FieldDefinition fieldFormerCompany = new FieldDefinition();
fieldFormerCompany.setName("FORMER_COMPANY");
fieldFormerCompany.setTypeName("VARCHAR");
fieldFormerCompany.setSize(40);
fieldFormerCompany.setShouldAllowNull(true );
fieldFormerCompany.setIsPrimaryKey(false );
fieldFormerCompany.setUnique(false );
fieldFormerCompany.setIsIdentity(false );
table.addField(fieldFormerCompany);
// SECTION: FIELD
FieldDefinition fieldFormerStartDate = new FieldDefinition();
fieldFormerStartDate.setName("FORMER_START_DATE");
fieldFormerStartDate.setTypeName("DATE");
fieldFormerStartDate.setSize(23);
fieldFormerStartDate.setShouldAllowNull(true );
fieldFormerStartDate.setIsPrimaryKey(false );
fieldFormerStartDate.setUnique(false );
fieldFormerStartDate.setIsIdentity(false );
table.addField(fieldFormerStartDate);
// SECTION: FIELD
FieldDefinition fieldFormerEndDate = new FieldDefinition();
fieldFormerEndDate.setName("FORMER_END_DATE");
fieldFormerEndDate.setTypeName("DATE");
fieldFormerEndDate.setSize(23);
fieldFormerEndDate.setShouldAllowNull(true );
fieldFormerEndDate.setIsPrimaryKey(false );
fieldFormerEndDate.setUnique(false );
fieldFormerEndDate.setIsIdentity(false );
table.addField(fieldFormerEndDate);
return table;
}
public static TableDefinition buildPHONENUMBERTable() {
TableDefinition table = new TableDefinition();
table.setName("NAT_PHONENUMBER");
// SECTION: FIELD
FieldDefinition field = new FieldDefinition();
field.setName("OWNER_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false );
field.setIsPrimaryKey(true );
field.setUnique(false );
field.setIsIdentity(false );
field.setForeignKeyFieldName("NAT_EMPLOYEE.EMP_ID");
table.addField(field);
// SECTION: FIELD
FieldDefinition field1 = new FieldDefinition();
field1.setName("TYPE");
field1.setTypeName("VARCHAR");
field1.setSize(15);
field1.setShouldAllowNull(false );
field1.setIsPrimaryKey(true );
field1.setUnique(false );
field1.setIsIdentity(false );
table.addField(field1);
// SECTION: FIELD
FieldDefinition field2 = new FieldDefinition();
field2.setName("AREA_CODE");
field2.setTypeName("VARCHAR");
field2.setSize(3);
field2.setShouldAllowNull(true );
field2.setIsPrimaryKey(false );
field2.setUnique(false );
field2.setIsIdentity(false );
table.addField(field2);
// SECTION: FIELD
FieldDefinition field3 = new FieldDefinition();
field3.setName("NUMB");
field3.setTypeName("VARCHAR");
field3.setSize(8);
field3.setShouldAllowNull(true );
field3.setIsPrimaryKey(false );
field3.setUnique(false );
field3.setIsIdentity(false );
table.addField(field3);
return table;
}
}