/******************************************************************************* | |
* Copyright (c) 1998, 2013 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 v1.0 and Eclipse Distribution License v. 1.0 | |
* which accompanies this distribution. | |
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html | |
* and the Eclipse Distribution License is available at | |
* http://www.eclipse.org/org/documents/edl-v10.php. | |
* | |
* 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; | |
} | |
} |