blob: ef26d27dfd4f7ce929e641c927ab9a28d5f00823 [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.jpa.xml.relationships.unidirectional;
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(buildEMP_PHONETable());
addTableDefinition(buildLARGEPROJECTTable());
addTableDefinition(buildPHONENUMBERTable());
addTableDefinition(buildPROJECTTable());
addTableDefinition(buildPROJECT_EMPTable());
addTableDefinition(buildSALARYTable());
}
public static TableDefinition buildADDRESSTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_XML_UNI_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_UNI_EMPLOYEE");
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field = new org.eclipse.persistence.tools.schemaframework.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
org.eclipse.persistence.tools.schemaframework.FieldDefinition field1 = new org.eclipse.persistence.tools.schemaframework.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
org.eclipse.persistence.tools.schemaframework.FieldDefinition field2 = new org.eclipse.persistence.tools.schemaframework.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
org.eclipse.persistence.tools.schemaframework.FieldDefinition field3 = new org.eclipse.persistence.tools.schemaframework.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
org.eclipse.persistence.tools.schemaframework.FieldDefinition field4 = new org.eclipse.persistence.tools.schemaframework.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
org.eclipse.persistence.tools.schemaframework.FieldDefinition field8 = new org.eclipse.persistence.tools.schemaframework.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_UNI_ADDRESS.ADDRESS_ID");
table.addField(field8);
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field9 = new org.eclipse.persistence.tools.schemaframework.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_UNI_EMPLOYEE.EMP_ID");
table.addField(field9);
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field10 = new org.eclipse.persistence.tools.schemaframework.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);
return table;
}
public static TableDefinition buildEMPLOYEE_SEQTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_XML_UNI_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 buildEMP_PHONETable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_XML_UNI_EMP_PHONE");
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field = new org.eclipse.persistence.tools.schemaframework.FieldDefinition();
field.setName("EMP_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false );
field.setIsPrimaryKey(true );
field.setUnique(false );
field.setIsIdentity(false );
field.setForeignKeyFieldName("CMP3_XML_UNI_EMPLOYEE.EMP_ID");
table.addField(field);
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field1 = new org.eclipse.persistence.tools.schemaframework.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_UNI_PHONENUMBER.PHONE_ID");
table.addField(field1);
return table;
}
public static TableDefinition buildLARGEPROJECTTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_XML_UNI_LPROJECT");
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field = new org.eclipse.persistence.tools.schemaframework.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_UNI_PROJECT.PROJ_ID");
table.addField(field);
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field1 = new org.eclipse.persistence.tools.schemaframework.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_UNI_PHONENUMBER");
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field = new org.eclipse.persistence.tools.schemaframework.FieldDefinition();
field.setName("PHONE_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false );
field.setIsPrimaryKey(true );
field.setUnique(false );
field.setIsIdentity(false );
table.addField(field);
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field1 = new org.eclipse.persistence.tools.schemaframework.FieldDefinition();
field1.setName("TYPE");
field1.setTypeName("VARCHAR");
field1.setSize(15);
field1.setShouldAllowNull(false );
field1.setIsPrimaryKey(false);
field1.setUnique(false );
field1.setIsIdentity(false );
table.addField(field1);
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field2 = new org.eclipse.persistence.tools.schemaframework.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
org.eclipse.persistence.tools.schemaframework.FieldDefinition field3 = new org.eclipse.persistence.tools.schemaframework.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_UNI_PROJECT");
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field = new org.eclipse.persistence.tools.schemaframework.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
org.eclipse.persistence.tools.schemaframework.FieldDefinition field1 = new org.eclipse.persistence.tools.schemaframework.FieldDefinition();
field1.setName("PROJ_TYPE");
field1.setTypeName("VARCHAR");
field1.setSize(1);
field1.setShouldAllowNull(true );
field1.setIsPrimaryKey(false );
field1.setUnique(false );
field1.setIsIdentity(false );
table.addField(field1);
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field2 = new org.eclipse.persistence.tools.schemaframework.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
org.eclipse.persistence.tools.schemaframework.FieldDefinition field3 = new org.eclipse.persistence.tools.schemaframework.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
org.eclipse.persistence.tools.schemaframework.FieldDefinition field4 = new org.eclipse.persistence.tools.schemaframework.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_UNI_EMPLOYEE.EMP_ID");
table.addField(field4);
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field5 = new org.eclipse.persistence.tools.schemaframework.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 buildPROJECT_EMPTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_XML_UNI_PROJ_EMP");
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field = new org.eclipse.persistence.tools.schemaframework.FieldDefinition();
field.setName("EMP_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false );
field.setIsPrimaryKey(true );
field.setUnique(false );
field.setIsIdentity(false );
field.setForeignKeyFieldName("CMP3_XML_UNI_EMPLOYEE.EMP_ID");
table.addField(field);
// SECTION: FIELD
org.eclipse.persistence.tools.schemaframework.FieldDefinition field1 = new org.eclipse.persistence.tools.schemaframework.FieldDefinition();
field1.setName("PROJ_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false );
field1.setIsPrimaryKey(true );
field1.setUnique(false );
field1.setIsIdentity(false );
field1.setForeignKeyFieldName("CMP3_XML_UNI_PROJECT.PROJ_ID");
table.addField(field1);
return table;
}
public static TableDefinition buildSALARYTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_XML_UNI_SALARY");
FieldDefinition fieldEMP_ID = new FieldDefinition();
fieldEMP_ID.setName("EMP_ID");
fieldEMP_ID.setTypeName("NUMERIC");
fieldEMP_ID.setSize(15);
fieldEMP_ID.setSubSize(0);
fieldEMP_ID.setIsPrimaryKey(true);
fieldEMP_ID.setIsIdentity(false);
fieldEMP_ID.setUnique(false);
fieldEMP_ID.setShouldAllowNull(false);
fieldEMP_ID.setForeignKeyFieldName("CMP3_XML_UNI_EMPLOYEE.EMP_ID");
table.addField(fieldEMP_ID);
FieldDefinition fieldSALARY = new FieldDefinition();
fieldSALARY.setName("SALARY");
fieldSALARY.setTypeName("NUMBER");
fieldSALARY.setSize(15);
fieldSALARY.setSubSize(0);
fieldSALARY.setIsPrimaryKey(false);
fieldSALARY.setIsIdentity(false);
fieldSALARY.setUnique(false);
fieldSALARY.setShouldAllowNull(true);
table.addField(fieldSALARY);
return table;
}
}