blob: b1e0850a899489a61785e2387a19fef2f551f01f [file] [log] [blame]
/*
* Copyright (c) 1998, 2021 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:
// 04/30/2009-2.0 Michael O'Brien
// - 266912: JPA 2.0 Metamodel API (part of Criteria API)
package org.eclipse.persistence.testing.tests.jpa.metamodel;
import org.eclipse.persistence.tools.schemaframework.FieldDefinition;
import org.eclipse.persistence.tools.schemaframework.TableCreator;
import org.eclipse.persistence.tools.schemaframework.TableDefinition;
public class MetamodelTableCreator extends TableCreator {
/**
*
* DDL schema cleanup order
DROP TABLE CMP3_MM_HIST_EMPLOY
DROP TABLE CMP3_MM_MANUF_MM_HWDES_MAP
DROP TABLE CMP3_MM_MANUF_MM_HWDES_MAPUC8
DROP TABLE CMP3_MM_MANUF_MM_HWDES_MAPUC7
DROP TABLE CMP3_MM_MANUF_MM_HWDES_MAPUC4
DROP TABLE CMP3_MM_MANUF_MM_HWDES_MAPUC2
DROP TABLE CMP3_MM_MANUF_MM_HWDES_MAPUC1A
DROP TABLE CMP3_MM_MANUF_MM_CORPCOMPUTER
DROP TABLE CMP3_MM_MANUF_MM_COMPUTER
DROP TABLE CMP3_MM_MANUF_MM_HWDESIGNER
DROP TABLE CMP3_MM_BOARD_MM_MEMORY
DROP TABLE CMP3_MM_BOARD_MM_PROC
DROP TABLE CMP3_MM_COMPUTER_MM_USER
DROP TABLE CMP3_MM_COMPUTER_MM_BOARD
DROP TABLE CMP3_MM_BOARD_SEQ
DROP TABLE CMP3_MM_PERSON_SEQ
DROP TABLE CMP3_MM_PROC_SEQ
DROP TABLE CMP3_MM_USER
DROP TABLE CMP3_MM_HWDESIGNER
DROP TABLE CMP3_MM_MEMORY
DROP TABLE CMP3_MM_PROC
DROP TABLE CMP3_MM_ARRAYPROC
DROP TABLE CMP3_MM_LOCATION
DROP TABLE CMP3_MM_GALACTIC
DROP TABLE CMP3_MM_BOARD
DROP TABLE CMP3_MM_SWDESIGNER
DROP TABLE CMP3_MM_MANUF
DROP TABLE CMP3_MM_ENCLOSURE
DROP TABLE CMP3_MM_COMPUTER
*/
public MetamodelTableCreator() {
setName("MetamodelProject");
addTableDefinition(buildENCLOSURETable());
addTableDefinition(buildMANUFACTURERTable());
addTableDefinition(buildHARDWAREDESIGNERTable());
addTableDefinition(buildSOFTWAREDESIGNERTable());
addTableDefinition(buildUSERTable());
addTableDefinition(buildCOMPUTERTable());
addTableDefinition(buildBOARDTable());
addTableDefinition(buildMEMORYTable());
addTableDefinition(buildPROCESSORTable());
//addTableDefinition(buildVECTORPROCESSORTable());
//addTableDefinition(buildARRAYPROCESSORTable());
//addTableDefinition(buildLOCATIONTable());
addTableDefinition(buildGALACTICPOSITIONTable());
// Test ms-ms-entity chain with idclass above id
addTableDefinition(buildMS_MS_Entity_Leaf_Table());
// Test idclass in inner class
addTableDefinition(buildWITHINNERPKTable());
// 1:n
addTableDefinition(buildMANUFACTURER_COMPUTER_JOINTable());
addTableDefinition(buildMANUFACTURER_CORPCOMPUTER_JOINTable());
addTableDefinition(buildMANUFACTURER_HARDWAREDESIGNER_JOINTable());
addTableDefinition(buildMANUFACTURER_HARDWAREDESIGNER_MAPUC1A_JOINTable());
addTableDefinition(buildMANUFACTURER_HARDWAREDESIGNER_MAPUC2_JOINTable());
addTableDefinition(buildMANUFACTURER_HARDWAREDESIGNER_MAPUC4_JOINTable());
addTableDefinition(buildMANUFACTURER_HARDWAREDESIGNER_MAPUC7_JOINTable());
addTableDefinition(buildMANUFACTURER_HARDWAREDESIGNER_MAPUC8_JOINTable());
//addTableDefinition(buildMANUFACTURER_ENCLOSURE_MAPUC9_JOINTable());
addTableDefinition(buildMANUFACTURER_HARDWAREDESIGNER_HISTORICAL_JOINTable());
addTableDefinition(buildBOARD_MEMORY_JOINTable());
addTableDefinition(buildBOARD_PROCESSOR_JOINTable());
addTableDefinition(buildCOMPUTER_BOARD_JOINTable());
// n:n
//addTableDefinition(buildCOMPUTER_USER_JOINTable());
addTableDefinition(buildCMP3_MM_BOARD_SEQTable());
addTableDefinition(buildCMP3_MM_PERSON_SEQTable());
addTableDefinition(buildCMP3_MM_MANUF_CMP3_MM_MANUFTable());
}
public static TableDefinition buildMANUFACTURERTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MANUF");
FieldDefinition field = new FieldDefinition();
field.setName("PERSON_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("MANUF_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
FieldDefinition field3 = new FieldDefinition();
field3.setName("NAME");
field3.setTypeName("VARCHAR");
field3.setSize(80);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
/* // 1:m does not require a JoinTable - only a JoinColumn
FieldDefinition field6 = new FieldDefinition();
field6.setName("EMPLOYER_PERSON_ID");
field6.setTypeName("NUMERIC");
field6.setSize(15);
field6.setShouldAllowNull(false);
field6.setIsPrimaryKey(false);
field6.setUnique(false);
field6.setIsIdentity(false);
field6.setForeignKeyFieldName("CMP3_MM_HWDESIGNER.PERSON_ID");
table.addField(field6);
*/
// Primitive and Basic type testing
//ADOUBLEOBJECT, ABIGINTEGEROBJECT, AFLOATOBJECT, MANUF_VERSION, ALONGOBJECT, ASHORT, ABYTEOBJECT, NAME, ABOOLEANOBJECT, ACHAR, ACHARACTEROBJECT, ANINT, AFLOAT, ALONG, ADOUBLE, ASHORTOBJECT, ANINTEGEROBJECT
//private Boolean aBooleanObject;
FieldDefinition field71 = new FieldDefinition();
field71.setName("ABOOLEANOBJECT");
field71.setTypeName("NUMERIC");
field71.setSize(2);
field71.setShouldAllowNull(true);
field71.setIsPrimaryKey(false);
field71.setUnique(false);
field71.setIsIdentity(false);
table.addField(field71);
//private Byte aByteObject;
FieldDefinition field72 = new FieldDefinition();
field72.setName("ABYTEOBJECT");
field72.setTypeName("NUMERIC");
field72.setSize(2);
field72.setShouldAllowNull(true);
field72.setIsPrimaryKey(false);
field72.setUnique(false);
field72.setIsIdentity(false);
table.addField(field72);
//private Short aShortObject;
FieldDefinition field73 = new FieldDefinition();
field73.setName("ASHORTOBJECT");
field73.setTypeName("NUMERIC");
field73.setSize(15);
field73.setShouldAllowNull(true);
field73.setIsPrimaryKey(false);
field73.setUnique(false);
field73.setIsIdentity(false);
table.addField(field73);
//private Integer anIntegerObject;
FieldDefinition field74 = new FieldDefinition();
field74.setName("ANINTEGEROBJECT");
field74.setTypeName("NUMERIC");
field74.setSize(15);
field74.setShouldAllowNull(true);
field74.setIsPrimaryKey(false);
field74.setUnique(false);
field74.setIsIdentity(false);
table.addField(field74);
//private Long aLongObject;
FieldDefinition field75 = new FieldDefinition();
field75.setName("ALONGOBJECT");
field75.setTypeName("NUMERIC");
field75.setSize(18);
field75.setShouldAllowNull(true);
field75.setIsPrimaryKey(false);
field75.setUnique(false);
field75.setIsIdentity(false);
table.addField(field75);
//private BigInteger aBigIntegerObject;
FieldDefinition field76 = new FieldDefinition();
field76.setName("ABIGINTEGEROBJECT");
field76.setTypeName("NUMERIC");
field76.setSize(18);
field76.setShouldAllowNull(true);
field76.setIsPrimaryKey(false);
field76.setUnique(false);
field76.setIsIdentity(false);
table.addField(field76);
//private Float aFloatObject;
FieldDefinition field77 = new FieldDefinition();
field77.setName("AFLOATOBJECT");
field77.setTypeName("NUMERIC");
field77.setSize(18);
field77.setShouldAllowNull(true);
field77.setIsPrimaryKey(false);
field77.setUnique(false);
field77.setIsIdentity(false);
table.addField(field77);
//private Double aDoubleObject;
FieldDefinition field78 = new FieldDefinition();
field78.setName("ADOUBLEOBJECT");
field78.setTypeName("NUMERIC");
field78.setSize(18);
field78.setShouldAllowNull(true);
field78.setIsPrimaryKey(false);
field78.setUnique(false);
field78.setIsIdentity(false);
table.addField(field78);
//private Character aCharacterObject;
FieldDefinition field79 = new FieldDefinition();
field79.setName("ACHARACTEROBJECT");
field79.setTypeName("VARCHAR");
field79.setSize(80);
field79.setShouldAllowNull(true);
field79.setIsPrimaryKey(false);
field79.setUnique(false);
field79.setIsIdentity(false);
table.addField(field79);
//private boolean aBoolean;
FieldDefinition field80 = new FieldDefinition();
field80.setName("ABOOLEAN");
field80.setTypeName("NUMERIC");
field80.setSize(2);
field80.setShouldAllowNull(true);
field80.setIsPrimaryKey(false);
field80.setUnique(false);
field80.setIsIdentity(false);
table.addField(field80);
//private byte aByte;
FieldDefinition field81 = new FieldDefinition();
field81.setName("ABYTE");
field81.setTypeName("NUMERIC");
field81.setSize(15);
field81.setShouldAllowNull(true);
field81.setIsPrimaryKey(false);
field81.setUnique(false);
field81.setIsIdentity(false);
table.addField(field81);
//private short aShort;
FieldDefinition field82 = new FieldDefinition();
field82.setName("ASHORT");
field82.setTypeName("NUMERIC");
field82.setSize(15);
field82.setShouldAllowNull(true);
field82.setIsPrimaryKey(false);
field82.setUnique(false);
field82.setIsIdentity(false);
table.addField(field82);
//private int anInt;
FieldDefinition field83 = new FieldDefinition();
field83.setName("ANINT");
field83.setTypeName("NUMERIC");
field83.setSize(15);
field83.setShouldAllowNull(true);
field83.setIsPrimaryKey(false);
field83.setUnique(false);
field83.setIsIdentity(false);
table.addField(field83);
//private long aLong;
FieldDefinition field84 = new FieldDefinition();
field84.setName("ALONG");
field84.setTypeName("NUMERIC");
field84.setSize(18);
field84.setShouldAllowNull(true);
field84.setIsPrimaryKey(false);
field84.setUnique(false);
field84.setIsIdentity(false);
table.addField(field84);
//private float aFloat;
FieldDefinition field85 = new FieldDefinition();
field85.setName("AFLOAT");
field85.setTypeName("NUMERIC");
field85.setSize(18);
field85.setShouldAllowNull(true);
field85.setIsPrimaryKey(false);
field85.setUnique(false);
field85.setIsIdentity(false);
table.addField(field85);
//private double aDouble;
FieldDefinition field86 = new FieldDefinition();
field86.setName("ADOUBLE");
field86.setTypeName("NUMERIC");
field86.setSize(18);
field86.setShouldAllowNull(true);
field86.setIsPrimaryKey(false);
field86.setUnique(false);
field86.setIsIdentity(false);
table.addField(field86);
//private char aChar;
FieldDefinition field87 = new FieldDefinition();
field87.setName("ACHAR");
field87.setTypeName("VARCHAR");
field87.setSize(2);
field87.setShouldAllowNull(true);
field87.setIsPrimaryKey(false);
field87.setUnique(false);
field87.setIsIdentity(false);
table.addField(field87);
//public enum anEnum { one, two, three};
/* FieldDefinition field88 = new FieldDefinition();
field88.setName("ANENUM");
field88.setTypeName("NUMERIC");
field88.setSize(15);
field88.setShouldAllowNull(true);
field88.setIsPrimaryKey(false);
field88.setUnique(false);
field88.setIsIdentity(false);
table.addField(field88);
*/
//private BigInteger aBigIntegerObject;
FieldDefinition field90 = new FieldDefinition();
field90.setName("ABIGDECIMALOBJECT");
field90.setTypeName("NUMERIC");
field90.setSize(31);
field90.setShouldAllowNull(true);
field90.setIsPrimaryKey(false);
field90.setUnique(false);
field90.setIsIdentity(false);
table.addField(field90);
return table;
}
public static TableDefinition buildHARDWAREDESIGNERTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_HWDESIGNER");
/*FieldDefinition field_id2 = new FieldDefinition();
field_id2.setName("DESIGNER_ID");
field_id2.setTypeName("NUMERIC");
field_id2.setSize(15);
field_id2.setShouldAllowNull(false);
field_id2.setIsPrimaryKey(true);
field_id2.setUnique(false);
field_id2.setIsIdentity(true);
table.addField(field_id2);*/
FieldDefinition field = new FieldDefinition();
field.setName("PERSON_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("HWDESIGNER_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
FieldDefinition field3 = new FieldDefinition();
field3.setName("NAME");
field3.setTypeName("VARCHAR");
field3.setSize(80);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
// from MappedSuperclass
// m:1 does not require a JoinTable - only a JoinColumn
FieldDefinition field6 = new FieldDefinition();
field6.setName("EMPLOYER_PERSON_ID");
field6.setTypeName("NUMERIC");
field6.setSize(15);
field6.setShouldAllowNull(false);
field6.setIsPrimaryKey(false);
field6.setUnique(false);
field6.setIsIdentity(false);
field6.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field6);
// from MappedSuperclass
// m:1 does not require a JoinTable - only a JoinColumn
FieldDefinition field9 = new FieldDefinition();
field9.setName("MAPPEDEMPLOYER_PERSON_ID");
field9.setTypeName("NUMERIC");
field9.setSize(15);
field9.setShouldAllowNull(false);
field9.setIsPrimaryKey(false);
field9.setUnique(false);
field9.setIsIdentity(false);
field9.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field9);
// from MappedSuperclass
// m:1 does not require a JoinTable - only a JoinColumn
FieldDefinition field19 = new FieldDefinition();
field19.setName("MAPPEDEMPLOYERUC1A_PERSON_ID");
field19.setTypeName("NUMERIC");
field19.setSize(15);
field19.setShouldAllowNull(false);
field19.setIsPrimaryKey(false);
field19.setUnique(false);
field19.setIsIdentity(false);
field19.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field19);
// from MappedSuperclass
// m:1 does not require a JoinTable - only a JoinColumn
FieldDefinition field29 = new FieldDefinition();
field29.setName("MAPPEDEMPLOYERUC2_PERSON_ID");
field29.setTypeName("NUMERIC");
field29.setSize(15);
field29.setShouldAllowNull(false);
field29.setIsPrimaryKey(false);
field29.setUnique(false);
field29.setIsIdentity(false);
field29.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field29);
// from MappedSuperclass
// m:1 does not require a JoinTable - only a JoinColumn
FieldDefinition field39 = new FieldDefinition();
field39.setName("MAPPEDEMPLOYERUC4_PERSON_ID");
field39.setTypeName("NUMERIC");
field39.setSize(15);
field39.setShouldAllowNull(false);
field39.setIsPrimaryKey(false);
field39.setUnique(false);
field39.setIsIdentity(false);
field39.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field39);
// from MappedSuperclass
// m:1 does not require a JoinTable - only a JoinColumn
FieldDefinition field49 = new FieldDefinition();
field49.setName("MAPPEDEMPLOYERUC7_PERSON_ID");
field49.setTypeName("NUMERIC");
field49.setSize(15);
field49.setShouldAllowNull(false);
field49.setIsPrimaryKey(false);
field49.setUnique(false);
field49.setIsIdentity(false);
field49.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field49);
// from MappedSuperclass
// m:1 does not require a JoinTable - only a JoinColumn
FieldDefinition field59 = new FieldDefinition();
field59.setName("MAPPEDEMPLOYERUC8_PERSON_ID");
field59.setTypeName("NUMERIC");
field59.setSize(15);
field59.setShouldAllowNull(false);
field59.setIsPrimaryKey(false);
field59.setUnique(false);
field59.setIsIdentity(false);
field59.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field59);
// from MappedSuperclass
// 1:1 unidirectional
FieldDefinition field7 = new FieldDefinition();
field7.setName("PRIME_EMPLOYER_PERSON_ID");
field7.setTypeName("NUMERIC");
field7.setSize(15);
field7.setShouldAllowNull(false);
field7.setIsPrimaryKey(false);
field7.setUnique(false);
field7.setIsIdentity(false);
field7.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field7);
// m:1 does not require a JoinTable - only a JoinColumn
FieldDefinition field8 = new FieldDefinition();
field8.setName("SEC_EMPLOYER_PERSON_ID");
field8.setTypeName("NUMERIC");
field8.setSize(15);
field8.setShouldAllowNull(false);
field8.setIsPrimaryKey(false);
field8.setUnique(false);
field8.setIsIdentity(false);
field8.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field8);
return table;
}
public static TableDefinition buildSOFTWAREDESIGNERTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_SWDESIGNER");
/*FieldDefinition field_id2 = new FieldDefinition();
field_id2.setName("DESIGNER_ID");
field_id2.setTypeName("NUMERIC");
field_id2.setSize(15);
field_id2.setShouldAllowNull(false);
field_id2.setIsPrimaryKey(true);
field_id2.setUnique(false);
field_id2.setIsIdentity(true);
table.addField(field_id2);*/
FieldDefinition field = new FieldDefinition();
field.setName("PERSON_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("SWDESIGNER_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
FieldDefinition field3 = new FieldDefinition();
field3.setName("NAME");
field3.setTypeName("VARCHAR");
field3.setSize(80);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
// from MappedSuperclass
/* // 1:m does not require a JoinTable - only a JoinColumn
FieldDefinition field6 = new FieldDefinition();
field6.setName("EMPLOYER_PERSON_ID");
field6.setTypeName("NUMERIC");
field6.setSize(15);
field6.setShouldAllowNull(false);
field6.setIsPrimaryKey(false);
field6.setUnique(false);
field6.setIsIdentity(false);
field6.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field6);
*/
// from MappedSuperclass
// 1:1 unidirectional
FieldDefinition field7 = new FieldDefinition();
field7.setName("PRIME_EMPLOYER_PERSON_ID");
field7.setTypeName("NUMERIC");
field7.setSize(15);
field7.setShouldAllowNull(false);
field7.setIsPrimaryKey(false);
field7.setUnique(false);
field7.setIsIdentity(false);
field7.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field7);
// m:1 does not require a JoinTable - only a JoinColumn
FieldDefinition field8 = new FieldDefinition();
field8.setName("SEC_EMPLOYER_PERSON_ID");
field8.setTypeName("NUMERIC");
field8.setSize(15);
field8.setShouldAllowNull(false);
field8.setIsPrimaryKey(false);
field8.setUnique(false);
field8.setIsIdentity(false);
field8.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field8);
// 1:m with JoinTable - by default
/* FieldDefinition field9 = new FieldDefinition();
field9.setName("HIST_EMPLOYER_PERSON_ID");
field9.setTypeName("NUMERIC");
field9.setSize(15);
field9.setShouldAllowNull(false);
field9.setIsPrimaryKey(false);
field9.setUnique(false);
field9.setIsIdentity(false);
field9.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field9);*/
return table;
}
public static TableDefinition buildUSERTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_USER");
FieldDefinition field = new FieldDefinition();
field.setName("PERSON_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("USER_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
FieldDefinition field3 = new FieldDefinition();
field3.setName("NAME");
field3.setTypeName("VARCHAR");
field3.setSize(80);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
return table;
}
public static TableDefinition buildCOMPUTERTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_COMPUTER");
FieldDefinition field = new FieldDefinition();
field.setName("COMPUTER_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("COMPUTER_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
FieldDefinition field3 = new FieldDefinition();
field3.setName("NAME");
field3.setTypeName("VARCHAR");
field3.setSize(80);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
// Bidirectional OneToOne with Location.computer
FieldDefinition field5 = new FieldDefinition();
field5.setName("GALACTIC_GALACTIC_ID");
field5.setTypeName("NUMERIC");
field5.setSize(15);
field5.setShouldAllowNull(true);
field5.setIsPrimaryKey(false);
field5.setUnique(false);
field5.setIsIdentity(false);
field5.setForeignKeyFieldName("CMP3_MM_GALACTIC.GALACTIC_ID");
//field5.setForeignKeyFieldName("CMP3_MM_LOCATION.PK_PART1");
table.addField(field5);
// 1:m does not require a JoinTable - only a JoinColumn
FieldDefinition field6 = new FieldDefinition();
field6.setName("MANUFACTURER_PERSON_ID");
field6.setTypeName("NUMERIC");
field6.setSize(15);
field6.setShouldAllowNull(true);
field6.setIsPrimaryKey(false);
field6.setUnique(false);
field6.setIsIdentity(false);
field6.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field6);
return table;
}
public static TableDefinition buildBOARDTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_BOARD");
FieldDefinition field = new FieldDefinition();
field.setName("BOARD_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("BOARD_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
/* // m:1 requires a JoinTable
FieldDefinition field6 = new FieldDefinition();
field6.setName("COMPUTER_COMPUTER_ID");
field6.setTypeName("NUMERIC");
field6.setSize(15);
field6.setShouldAllowNull(false);
field6.setIsPrimaryKey(false);
field6.setUnique(false);
field6.setIsIdentity(false);
field6.setForeignKeyFieldName("CMP3_MM_COMPUTER.COMPUTER_ID");
table.addField(field6);
*/
return table;
}
public static TableDefinition buildENCLOSURETable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_ENCLOSURE");
FieldDefinition field13 = new FieldDefinition();
field13.setName("TYPE");
field13.setTypeName("VARCHAR");
field13.setSize(80);
field13.setShouldAllowNull(false);
field13.setIsPrimaryKey(true);
field13.setUnique(false);
field13.setIsIdentity(true);
table.addField(field13);
FieldDefinition field14 = new FieldDefinition();
field14.setName("LENGTH");
field14.setTypeName("VARCHAR");
field14.setSize(80);
field14.setShouldAllowNull(false);
field14.setIsPrimaryKey(true);
field14.setUnique(false);
field14.setIsIdentity(true);
table.addField(field14);
FieldDefinition field15 = new FieldDefinition();
field15.setName("WIDTH");
field15.setTypeName("VARCHAR");
field15.setSize(80);
field15.setShouldAllowNull(false);
field15.setIsPrimaryKey(true);
field15.setUnique(false);
field15.setIsIdentity(true);
table.addField(field15);
// 1:m does not require a JoinTable - only a JoinColumn
FieldDefinition field6 = new FieldDefinition();
field6.setName("COMPUTERUC10_COMPUTER_ID");
field6.setTypeName("NUMERIC");
field6.setSize(15);
field6.setShouldAllowNull(true);
field6.setIsPrimaryKey(false);
field6.setUnique(false);
field6.setIsIdentity(false);
field6.setForeignKeyFieldName("CMP3_MM_COMPUTER.COMPUTER_ID");
table.addField(field6);
FieldDefinition field = new FieldDefinition();
field.setName("PERSON_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false);
field.setIsPrimaryKey(true);
field.setUnique(false);
field.setIsIdentity(true);
table.addField(field);
return table;
}
/**
* This table defines a MappedSuperclass chain that defines a composite PK
* that is distributed along the MappedSuperclass hierarchy of the form.
* Root (MappedSuperclass)
* --{@literal >} Center (MappedSuperclass)
* --{@literal >} Leaf (Entity)
*/
public static TableDefinition buildMS_MS_Entity_Leaf_Table() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MSMSENTITY_LEAF");
// From (MS)-MS-Entity root
FieldDefinition field13 = new FieldDefinition();
field13.setName("TYPE");
field13.setTypeName("VARCHAR");
field13.setSize(80);
field13.setShouldAllowNull(false);
field13.setIsPrimaryKey(true);
field13.setUnique(false);
field13.setIsIdentity(true);
table.addField(field13);
FieldDefinition field14 = new FieldDefinition();
field14.setName("LENGTH");
field14.setTypeName("VARCHAR");
field14.setSize(80);
field14.setShouldAllowNull(false);
field14.setIsPrimaryKey(true);
field14.setUnique(false);
field14.setIsIdentity(true);
table.addField(field14);
FieldDefinition field15 = new FieldDefinition();
field15.setName("WIDTH");
field15.setTypeName("VARCHAR");
field15.setSize(80);
field15.setShouldAllowNull(false);
field15.setIsPrimaryKey(true);
field15.setUnique(false);
field15.setIsIdentity(true);
table.addField(field15);
// From MS-(MS)-Entity center
FieldDefinition field = new FieldDefinition();
//field.setName("MSMSENTITY_ID");
field.setName("IDENTITY");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false);
//field.setIsPrimaryKey(false);//true);
field.setIsPrimaryKey(true);
field.setUnique(false);
//field.setIsIdentity(false);//true);
field.setIsIdentity(true);
table.addField(field);
FieldDefinition field2 = new FieldDefinition();
field2.setName("DECLAREDCENTERSTRINGFIELD");
field2.setTypeName("VARCHAR");
field2.setSize(80);
field2.setShouldAllowNull(true);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
table.addField(field2);
FieldDefinition field3 = new FieldDefinition();
field3.setName("DECLAREDLEAFSTRINGFIELD");
field3.setTypeName("VARCHAR");
field3.setSize(80);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
FieldDefinition field4 = new FieldDefinition();
field4.setName("MSMSENTITY_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
return table;
}
public static TableDefinition buildMEMORYTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MEMORY");
FieldDefinition field = new FieldDefinition();
field.setName("MEMORY_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("MEMORY_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
FieldDefinition field3 = new FieldDefinition();
field3.setName("NAME");
field3.setTypeName("VARCHAR");
field3.setSize(80);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
// 1:m does not require a JoinTable - only a JoinColumn
FieldDefinition field6 = new FieldDefinition();
field6.setName("BOARD_BOARD_ID");
field6.setTypeName("NUMERIC");
field6.setSize(15);
field6.setShouldAllowNull(false);
field6.setIsPrimaryKey(false);
field6.setUnique(false);
field6.setIsIdentity(false);
field6.setForeignKeyFieldName("CMP3_MM_BOARD.BOARD_ID");
table.addField(field6);
return table;
}
// Entity --> Entity inheritance
public static TableDefinition buildPROCESSORTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_PROC");
FieldDefinition field = new FieldDefinition();
field.setName("PROC_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("PROC_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
FieldDefinition field5 = new FieldDefinition();
field5.setName("SPEED");
field5.setTypeName("VARCHAR");
field5.setSize(80);
field5.setShouldAllowNull(true);
field5.setIsPrimaryKey(false);
field5.setUnique(false);
field5.setIsIdentity(false);
table.addField(field5);
// OVERRIDE @Inheritance from SINGLE_TABLE to JOINED
// http://wiki.eclipse.org/Introduction_to_EclipseLink_JPA_%28ELUG%29#.40Inheritance
// discriminator column (for inheritance)
FieldDefinition field3 = new FieldDefinition();
field3.setName("DTYPE");
field3.setTypeName("VARCHAR");
field3.setSize(80);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
// 1:m does not require a JoinTable - only a JoinColumn
FieldDefinition field6 = new FieldDefinition();
field6.setName("BOARD_BOARD_ID");
field6.setTypeName("NUMERIC");
field6.setSize(15);
field6.setShouldAllowNull(false);
field6.setIsPrimaryKey(false);
field6.setUnique(false);
field6.setIsIdentity(false);
field6.setForeignKeyFieldName("CMP3_MM_BOARD.BOARD_ID");
table.addField(field6);
return table;
}
public static TableDefinition buildVECTORPROCESSORTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_PROC");
// JOINED @Inheritance still requires a PK field on the sub entity table
FieldDefinition field = new FieldDefinition();
field.setName("PROC_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false);
field.setIsPrimaryKey(true);
field.setUnique(false);
field.setIsIdentity(true);
table.addField(field);
/* FieldDefinition field3 = new FieldDefinition();
field3.setName("SPEED");
field3.setTypeName("VARCHAR");
field3.setSize(80);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
*/
/* FieldDefinition field4 = new FieldDefinition();
field4.setName("VECTPROC_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
*/
// 1:m does not require a JoinTable - only a JoinColumn
/* FieldDefinition field6 = new FieldDefinition();
field6.setName("BOARD_BOARD_ID");
field6.setTypeName("NUMERIC");
field6.setSize(15);
field6.setShouldAllowNull(false);
field6.setIsPrimaryKey(false);
field6.setUnique(false);
field6.setIsIdentity(false);
field6.setForeignKeyFieldName("CMP3_MM_BOARD.BOARD_ID");
table.addField(field6);
*/
return table;
}
public static TableDefinition buildARRAYPROCESSORTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_PROC");
// JOINED @Inheritance still requires a PK field on the sub entity table
FieldDefinition field = new FieldDefinition();
field.setName("PROC_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("ARRAYPROC_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
*/
// 1:m does not require a JoinTable - only a JoinColumn
/* FieldDefinition field6 = new FieldDefinition();
field6.setName("BOARD_BOARD_ID");
field6.setTypeName("NUMERIC");
field6.setSize(15);
field6.setShouldAllowNull(false);
field6.setIsPrimaryKey(false);
field6.setUnique(false);
field6.setIsIdentity(false);
field6.setForeignKeyFieldName("CMP3_MM_BOARD.BOARD_ID");
table.addField(field6);
*/
return table;
}
public static TableDefinition buildWITHINNERPKTable() {
TableDefinition table = new TableDefinition();
table.setName("INNER_PK");
FieldDefinition field = new FieldDefinition();
field.setName("DESC");
field.setTypeName("VARCHAR");
field.setSize(80);
field.setShouldAllowNull(false);
field.setIsPrimaryKey(false);
field.setUnique(false);
field.setIsIdentity(true);
table.addField(field);
FieldDefinition field4 = new FieldDefinition();
field4.setName("ID1");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(true);
field4.setUnique(true);
field4.setIsIdentity(false);
table.addField(field4);
FieldDefinition field6 = new FieldDefinition();
field6.setName("ID2");
field6.setTypeName("VARCHAR");
field6.setSize(15);
field6.setShouldAllowNull(false);
field6.setIsPrimaryKey(true);
field6.setUnique(true);
field6.setIsIdentity(false);
table.addField(field6);
return table;
}
public static TableDefinition buildGALACTICPOSITIONTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_GALACTIC");
// Using EmbeddedId
FieldDefinition field = new FieldDefinition();
field.setName("GALACTIC_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false);
field.setIsPrimaryKey(true);
field.setUnique(false);
field.setIsIdentity(true);
table.addField(field);
// Using single Id
/* FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("GALACTIC_ID");
fieldID.setTypeName("NUMBER");
fieldID.setSize(18);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);//true);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);
*/
/*FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("PK_PART1");
fieldID.setTypeName("NUMBER");
fieldID.setSize(19);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);//true);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);*/
/*FieldDefinition fieldID2 = new FieldDefinition();
fieldID2.setName("PK_PART2");
fieldID2.setTypeName("NUMBER");
fieldID2.setSize(18);
fieldID2.setSubSize(0);
fieldID2.setIsPrimaryKey(true);
fieldID2.setIsIdentity(true);
fieldID2.setUnique(false);//true);
fieldID2.setShouldAllowNull(false);
table.addField(fieldID2);*/
FieldDefinition field4 = new FieldDefinition();
field4.setName("GALACTIC_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
/* FieldDefinition field3 = new FieldDefinition();
field3.setName("NAME");
field3.setTypeName("VARCHAR");
field3.setSize(80);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
*/
// for MappedSuperclass
/* // 1:1 unidirectional
FieldDefinition field7 = new FieldDefinition();
field7.setName("FUTURE_POS_GALACTIC_ID");
field7.setTypeName("NUMERIC");
field7.setSize(15);
field7.setShouldAllowNull(false);
field7.setIsPrimaryKey(false);
field7.setUnique(false);
field7.setIsIdentity(false);
field7.setForeignKeyFieldName("CMP3_MM_GALACTIC.GALACTIC_ID");
table.addField(field7);
*/
// OVERRIDE @Inheritance from SINGLE_TABLE to JOINED
// http://wiki.eclipse.org/Introduction_to_EclipseLink_JPA_%28ELUG%29#.40Inheritance
// discriminator column (for inheritance)
FieldDefinition field13 = new FieldDefinition();
field13.setName("DTYPE");
field13.setTypeName("VARCHAR");
field13.setSize(80);
field13.setShouldAllowNull(true);
field13.setIsPrimaryKey(false);
field13.setUnique(false);
field13.setIsIdentity(false);
table.addField(field13);
// 1:m does not require a JoinTable - only a JoinColumn
FieldDefinition field6 = new FieldDefinition();
field6.setName("COMPUTERUC12_COMPUTER_ID");
field6.setTypeName("NUMERIC");
field6.setSize(15);
field6.setShouldAllowNull(false);
field6.setIsPrimaryKey(false);
field6.setUnique(false);
field6.setIsIdentity(false);
field6.setForeignKeyFieldName("CMP3_MM_COMPUTER.COMPUTER_ID");
table.addField(field6);
// 1:m does not require a JoinTable - only a JoinColumn
FieldDefinition field7 = new FieldDefinition();
field7.setName("COMPUTERUNIUC13_COMPUTER_ID");
field7.setTypeName("NUMERIC");
field7.setSize(15);
field7.setShouldAllowNull(false);
field7.setIsPrimaryKey(false);
field7.setUnique(false);
field7.setIsIdentity(false);
field7.setForeignKeyFieldName("CMP3_MM_COMPUTER.COMPUTER_ID");
table.addField(field7);
FieldDefinition field8 = new FieldDefinition();
field8.setName("ELEVATION");
field8.setTypeName("NUMERIC");
field8.setSize(15);
field8.setShouldAllowNull(true);
field8.setIsPrimaryKey(false);
field8.setUnique(false);
field8.setIsIdentity(false);
table.addField(field8);
FieldDefinition field9 = new FieldDefinition();
field9.setName("LATTITUDE");
field9.setTypeName("NUMERIC");
field9.setSize(15);
field9.setShouldAllowNull(true);
field9.setIsPrimaryKey(false);
field9.setUnique(false);
field9.setIsIdentity(false);
table.addField(field9);
FieldDefinition field10 = new FieldDefinition();
field10.setName("LONGITUDE");
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 buildLOCATIONTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_LOCATION");
/*
* Commented 20090720 in favor of a the composite key EmbeddedPK
*/
/* FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("LOCATION_ID");
fieldID.setTypeName("NUMBER");
fieldID.setSize(18);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);//true);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);
*/
/*FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("PK_PART1");
fieldID.setTypeName("NUMBER");
fieldID.setSize(18);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);//true);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);*/
/*FieldDefinition fieldID2 = new FieldDefinition();
fieldID2.setName("PK_PART2");
fieldID2.setTypeName("NUMBER");
fieldID2.setSize(18);
fieldID2.setSubSize(0);
fieldID2.setIsPrimaryKey(true);
fieldID2.setIsIdentity(true);
fieldID2.setUnique(false);//true);
fieldID2.setShouldAllowNull(false);
table.addField(fieldID2);*/
/* FieldDefinition field4 = new FieldDefinition();
field4.setName("LOCATION_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
*/
/* FieldDefinition field3 = new FieldDefinition();
field3.setName("NAME");
field3.setTypeName("VARCHAR");
field3.setSize(80);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
*/
// Bidirectional OneToOne with Computer.location - unidirectional for now
/* FieldDefinition field5 = new FieldDefinition();
field5.setName("COMPUTER_COMPUTER_ID");
field5.setTypeName("NUMERIC");
field5.setSize(15);
field5.setShouldAllowNull(false);
field5.setIsPrimaryKey(false);
field5.setUnique(false);
field5.setIsIdentity(false);
field5.setForeignKeyFieldName("CMP3_MM_COMPUTER.COMPUTER_ID");
table.addField(field5);
*/
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("GALACTIC_ID");
fieldID.setTypeName("NUMBER");
fieldID.setSize(18);
fieldID.setSubSize(0);
fieldID.setIsPrimaryKey(true);
fieldID.setIsIdentity(true);
fieldID.setUnique(false);//true);
fieldID.setShouldAllowNull(false);
table.addField(fieldID);
/* // from MappedSuperclass
// 1:1 unidirectional
FieldDefinition field7 = new FieldDefinition();
field7.setName("FUTURE_POS_GALACTIC_ID");
field7.setTypeName("NUMERIC");
field7.setSize(15);
field7.setShouldAllowNull(false);
field7.setIsPrimaryKey(false);
field7.setUnique(false);
field7.setIsIdentity(false);
field7.setForeignKeyFieldName("CMP3_MM_GALACTIC.GALACTIC_ID");
table.addField(field7);
*/
return table;
}
public static TableDefinition buildMANUFACTURER_COMPUTER_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MANUF_MM_COMPUTER");
FieldDefinition field1 = new FieldDefinition();
field1.setName("MANUF_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("COMPUTER_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_COMPUTER.COMPUTER_ID");
table.addField(field2);
return table;
}
public static TableDefinition buildMANUFACTURER_CORPCOMPUTER_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MANUF_MM_CORPCOMPUTER");
FieldDefinition field1 = new FieldDefinition();
field1.setName("MANUF_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("COMPCOMPUTER_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_COMPUTER.COMPUTER_ID");
table.addField(field2);
return table;
}
public static TableDefinition buildMANUFACTURER_HARDWAREDESIGNER_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MANUF_MM_HWDESIGNER");
FieldDefinition field1 = new FieldDefinition();
field1.setName("MANUF_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("DESIGNER_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_HWDESIGNER.PERSON_ID");
table.addField(field2);
return table;
}
public static TableDefinition buildMANUFACTURER_HARDWAREDESIGNER_HISTORICAL_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_HIST_EMPLOY");
FieldDefinition field1 = new FieldDefinition();
field1.setName("MANUF_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("DESIGNER_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_HWDESIGNER.PERSON_ID");
table.addField(field2);
return table;
}
public static TableDefinition buildMANUFACTURER_HARDWAREDESIGNER_MAPUC1A_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MANUF_MM_HWDES_MAPUC1A");
FieldDefinition field1 = new FieldDefinition();
field1.setName("MANUF_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("DESIGNER_MAP_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_HWDESIGNER.PERSON_ID");
table.addField(field2);
return table;
}
public static TableDefinition buildMANUFACTURER_HARDWAREDESIGNER_MAPUC2_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MANUF_MM_HWDES_MAPUC2");
FieldDefinition field1 = new FieldDefinition();
field1.setName("MANUF_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("DESIGNER_MAP_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_HWDESIGNER.PERSON_ID");
table.addField(field2);
return table;
}
public static TableDefinition buildMANUFACTURER_HARDWAREDESIGNER_MAPUC4_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MANUF_MM_HWDES_MAPUC4");
FieldDefinition field1 = new FieldDefinition();
field1.setName("MANUF_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("DESIGNER_MAP_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_HWDESIGNER.PERSON_ID");
table.addField(field2);
return table;
}
public static TableDefinition buildMANUFACTURER_HARDWAREDESIGNER_MAPUC7_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MANUF_MM_HWDES_MAPUC7");
FieldDefinition field1 = new FieldDefinition();
field1.setName("MANUF_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("DESIGNER_MAP_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_HWDESIGNER.PERSON_ID");
table.addField(field2);
return table;
}
public static TableDefinition buildMANUFACTURER_HARDWAREDESIGNER_MAPUC8_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MANUF_MM_HWDES_MAPUC8");
FieldDefinition field1 = new FieldDefinition();
field1.setName("MANUF_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("DESIGNER_MAP_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_HWDESIGNER.PERSON_ID");
table.addField(field2);
return table;
}
/* public static TableDefinition buildMANUFACTURER_ENCLOSURE_MAPUC9_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MANUF_MM_ENCL_MAPUC9");
FieldDefinition field1 = new FieldDefinition();
field1.setName("MANUF_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("ENCLOSURE_MAP_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
//field2.setForeignKeyFieldName("CMP3_MM_ENCLOSURE.PERSON_ID"); // need composite PK reference
//table.addField(field2);
return table;
}*/
public static TableDefinition buildMANUFACTURER_HARDWAREDESIGNER_MAP_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MANUF_MM_HWDES_MAP");
FieldDefinition field1 = new FieldDefinition();
field1.setName("MANUF_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_MANUF.PERSON_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("DESIGNER_MAP_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_HWDESIGNER.PERSON_ID");
table.addField(field2);
return table;
}
public static TableDefinition buildBOARD_MEMORY_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_BOARD_MM_MEMORY");
FieldDefinition field1 = new FieldDefinition();
field1.setName("BOARD_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_BOARD.BOARD_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("MEMORY_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_MEMORY.MEMORY_ID");
table.addField(field2);
return table;
}
public static TableDefinition buildBOARD_PROCESSOR_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_BOARD_MM_PROC");
FieldDefinition field1 = new FieldDefinition();
field1.setName("BOARD_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_BOARD.BOARD_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("PROC_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_PROC.PROC_ID");
table.addField(field2);
return table;
}
public static TableDefinition buildCOMPUTER_BOARD_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_COMPUTER_MM_BOARD");
FieldDefinition field2 = new FieldDefinition();
field2.setName("BOARD_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_BOARD.BOARD_ID");
table.addField(field2);
FieldDefinition field1 = new FieldDefinition();
field1.setName("COMPUTER_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_COMPUTER.COMPUTER_ID");
table.addField(field1);
return table;
}
public static TableDefinition buildCOMPUTER_USER_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_COMPUTER_MM_USER");
FieldDefinition field1 = new FieldDefinition();
field1.setName("COMPUTER_ID");
field1.setTypeName("NUMERIC");
field1.setSize(15);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
field1.setForeignKeyFieldName("CMP3_MM_COMPUTER.COMPUTER_ID");
table.addField(field1);
FieldDefinition field2 = new FieldDefinition();
field2.setName("USER_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
field2.setForeignKeyFieldName("CMP3_MM_USER.PERSON_ID");
table.addField(field2);
return table;
}
public static TableDefinition buildMETAMODEL_CUSTOMERTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_CUSTOMER");
FieldDefinition field = new FieldDefinition();
field.setName("LIFEFORM_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false);
field.setIsPrimaryKey(true);
field.setUnique(false);
field.setIsIdentity(true);
table.addField(field);
/* FieldDefinition field0 = new FieldDefinition();
field0.setName("FK_DEALER_ID");
field0.setTypeName("NUMERIC");
field0.setSize(15);
field0.setShouldAllowNull(true);
field0.setIsPrimaryKey(false);
field0.setUnique(false);
field0.setIsIdentity(false);
field0.setForeignKeyFieldName("CMP3_DEALER.DEALER_ID");
table.addField(field0);
*/
FieldDefinition field1 = new FieldDefinition();
field1.setName("NAME");
field1.setTypeName("VARCHAR");
field1.setSize(80);
field1.setShouldAllowNull(true);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
table.addField(field1);
FieldDefinition fieldCITY = new FieldDefinition();
fieldCITY.setName("CITY");
fieldCITY.setTypeName("VARCHAR");
fieldCITY.setSize(80);
fieldCITY.setShouldAllowNull(true);
fieldCITY.setIsPrimaryKey(false);
fieldCITY.setUnique(false);
fieldCITY.setIsIdentity(false);
table.addField(fieldCITY);
/* 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 field3 = new FieldDefinition();
field3.setName("BUDGET");
field3.setTypeName("NUMERIC");
field3.setSize(15);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
table.addField(field3);
*/
FieldDefinition field4 = new FieldDefinition();
field4.setName("CUSTOMER_VERSION");
field4.setTypeName("NUMERIC");
field4.setSize(15);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
table.addField(field4);
FieldDefinition fieldADDRESS = new FieldDefinition();
fieldADDRESS.setName("HOMEADDRESS_ADDRESS_ID");
fieldADDRESS.setTypeName("NUMERIC");
fieldADDRESS.setSize(15);
fieldADDRESS.setShouldAllowNull(false);
fieldADDRESS.setIsPrimaryKey(false);
fieldADDRESS.setUnique(false);
fieldADDRESS.setIsIdentity(false);
fieldADDRESS.setForeignKeyFieldName("CMP3_MM_ADDRESS.ADDRESS_ID");
table.addField(fieldADDRESS);
// we are using a JoinTable - so no need for a column here
/*
FieldDefinition fieldORDERS = new FieldDefinition();
fieldORDERS.setName("ORDER_ID");
fieldORDERS.setTypeName("NUMERIC");
fieldORDERS.setSize(15);
fieldORDERS.setShouldAllowNull(false);
fieldORDERS.setIsPrimaryKey(false);
fieldORDERS.setUnique(false);
fieldORDERS.setIsIdentity(false);
fieldORDERS.setForeignKeyFieldName("CMP3_MM_ORDER.ORDER_ID");
table.addField(fieldORDERS);
*/
return table;
}
public static TableDefinition buildMETAMODEL_ORDERTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_ORDER");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("ORDER_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 fieldQUANTITY = new FieldDefinition();
fieldQUANTITY.setName("QUANTITY");
fieldQUANTITY.setTypeName("NUMERIC");
fieldQUANTITY.setSize(16);
fieldQUANTITY.setSubSize(0);
fieldQUANTITY.setIsPrimaryKey(false);
fieldQUANTITY.setIsIdentity(false);
fieldQUANTITY.setUnique(false);
fieldQUANTITY.setShouldAllowNull(true);
table.addField(fieldQUANTITY);
FieldDefinition fieldDESCRIPTION = new FieldDefinition();
fieldDESCRIPTION.setName("DESCRIPTION");
fieldDESCRIPTION.setTypeName("VARCHAR2");
fieldDESCRIPTION.setSize(60);
fieldDESCRIPTION.setSubSize(0);
fieldDESCRIPTION.setIsPrimaryKey(false);
fieldDESCRIPTION.setIsIdentity(false);
fieldDESCRIPTION.setUnique(false);
fieldDESCRIPTION.setShouldAllowNull(true);
table.addField(fieldDESCRIPTION);
FieldDefinition fieldVERSION = new FieldDefinition();
fieldVERSION.setName("ORDER_VERSION");
fieldVERSION.setTypeName("NUMERIC");
fieldVERSION.setSize(15);
fieldVERSION.setShouldAllowNull(true);
fieldVERSION.setIsPrimaryKey(false);
fieldVERSION.setUnique(false);
fieldVERSION.setIsIdentity(false);
table.addField(fieldVERSION);
// 1:m does not require a JoinTable - only a JoinColumn
FieldDefinition fieldITEM = new FieldDefinition();
fieldITEM.setName("ITEM_ITEM_ID");
fieldITEM.setTypeName("NUMERIC");
fieldITEM.setSize(16);
fieldITEM.setShouldAllowNull(false);
fieldITEM.setIsPrimaryKey(false);
fieldITEM.setUnique(false);
fieldITEM.setIsIdentity(false);
fieldITEM.setForeignKeyFieldName("CMP3_MM_ITEM.ITEM_ID");
table.addField(fieldITEM);
// 1:m does not require a JoinTable - only a JoinColumn
FieldDefinition fieldCUSTOMER = new FieldDefinition();
fieldCUSTOMER.setName("CUSTOMER_LIFEFORM_ID");
fieldCUSTOMER.setTypeName("NUMERIC");
fieldCUSTOMER.setSize(15);
fieldCUSTOMER.setShouldAllowNull(false);
fieldCUSTOMER.setIsPrimaryKey(false);
fieldCUSTOMER.setUnique(false);
fieldCUSTOMER.setIsIdentity(false);
fieldCUSTOMER.setForeignKeyFieldName("CMP3_MM_CUSTOMER.LIFEFORM_ID");
table.addField(fieldCUSTOMER);
FieldDefinition fieldADDRESS = new FieldDefinition();
fieldADDRESS.setName("BILLINGADDRESS_ADDRESS_ID");
fieldADDRESS.setTypeName("NUMERIC");
fieldADDRESS.setSize(15);
fieldADDRESS.setShouldAllowNull(false);
fieldADDRESS.setIsPrimaryKey(false);
fieldADDRESS.setUnique(false);
fieldADDRESS.setIsIdentity(false);
fieldADDRESS.setForeignKeyFieldName("CMP3_MM_ADDRESS.ADDRESS_ID");
table.addField(fieldADDRESS);
FieldDefinition fieldADDRESS2 = new FieldDefinition();
fieldADDRESS2.setName("SHIPPINGADDRESS_ADDRESS_ID");
fieldADDRESS2.setTypeName("NUMERIC");
fieldADDRESS2.setSize(15);
fieldADDRESS2.setShouldAllowNull(false);
fieldADDRESS2.setIsPrimaryKey(false);
fieldADDRESS2.setUnique(false);
fieldADDRESS2.setIsIdentity(false);
fieldADDRESS2.setForeignKeyFieldName("CMP3_MM_ADDRESS.ADDRESS_ID");
table.addField(fieldADDRESS2);
return table;
}
public static TableDefinition buildMETAMODEL_CUSTOMER_ORDER_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_CUSTOMER_MM_ORDER");
FieldDefinition fieldORDER = new FieldDefinition();
fieldORDER.setName("ORDER_ID");
fieldORDER.setTypeName("NUMERIC");
fieldORDER.setSize(15);
fieldORDER.setShouldAllowNull(false);
fieldORDER.setIsPrimaryKey(false);
fieldORDER.setUnique(false);
fieldORDER.setIsIdentity(false);
fieldORDER.setForeignKeyFieldName("CMP3_MM_ORDER.ORDER_ID");
table.addField(fieldORDER);
FieldDefinition fieldCUSTOMER = new FieldDefinition();
fieldCUSTOMER.setName("CUSTOMER_ID");
fieldCUSTOMER.setTypeName("NUMERIC");
fieldCUSTOMER.setSize(15);
fieldCUSTOMER.setShouldAllowNull(false);
fieldCUSTOMER.setIsPrimaryKey(false);
fieldCUSTOMER.setUnique(false);
fieldCUSTOMER.setIsIdentity(false);
fieldCUSTOMER.setForeignKeyFieldName("CMP3_MM_CUSTOMER.LIFEFORM_ID");
table.addField(fieldCUSTOMER);
return table;
}
/* public static TableDefinition buildMETAMODEL_ORDER_ITEM_JOINTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_ORDER_MM_ITEM");
FieldDefinition fieldORDER = new FieldDefinition();
fieldORDER.setName("ORDER_ID");
fieldORDER.setTypeName("NUMERIC");
fieldORDER.setSize(15);
fieldORDER.setShouldAllowNull(false);
fieldORDER.setIsPrimaryKey(false);
fieldORDER.setUnique(false);
fieldORDER.setIsIdentity(false);
fieldORDER.setForeignKeyFieldName("CMP3_MM_ORDER.ORDER_ID");
table.addField(fieldORDER);
FieldDefinition fieldCUSTOMER = new FieldDefinition();
fieldCUSTOMER.setName("ITEM_ID");
fieldCUSTOMER.setTypeName("NUMERIC");
fieldCUSTOMER.setSize(15);
fieldCUSTOMER.setShouldAllowNull(false);
fieldCUSTOMER.setIsPrimaryKey(false);
fieldCUSTOMER.setUnique(false);
fieldCUSTOMER.setIsIdentity(false);
fieldCUSTOMER.setForeignKeyFieldName("CMP3_MM_ITEM.ITEM_ID");
table.addField(fieldCUSTOMER);
return table;
}*/
public static TableDefinition buildMETAMODEL_ADDRESSTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_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);
FieldDefinition fieldVERSION = new FieldDefinition();
fieldVERSION.setName("ADDRESS_VERSION");
fieldVERSION.setTypeName("NUMERIC");
fieldVERSION.setSize(15);
fieldVERSION.setShouldAllowNull(true);
fieldVERSION.setIsPrimaryKey(false);
fieldVERSION.setUnique(false);
fieldVERSION.setIsIdentity(false);
table.addField(fieldVERSION);
// default DTYPE field when we subclass a non-entity
FieldDefinition fieldType = new FieldDefinition();
fieldType.setName("DTYPE");
fieldType.setTypeName("VARCHAR2");
fieldType.setSize(150);
fieldType.setSubSize(0);
fieldType.setIsPrimaryKey(false);
fieldType.setIsIdentity(false);
fieldType.setUnique(false);
fieldType.setShouldAllowNull(true);
table.addField(fieldType);
return table;
}
public static TableDefinition buildMETAMODEL_HOMEADDRESSTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_ADDRESS");
//HOMEADDRESS_ADDRESS_ID
return table;
}
public static TableDefinition buildMETAMODEL_ITEMTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_ITEM");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("ITEM_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 fieldDESCRIPTION = new FieldDefinition();
fieldDESCRIPTION.setName("DESCRIPTION");
fieldDESCRIPTION.setTypeName("VARCHAR2");
fieldDESCRIPTION.setSize(128);
fieldDESCRIPTION.setSubSize(0);
fieldDESCRIPTION.setIsPrimaryKey(false);
fieldDESCRIPTION.setIsIdentity(false);
fieldDESCRIPTION.setUnique(false);
fieldDESCRIPTION.setShouldAllowNull(true);
table.addField(fieldDESCRIPTION);
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);
FieldDefinition fieldVERSION = new FieldDefinition();
fieldVERSION.setName("ITEM_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 buildCMP3_MM_BOARD_SEQTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_BOARD_SEQ");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("SEQ_MM_COUNT");
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 fieldDESCRIPTION = new FieldDefinition();
fieldDESCRIPTION.setName("SEQ_MM_NAME");
fieldDESCRIPTION.setTypeName("VARCHAR2");
fieldDESCRIPTION.setSize(40);
fieldDESCRIPTION.setSubSize(0);
fieldDESCRIPTION.setIsPrimaryKey(false);
fieldDESCRIPTION.setIsIdentity(false);
fieldDESCRIPTION.setUnique(false);
fieldDESCRIPTION.setShouldAllowNull(true);
table.addField(fieldDESCRIPTION);
return table;
}
public static TableDefinition buildCMP3_MM_PERSON_SEQTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_PERSON_SEQ");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("SEQ_MM_COUNT");
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 fieldDESCRIPTION = new FieldDefinition();
fieldDESCRIPTION.setName("SEQ_MM_NAME");
fieldDESCRIPTION.setTypeName("VARCHAR2");
fieldDESCRIPTION.setSize(40);
fieldDESCRIPTION.setSubSize(0);
fieldDESCRIPTION.setIsPrimaryKey(false);
fieldDESCRIPTION.setIsIdentity(false);
fieldDESCRIPTION.setUnique(false);
fieldDESCRIPTION.setShouldAllowNull(true);
table.addField(fieldDESCRIPTION);
return table;
}
public static TableDefinition buildCMP3_MM_MANUF_CMP3_MM_MANUFTable() {
TableDefinition table = new TableDefinition();
table.setName("CMP3_MM_MANUF_CMP3_MM_MANUF");
FieldDefinition field = new FieldDefinition();
field.setName("ManuMetamodel_PERSON_ID");
field.setTypeName("NUMERIC");
field.setSize(15);
field.setShouldAllowNull(false);
field.setIsPrimaryKey(true);
field.setUnique(false);
field.setIsIdentity(true);
table.addField(field);
FieldDefinition field2 = new FieldDefinition();
field2.setName("historicalEmps_PERSON_ID");
field2.setTypeName("NUMERIC");
field2.setSize(15);
field2.setShouldAllowNull(false);
field2.setIsPrimaryKey(true);
field2.setUnique(false);
field2.setIsIdentity(true);
table.addField(field2);
return table;
}
}