/******************************************************************************* * 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.jpa.xml.merge.incompletemappings.owning; import org.eclipse.persistence.tools.schemaframework.*; public class AdvancedTableCreator extends org.eclipse.persistence.tools.schemaframework.TableCreator { public AdvancedTableCreator() { setName("EJB3EmployeeProject"); addTableDefinition(buildADDRESSTable()); addTableDefinition(buildEMPLOYEETable()); addTableDefinition(buildLARGEPROJECTTable()); addTableDefinition(buildPHONENUMBERTable()); addTableDefinition(buildPROJECTTable()); //addTableDefinition(buildEMP_PHONENUMBERTable()); addTableDefinition(buildPROJECT_EMPTable()); addTableDefinition(buildSECURITYBADGETable()); } public static TableDefinition buildADDRESSTable() { TableDefinition table = new TableDefinition(); table.setName("CMP3_XML_MERGE_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 buildEMPLOYEETable() { TableDefinition table = new TableDefinition(); // SECTION: TABLE table.setName("CMP3_XML_MERGE_EMPLOYEE"); // SECTION: FIELD 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); // SECTION: 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); // SECTION: FIELD 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); // SECTION: FIELD 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); // SECTION: FIELD 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); // SECTION: FIELD 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("CMP3_XML_MERGE_ADDRESS.ADDRESS_ID"); table.addField(field8); // SECTION: FIELD 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("CMP3_XML_MERGE_EMPLOYEE.EMP_ID"); table.addField(field9); // SECTION: FIELD 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); // SECTION: FIELD FieldDefinition field11 = new FieldDefinition(); field11.setName("SECURITYBADGE_BADGE_ID"); field11.setTypeName("NUMERIC"); field11.setSize(15); field11.setShouldAllowNull(true ); field11.setIsPrimaryKey(false ); field11.setUnique(false ); field11.setIsIdentity(false ); field11.setForeignKeyFieldName("CMP3_XML_MERGE_SECURITYBADGE.BADGE_ID"); table.addField(field11); return table; } public static TableDefinition buildEMPLOYEE_SEQTable() { TableDefinition table = new TableDefinition(); table.setName("CMP3_XML_MERGE_EMPLOYEE_SEQ"); FieldDefinition fieldSEQ_COUNT = new FieldDefinition(); fieldSEQ_COUNT.setName("SEQ_COUNT"); fieldSEQ_COUNT.setTypeName("NUMBER"); fieldSEQ_COUNT.setSize(15); fieldSEQ_COUNT.setSubSize(0); fieldSEQ_COUNT.setIsPrimaryKey(false); fieldSEQ_COUNT.setIsIdentity(false); fieldSEQ_COUNT.setUnique(false); fieldSEQ_COUNT.setShouldAllowNull(false); table.addField(fieldSEQ_COUNT); FieldDefinition fieldSEQ_NAME = new FieldDefinition(); fieldSEQ_NAME.setName("SEQ_NAME"); fieldSEQ_NAME.setTypeName("VARCHAR2"); fieldSEQ_NAME.setSize(80); fieldSEQ_NAME.setSubSize(0); fieldSEQ_NAME.setIsPrimaryKey(true); fieldSEQ_NAME.setIsIdentity(false); fieldSEQ_NAME.setUnique(false); fieldSEQ_NAME.setShouldAllowNull(false); table.addField(fieldSEQ_NAME); return table; } public static TableDefinition buildLARGEPROJECTTable() { TableDefinition table = new TableDefinition(); table.setName("CMP3_XML_MERGE_LPROJECT"); // SECTION: FIELD FieldDefinition field = new FieldDefinition(); field.setName("PROJ_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false ); field.setIsPrimaryKey(true ); field.setUnique(false ); field.setIsIdentity(false ); field.setForeignKeyFieldName("CMP3_XML_MERGE_PROJECT.PROJ_ID"); table.addField(field); // SECTION: FIELD FieldDefinition field1 = new FieldDefinition(); field1.setName("BUDGET"); field1.setTypeName("DOUBLE PRECIS"); field1.setSize(18); field1.setShouldAllowNull(true ); field1.setIsPrimaryKey(false ); field1.setUnique(false ); field1.setIsIdentity(false ); table.addField(field1); return table; } public static TableDefinition buildPHONENUMBERTable() { TableDefinition table = new TableDefinition(); table.setName("CMP3_XML_MERGE_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("CMP3_XML_MERGE_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; } public static TableDefinition buildPROJECTTable() { TableDefinition table = new TableDefinition(); table.setName("CMP3_XML_MERGE_PROJECT"); // SECTION: FIELD FieldDefinition field = new FieldDefinition(); field.setName("PROJ_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false ); field.setIsPrimaryKey(true ); field.setUnique(false ); field.setIsIdentity(true ); table.addField(field); // SECTION: FIELD FieldDefinition field1 = new FieldDefinition(); field1.setName("PROJ_TYPE"); field1.setTypeName("NUMERIC"); field1.setSize(10); field1.setShouldAllowNull(true ); field1.setIsPrimaryKey(false ); field1.setUnique(false ); field1.setIsIdentity(false ); table.addField(field1); // SECTION: FIELD FieldDefinition field2 = new FieldDefinition(); field2.setName("PROJ_NAME"); field2.setTypeName("VARCHAR"); field2.setSize(30); field2.setShouldAllowNull(true ); field2.setIsPrimaryKey(false ); field2.setUnique(false ); field2.setIsIdentity(false ); table.addField(field2); // SECTION: FIELD FieldDefinition field3 = new FieldDefinition(); field3.setName("DESCRIP"); field3.setTypeName("VARCHAR"); field3.setSize(200); field3.setShouldAllowNull(true ); field3.setIsPrimaryKey(false ); field3.setUnique(false ); field3.setIsIdentity(false ); table.addField(field3); // SECTION: FIELD FieldDefinition field4 = new FieldDefinition(); field4.setName("LEADER_ID"); field4.setTypeName("NUMERIC"); field4.setSize(15); field4.setShouldAllowNull(true ); field4.setIsPrimaryKey(false ); field4.setUnique(false ); field4.setIsIdentity(false ); field4.setForeignKeyFieldName("CMP3_XML_MERGE_EMPLOYEE.EMP_ID"); table.addField(field4); // SECTION: FIELD FieldDefinition field5 = new FieldDefinition(); field5.setName("VERSION"); field5.setTypeName("NUMERIC"); field5.setSize(15); field5.setShouldAllowNull(true ); field5.setIsPrimaryKey(false ); field5.setUnique(false ); field5.setIsIdentity(false ); table.addField(field5); return table; } public static TableDefinition buildEMP_PHONENUMBERTable() { TableDefinition table = new TableDefinition(); table.setName("CMP3_XML_MERGE_EMPLOYEE_CMP3_XML_MERGE_PHONENUMBER"); // SECTION: FIELD FieldDefinition field = new FieldDefinition(); field.setName("EMPLOYEE_EMP_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false ); field.setIsPrimaryKey(true ); field.setUnique(false ); field.setIsIdentity(false ); field.setForeignKeyFieldName("CMP3_XML_MERGE_EMPLOYEE.EMP_ID"); table.addField(field); // SECTION: FIELD FieldDefinition field1 = new FieldDefinition(); field1.setName("PHONE_ID"); field1.setTypeName("NUMERIC"); field1.setSize(15); field1.setShouldAllowNull(false ); field1.setIsPrimaryKey(true ); field1.setUnique(false ); field1.setIsIdentity(false ); field1.setForeignKeyFieldName("CMP3_XML_MERGE_PHONENUMBER.OWNER_ID"); table.addField(field1); // SECTION: FIELD FieldDefinition field2 = new FieldDefinition(); field2.setName("PHONE_TYPE"); field2.setTypeName("NUMERIC"); field2.setSize(15); field2.setShouldAllowNull(false ); field2.setIsPrimaryKey(true ); field2.setUnique(false ); field2.setIsIdentity(false ); field2.setForeignKeyFieldName("CMP3_XML_MERGE_PHONENUMBER.TYPE"); table.addField(field2); return table; } public static TableDefinition buildPROJECT_EMPTable() { TableDefinition table = new TableDefinition(); table.setName("CMP3_XML_MERGE_PROJ_EMP"); // SECTION: FIELD FieldDefinition field = new FieldDefinition(); field.setName("EMPLOYEES_EMP_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false ); field.setIsPrimaryKey(true ); field.setUnique(false ); field.setIsIdentity(false ); field.setForeignKeyFieldName("CMP3_XML_MERGE_EMPLOYEE.EMP_ID"); table.addField(field); // SECTION: FIELD FieldDefinition field1 = new FieldDefinition(); field1.setName("PROJECTS_PROJ_ID"); field1.setTypeName("NUMERIC"); field1.setSize(15); field1.setShouldAllowNull(false ); field1.setIsPrimaryKey(true ); field1.setUnique(false ); field1.setIsIdentity(false ); field1.setForeignKeyFieldName("CMP3_XML_MERGE_PROJECT.PROJ_ID"); table.addField(field1); return table; } public static TableDefinition buildSECURITYBADGETable() { TableDefinition table = new TableDefinition(); table.setName("CMP3_XML_MERGE_SECURITYBADGE"); FieldDefinition field = new FieldDefinition(); field.setName("BADGE_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false ); field.setIsPrimaryKey(true ); field.setUnique(false ); field.setIsIdentity(true ); table.addField(field); // SECTION: FIELD 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); // SECTION: FIELD FieldDefinition field3 = new FieldDefinition(); field3.setName("BADGENUMBER"); field3.setTypeName("NUMERIC"); field3.setSize(10); field3.setShouldAllowNull(true ); field3.setIsPrimaryKey(false ); field3.setUnique(false ); field3.setIsIdentity(false ); table.addField(field3); return table; } }