/******************************************************************************* * Copyright (c) 1998, 2015 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; } }