| /* |
| * 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.advanced.compositepk; |
| |
| import org.eclipse.persistence.tools.schemaframework.*; |
| |
| public class CompositePKTableCreator extends TableCreator { |
| public CompositePKTableCreator() { |
| setName("EJB3CompositePKProject"); |
| |
| addTableDefinition(buildADMIN_CONTRACTTable()); |
| addTableDefinition(buildADMINTable()); |
| addTableDefinition(buildSCIENTISTTable()); |
| addTableDefinition(buildDEPARTMENTTable()); |
| addTableDefinition(buildDEPT_ADMINTable()); |
| addTableDefinition(buildCUBICLETable()); |
| } |
| |
| public static TableDefinition buildADMINTable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("CMP3_XML_ADMIN"); |
| |
| 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(true); |
| table.addField(field); |
| |
| FieldDefinition field1 = new FieldDefinition(); |
| field1.setName("CONTRACT_COMPANY"); |
| field1.setTypeName("VARCHAR"); |
| field1.setSize(40); |
| field1.setShouldAllowNull(true); |
| field1.setIsPrimaryKey(false); |
| field1.setUnique(false); |
| field1.setIsIdentity(false); |
| table.addField(field1); |
| |
| FieldDefinition fieldVERSION = new FieldDefinition(); |
| fieldVERSION.setName("VERSION"); |
| fieldVERSION.setTypeName("NUMERIC"); |
| fieldVERSION.setSize(15); |
| fieldVERSION.setShouldAllowNull(true); |
| fieldVERSION.setIsPrimaryKey(false); |
| fieldVERSION.setUnique(false); |
| fieldVERSION.setIsIdentity(false); |
| table.addField(fieldVERSION); |
| |
| return table; |
| } |
| |
| public static TableDefinition buildADMIN_CONTRACTTable(){ |
| TableDefinition table = new TableDefinition(); |
| table.setName("CMP3_XML_ADMIN_CONTRACT"); |
| |
| 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(true); |
| table.addField(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); |
| |
| return table; |
| } |
| |
| public static TableDefinition buildSCIENTISTTable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("CMP3_XML_SCIENTIST"); |
| |
| FieldDefinition ID_NUMBER_field = new FieldDefinition(); |
| ID_NUMBER_field.setName("ID_NUMBER"); |
| ID_NUMBER_field.setTypeName("NUMERIC"); |
| ID_NUMBER_field.setSize(15); |
| ID_NUMBER_field.setShouldAllowNull(false); |
| ID_NUMBER_field.setIsPrimaryKey(true); |
| ID_NUMBER_field.setUnique(false); |
| ID_NUMBER_field.setIsIdentity(true); |
| table.addField(ID_NUMBER_field); |
| |
| FieldDefinition F_NAME_field = new FieldDefinition(); |
| F_NAME_field.setName("F_NAME"); |
| F_NAME_field.setTypeName("VARCHAR"); |
| F_NAME_field.setSize(40); |
| F_NAME_field.setShouldAllowNull(false); |
| F_NAME_field.setIsPrimaryKey(true); |
| F_NAME_field.setUnique(false); |
| F_NAME_field.setIsIdentity(true); |
| table.addField(F_NAME_field); |
| |
| FieldDefinition L_NAME_Field = new FieldDefinition(); |
| L_NAME_Field.setName("L_NAME"); |
| L_NAME_Field.setTypeName("VARCHAR"); |
| L_NAME_Field.setSize(40); |
| L_NAME_Field.setShouldAllowNull(false); |
| L_NAME_Field.setIsPrimaryKey(true); |
| L_NAME_Field.setUnique(false); |
| L_NAME_Field.setIsIdentity(true); |
| table.addField(L_NAME_Field); |
| |
| FieldDefinition CUBE_ID_field = new FieldDefinition(); |
| CUBE_ID_field.setName("CUBE_ID"); |
| CUBE_ID_field.setTypeName("NUMERIC"); |
| CUBE_ID_field.setSize(15); |
| CUBE_ID_field.setShouldAllowNull(true); |
| CUBE_ID_field.setIsPrimaryKey(false); |
| CUBE_ID_field.setUnique(false); |
| CUBE_ID_field.setIsIdentity(false); |
| table.addField(CUBE_ID_field); |
| |
| FieldDefinition CUBE_CODE_field = new FieldDefinition(); |
| CUBE_CODE_field.setName("CUBE_CODE"); |
| CUBE_CODE_field.setTypeName("VARCHAR"); |
| CUBE_CODE_field.setSize(1); |
| CUBE_CODE_field.setShouldAllowNull(true); |
| CUBE_CODE_field.setIsPrimaryKey(false); |
| CUBE_CODE_field.setUnique(false); |
| CUBE_CODE_field.setIsIdentity(false); |
| table.addField(CUBE_CODE_field); |
| |
| FieldDefinition DEPT_NAME_field = new FieldDefinition(); |
| DEPT_NAME_field.setName("DEPT_NAME"); |
| DEPT_NAME_field.setTypeName("VARCHAR"); |
| DEPT_NAME_field.setSize(40); |
| DEPT_NAME_field.setShouldAllowNull(true); |
| DEPT_NAME_field.setIsPrimaryKey(false); |
| DEPT_NAME_field.setUnique(false); |
| DEPT_NAME_field.setIsIdentity(false); |
| table.addField(DEPT_NAME_field); |
| |
| FieldDefinition DEPT_ROLE_field = new FieldDefinition(); |
| DEPT_ROLE_field.setName("DEPT_ROLE"); |
| DEPT_ROLE_field.setTypeName("VARCHAR"); |
| DEPT_ROLE_field.setSize(40); |
| DEPT_ROLE_field.setShouldAllowNull(true); |
| DEPT_ROLE_field.setIsPrimaryKey(false); |
| DEPT_ROLE_field.setUnique(false); |
| DEPT_ROLE_field.setIsIdentity(false); |
| table.addField(DEPT_ROLE_field); |
| |
| FieldDefinition DEPT_LOCATION_field = new FieldDefinition(); |
| DEPT_LOCATION_field.setName("DEPT_LOCATION"); |
| DEPT_LOCATION_field.setTypeName("VARCHAR"); |
| DEPT_LOCATION_field.setSize(40); |
| DEPT_LOCATION_field.setShouldAllowNull(true); |
| DEPT_LOCATION_field.setIsPrimaryKey(false); |
| DEPT_LOCATION_field.setUnique(false); |
| DEPT_LOCATION_field.setIsIdentity(false); |
| table.addField(DEPT_LOCATION_field); |
| |
| FieldDefinition fieldDTYPE = new FieldDefinition(); |
| fieldDTYPE.setName("DTYPE"); |
| fieldDTYPE.setTypeName("VARCHAR2"); |
| fieldDTYPE.setSize(20); |
| fieldDTYPE.setSubSize(0); |
| fieldDTYPE.setIsPrimaryKey(false); |
| fieldDTYPE.setIsIdentity(false); |
| fieldDTYPE.setUnique(false); |
| fieldDTYPE.setShouldAllowNull(true); |
| table.addField(fieldDTYPE); |
| |
| ForeignKeyConstraint fkConstraint1 = new ForeignKeyConstraint(); |
| fkConstraint1.setName("XML_SC_CUB"); |
| fkConstraint1.addSourceField("CUBE_ID"); |
| fkConstraint1.addSourceField("CUBE_CODE"); |
| fkConstraint1.setTargetTable("CMP3_XML_CUBICLE"); |
| fkConstraint1.addTargetField("ID"); |
| fkConstraint1.addTargetField("CODE"); |
| table.addForeignKeyConstraint(fkConstraint1); |
| |
| ForeignKeyConstraint fkConstraint2 = new ForeignKeyConstraint(); |
| fkConstraint2.setName("CMP3_XML_SC_DEPT"); |
| fkConstraint2.addSourceField("DEPT_NAME"); |
| fkConstraint2.addSourceField("DEPT_ROLE"); |
| fkConstraint2.addSourceField("DEPT_LOCATION"); |
| fkConstraint2.setTargetTable("CMP3_XML_DEPARTMENT"); |
| fkConstraint2.addTargetField("NAME"); |
| fkConstraint2.addTargetField("DEPT_ROLE"); |
| fkConstraint2.addTargetField("LOCATION"); |
| table.addForeignKeyConstraint(fkConstraint2); |
| |
| return table; |
| } |
| |
| public static TableDefinition buildDEPT_ADMINTable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("CMP3_XML_DEPT_ADMIN"); |
| |
| // SECTION: FIELD |
| FieldDefinition fieldName = new FieldDefinition(); |
| fieldName.setName("DEPT_NAME"); |
| fieldName.setTypeName("VARCHAR"); |
| fieldName.setSize(40); |
| fieldName.setShouldAllowNull(false); |
| fieldName.setIsPrimaryKey(true); |
| fieldName.setUnique(false); |
| fieldName.setIsIdentity(false); |
| //fieldName.setForeignKeyFieldName("CMP3_XML_DEPARTMENT.NAME"); |
| table.addField(fieldName); |
| |
| FieldDefinition ROLE_field = new FieldDefinition(); |
| ROLE_field.setName("DEPT_ROLE"); |
| ROLE_field.setTypeName("VARCHAR"); |
| ROLE_field.setSize(40); |
| ROLE_field.setShouldAllowNull(false); |
| ROLE_field.setIsPrimaryKey(true); |
| ROLE_field.setUnique(false); |
| ROLE_field.setIsIdentity(false); |
| //ROLE_field.setForeignKeyFieldName("CMP3_XML_DEPARTMENT.ROLE"); |
| table.addField(ROLE_field); |
| |
| FieldDefinition LOCATION_field = new FieldDefinition(); |
| LOCATION_field.setName("DEPT_LOCATION"); |
| LOCATION_field.setTypeName("VARCHAR"); |
| LOCATION_field.setSize(40); |
| LOCATION_field.setShouldAllowNull(false); |
| LOCATION_field.setIsPrimaryKey(true); |
| LOCATION_field.setUnique(false); |
| LOCATION_field.setIsIdentity(false); |
| //LOCATION_field.setForeignKeyFieldName("CMP3_XML_DEPARTMENT.LOCATION"); |
| table.addField(LOCATION_field); |
| |
| // SECTION: FIELD |
| FieldDefinition fieldEMP = new FieldDefinition(); |
| fieldEMP.setName("ADMIN_EMPLOYEE_EMP_ID"); |
| fieldEMP.setTypeName("NUMERIC"); |
| fieldEMP.setSize(15); |
| fieldEMP.setShouldAllowNull(true); |
| fieldEMP.setIsPrimaryKey(true); |
| fieldEMP.setUnique(false); |
| fieldEMP.setIsIdentity(false); |
| //fieldEMP.setForeignKeyFieldName("CMP3_XML_EMPLOYEE.EMP_ID"); |
| table.addField(fieldEMP); |
| |
| return table; |
| } |
| |
| public static TableDefinition buildDEPARTMENTTable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("CMP3_XML_DEPARTMENT"); |
| |
| FieldDefinition NAME_field = new FieldDefinition(); |
| NAME_field.setName("NAME"); |
| NAME_field.setTypeName("VARCHAR"); |
| NAME_field.setSize(40); |
| NAME_field.setShouldAllowNull(false); |
| NAME_field.setIsPrimaryKey(true); |
| NAME_field.setUnique(false); |
| NAME_field.setIsIdentity(true); |
| table.addField(NAME_field); |
| |
| FieldDefinition ROLE_field = new FieldDefinition(); |
| ROLE_field.setName("DEPT_ROLE"); |
| ROLE_field.setTypeName("VARCHAR"); |
| ROLE_field.setSize(40); |
| ROLE_field.setShouldAllowNull(false); |
| ROLE_field.setIsPrimaryKey(true); |
| ROLE_field.setUnique(false); |
| ROLE_field.setIsIdentity(true); |
| table.addField(ROLE_field); |
| |
| FieldDefinition LOCATION_field = new FieldDefinition(); |
| LOCATION_field.setName("LOCATION"); |
| LOCATION_field.setTypeName("VARCHAR"); |
| LOCATION_field.setSize(40); |
| LOCATION_field.setShouldAllowNull(false); |
| LOCATION_field.setIsPrimaryKey(true); |
| LOCATION_field.setUnique(false); |
| LOCATION_field.setIsIdentity(true); |
| table.addField(LOCATION_field); |
| |
| return table; |
| } |
| |
| public static TableDefinition buildCUBICLETable() { |
| TableDefinition table = new TableDefinition(); |
| table.setName("CMP3_XML_CUBICLE"); |
| |
| FieldDefinition ID_field = new FieldDefinition(); |
| ID_field.setName("ID"); |
| ID_field.setTypeName("NUMERIC"); |
| ID_field.setSize(15); |
| ID_field.setShouldAllowNull(false); |
| ID_field.setIsPrimaryKey(true); |
| ID_field.setUnique(false); |
| ID_field.setIsIdentity(true); |
| table.addField(ID_field); |
| |
| FieldDefinition CODE_field = new FieldDefinition(); |
| CODE_field.setName("CODE"); |
| CODE_field.setTypeName("VARCHAR"); |
| CODE_field.setSize(1); |
| CODE_field.setShouldAllowNull(false); |
| CODE_field.setIsPrimaryKey(true); |
| CODE_field.setUnique(false); |
| CODE_field.setIsIdentity(true); |
| table.addField(CODE_field); |
| |
| return table; |
| } |
| } |