/******************************************************************************* * Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Oracle - initial API and implementation from Oracle TopLink ******************************************************************************/ package org.eclipse.persistence.testing.models.multipletable; import org.eclipse.persistence.tools.schemaframework.*; /** * Creates the necessary tables for the MultipleTableProject. * * @author Guy Pelletier * @version 1.0 * @date June 17, 2005 */ public class MultipleTableTableCreator extends TableCreator { public MultipleTableTableCreator() { setName("MultipleTableTableCreator"); addTableDefinition(buildCOWTable()); addTableDefinition(buildCALFSTable()); addTableDefinition(buildCOW_AGETable()); addTableDefinition(buildCOW_WEIGHTTable()); addTableDefinition(buildSUPER_COWTable()); addTableDefinition(buildHORSETable()); addTableDefinition(buildFOALSTable()); addTableDefinition(buildHORSE_AGETable()); addTableDefinition(buildHORSE_WEIGHTTable()); addTableDefinition(buildSUPER_HORSETable()); addTableDefinition(buildHUMANTable()); addTableDefinition(buildKIDSTable()); addTableDefinition(buildSWANTable()); addTableDefinition(buildCYGNETSTable()); addTableDefinition(buildSWAN_AGETable()); addTableDefinition(buildSWAN_WEIGHTTable()); addTableDefinition(buildSUPER_SWANTable()); addTableDefinition(buildSWAN_WINGSPANTable()); } protected TableDefinition buildCOWTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_COW"); FieldDefinition field = new FieldDefinition(); field.setName("ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition typeField = new FieldDefinition(); typeField.setName("TYPE"); typeField.setTypeName("VARCHAR"); typeField.setSize(3); typeField.setShouldAllowNull(true); typeField.setIsPrimaryKey(false); typeField.setUnique(false); typeField.setIsIdentity(false); table.addField(typeField); FieldDefinition field1 = new FieldDefinition(); field1.setName("CALFS_ID"); field1.setTypeName("NUMERIC"); field1.setSize(15); field1.setShouldAllowNull(false); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); FieldDefinition field2 = new FieldDefinition(); field2.setName("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("AGE_ID"); field3.setTypeName("NUMERIC"); field3.setSize(15); field3.setShouldAllowNull(false); field3.setIsPrimaryKey(false); field3.setUnique(false); field3.setIsIdentity(false); table.addField(field3); FieldDefinition field4 = new FieldDefinition(); field4.setName("WEIGHT_ID"); field4.setTypeName("NUMERIC"); field4.setSize(15); field4.setShouldAllowNull(false); field4.setIsPrimaryKey(false); field4.setUnique(false); field4.setIsIdentity(false); table.addField(field4); ForeignKeyConstraint foreignKeyCOW_CALFS = new ForeignKeyConstraint(); foreignKeyCOW_CALFS.setName("COW_CALFS"); foreignKeyCOW_CALFS.setTargetTable("MULTI_CALFS"); foreignKeyCOW_CALFS.addSourceField("CALFS_ID"); foreignKeyCOW_CALFS.addTargetField("C_ID"); table.addForeignKeyConstraint(foreignKeyCOW_CALFS); ForeignKeyConstraint foreignKeyCOW_AGE = new ForeignKeyConstraint(); foreignKeyCOW_AGE.setName("COW_AGE"); foreignKeyCOW_AGE.setTargetTable("MULTI_COW_AGE"); foreignKeyCOW_AGE.addSourceField("AGE_ID"); foreignKeyCOW_AGE.addTargetField("A_ID"); table.addForeignKeyConstraint(foreignKeyCOW_AGE); ForeignKeyConstraint foreignKeyCOW_WEIGHT = new ForeignKeyConstraint(); foreignKeyCOW_WEIGHT.setName("COW_WEIGHT"); foreignKeyCOW_WEIGHT.setTargetTable("MULTI_COW_WEIGHT"); foreignKeyCOW_WEIGHT.addSourceField("WEIGHT_ID"); foreignKeyCOW_WEIGHT.addTargetField("W_ID"); table.addForeignKeyConstraint(foreignKeyCOW_WEIGHT); return table; } protected TableDefinition buildCALFSTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_CALFS"); FieldDefinition field = new FieldDefinition(); field.setName("C_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition field1 = new FieldDefinition(); field1.setName("CALFS"); field1.setTypeName("NUMERIC"); field1.setSize(10); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); return table; } protected TableDefinition buildCOW_AGETable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_COW_AGE"); FieldDefinition field = new FieldDefinition(); field.setName("A_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition field1 = new FieldDefinition(); field1.setName("AGE"); field1.setTypeName("NUMERIC"); field1.setSize(10); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); return table; } protected TableDefinition buildCOW_WEIGHTTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_COW_WEIGHT"); FieldDefinition field = new FieldDefinition(); field.setName("W_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition field1 = new FieldDefinition(); field1.setName("WEIGHT"); field1.setTypeName("NUMERIC"); field1.setSize(10); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); return table; } protected TableDefinition buildSUPER_COWTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_SUPER_COW"); FieldDefinition field = new FieldDefinition(); field.setName("SC_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); field.setForeignKeyFieldName("MULTI_COW.ID"); table.addField(field); FieldDefinition sppedField = new FieldDefinition(); sppedField.setName("SPEED"); sppedField.setTypeName("NUMERIC"); sppedField.setSize(15); sppedField.setShouldAllowNull(false); sppedField.setIsPrimaryKey(false); sppedField.setUnique(false); sppedField.setIsIdentity(false); table.addField(sppedField); return table; } protected TableDefinition buildHORSETable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_HORSE"); FieldDefinition field = new FieldDefinition(); field.setName("ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition typeField = new FieldDefinition(); typeField.setName("TYPE"); typeField.setTypeName("VARCHAR"); typeField.setSize(3); typeField.setShouldAllowNull(true); typeField.setIsPrimaryKey(false); typeField.setUnique(false); typeField.setIsIdentity(false); table.addField(typeField); FieldDefinition field1 = new FieldDefinition(); field1.setName("NAME"); field1.setTypeName("VARCHAR"); field1.setSize(40); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); return table; } protected TableDefinition buildFOALSTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_FOALS"); FieldDefinition field = new FieldDefinition(); field.setName("F_HORSE_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("FOALS"); field1.setTypeName("NUMERIC"); field1.setSize(10); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); ForeignKeyConstraint foreignKeyFOALS_HORSE = new ForeignKeyConstraint(); foreignKeyFOALS_HORSE.setName("FOALS_HORSE"); foreignKeyFOALS_HORSE.setTargetTable("MULTI_HORSE"); foreignKeyFOALS_HORSE.addSourceField("F_HORSE_ID"); foreignKeyFOALS_HORSE.addTargetField("ID"); table.addForeignKeyConstraint(foreignKeyFOALS_HORSE); return table; } protected TableDefinition buildHORSE_AGETable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_HORSE_AGE"); FieldDefinition field = new FieldDefinition(); field.setName("A_HORSE_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition field1 = new FieldDefinition(); field1.setName("AGE"); field1.setTypeName("NUMERIC"); field1.setSize(10); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); ForeignKeyConstraint foreignKeyHORSE_AGE = new ForeignKeyConstraint(); foreignKeyHORSE_AGE.setName("AGE_HORSE"); foreignKeyHORSE_AGE.setTargetTable("MULTI_HORSE"); foreignKeyHORSE_AGE.addSourceField("A_HORSE_ID"); foreignKeyHORSE_AGE.addTargetField("ID"); table.addForeignKeyConstraint(foreignKeyHORSE_AGE); return table; } protected TableDefinition buildHORSE_WEIGHTTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_HORSE_WEIGHT"); FieldDefinition field = new FieldDefinition(); field.setName("W_HORSE_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition field1 = new FieldDefinition(); field1.setName("WEIGHT"); field1.setTypeName("NUMERIC"); field1.setSize(10); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); ForeignKeyConstraint foreignKeyHORSE_WEIGHT = new ForeignKeyConstraint(); foreignKeyHORSE_WEIGHT.setName("WEIGHT_HORSE"); foreignKeyHORSE_WEIGHT.setTargetTable("MULTI_HORSE"); foreignKeyHORSE_WEIGHT.addSourceField("W_HORSE_ID"); foreignKeyHORSE_WEIGHT.addTargetField("ID"); table.addForeignKeyConstraint(foreignKeyHORSE_WEIGHT); return table; } protected TableDefinition buildSUPER_HORSETable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_SUPER_HORSE"); FieldDefinition field = new FieldDefinition(); field.setName("SH_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); field.setForeignKeyFieldName("MULTI_HORSE.ID"); table.addField(field); FieldDefinition sppedField = new FieldDefinition(); sppedField.setName("SPEED"); sppedField.setTypeName("NUMERIC"); sppedField.setSize(15); sppedField.setShouldAllowNull(false); sppedField.setIsPrimaryKey(false); sppedField.setUnique(false); sppedField.setIsIdentity(false); table.addField(sppedField); return table; } protected TableDefinition buildHUMANTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_HUMAN"); FieldDefinition field = new FieldDefinition(); field.setName("ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition field1 = new FieldDefinition(); field1.setName("NAME"); field1.setTypeName("VARCHAR"); field1.setSize(40); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); return table; } protected TableDefinition buildKIDSTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_KIDS"); FieldDefinition field = new FieldDefinition(); field.setName("ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition field1 = new FieldDefinition(); field1.setName("KIDS"); field1.setTypeName("NUMERIC"); field1.setSize(10); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); ForeignKeyConstraint foreignKeyKIDS_HUMAN = new ForeignKeyConstraint(); foreignKeyKIDS_HUMAN.setName("KIDS_HUMAN"); foreignKeyKIDS_HUMAN.setTargetTable("MULTI_HUMAN"); foreignKeyKIDS_HUMAN.addSourceField("ID"); foreignKeyKIDS_HUMAN.addTargetField("ID"); table.addForeignKeyConstraint(foreignKeyKIDS_HUMAN); return table; } protected TableDefinition buildSWANTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_SWAN"); FieldDefinition field = new FieldDefinition(); field.setName("ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition typeField = new FieldDefinition(); typeField.setName("TYPE"); typeField.setTypeName("VARCHAR"); typeField.setSize(3); typeField.setShouldAllowNull(true); typeField.setIsPrimaryKey(false); typeField.setUnique(false); typeField.setIsIdentity(false); table.addField(typeField); FieldDefinition field1 = new FieldDefinition(); field1.setName("NAME"); field1.setTypeName("VARCHAR"); field1.setSize(40); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); ForeignKeyConstraint foreignKeySWAN_CYGNET = new ForeignKeyConstraint(); foreignKeySWAN_CYGNET.setName("SWAN_CYGNET"); foreignKeySWAN_CYGNET.setTargetTable("MULTI_CYGNETS"); foreignKeySWAN_CYGNET.addSourceField("ID"); foreignKeySWAN_CYGNET.addTargetField("C_SWAN_ID"); table.addForeignKeyConstraint(foreignKeySWAN_CYGNET); return table; } protected TableDefinition buildCYGNETSTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_CYGNETS"); FieldDefinition field = new FieldDefinition(); field.setName("C_SWAN_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition field1 = new FieldDefinition(); field1.setName("CYGNETS"); field1.setTypeName("NUMERIC"); field1.setSize(10); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); return table; } protected TableDefinition buildSWAN_AGETable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_SWAN_AGE"); FieldDefinition field = new FieldDefinition(); field.setName("A_SWAN_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition field1 = new FieldDefinition(); field1.setName("AGE"); field1.setTypeName("NUMERIC"); field1.setSize(10); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); ForeignKeyConstraint foreignKeySWAN_AGE = new ForeignKeyConstraint(); foreignKeySWAN_AGE.setName("AGE_SWAN"); foreignKeySWAN_AGE.setTargetTable("MULTI_SWAN"); foreignKeySWAN_AGE.addSourceField("A_SWAN_ID"); foreignKeySWAN_AGE.addTargetField("ID"); table.addForeignKeyConstraint(foreignKeySWAN_AGE); return table; } protected TableDefinition buildSWAN_WINGSPANTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_SWAN_WINGSPAN"); FieldDefinition field = new FieldDefinition(); field.setName("A_SWAN_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition field1 = new FieldDefinition(); field1.setName("WING_SPAN"); field1.setTypeName("NUMERIC"); field1.setSize(10); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); ForeignKeyConstraint foreignKeySWAN_WING_SPAN = new ForeignKeyConstraint(); foreignKeySWAN_WING_SPAN.setName("WING_SPAN"); foreignKeySWAN_WING_SPAN.setTargetTable("MULTI_SUPER_SWAN"); foreignKeySWAN_WING_SPAN.addSourceField("A_SWAN_ID"); foreignKeySWAN_WING_SPAN.addTargetField("SS_ID"); table.addForeignKeyConstraint(foreignKeySWAN_WING_SPAN); return table; } protected TableDefinition buildSWAN_WEIGHTTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_SWAN_WEIGHT"); FieldDefinition field = new FieldDefinition(); field.setName("W_SWAN_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); table.addField(field); FieldDefinition field1 = new FieldDefinition(); field1.setName("WEIGHT"); field1.setTypeName("NUMERIC"); field1.setSize(10); field1.setShouldAllowNull(true); field1.setIsPrimaryKey(false); field1.setUnique(false); field1.setIsIdentity(false); table.addField(field1); ForeignKeyConstraint foreignKeySWAN_WEIGHT = new ForeignKeyConstraint(); foreignKeySWAN_WEIGHT.setName("WIGHT_SWAN"); foreignKeySWAN_WEIGHT.setTargetTable("MULTI_SWAN"); foreignKeySWAN_WEIGHT.addSourceField("W_SWAN_ID"); foreignKeySWAN_WEIGHT.addTargetField("ID"); table.addForeignKeyConstraint(foreignKeySWAN_WEIGHT); return table; } protected TableDefinition buildSUPER_SWANTable() { TableDefinition table = new TableDefinition(); table.setName("MULTI_SUPER_SWAN"); FieldDefinition field = new FieldDefinition(); field.setName("SS_ID"); field.setTypeName("NUMERIC"); field.setSize(15); field.setShouldAllowNull(false); field.setIsPrimaryKey(true); field.setUnique(false); field.setIsIdentity(false); field.setForeignKeyFieldName("MULTI_SWAN.ID"); table.addField(field); FieldDefinition sppedField = new FieldDefinition(); sppedField.setName("SPEED"); sppedField.setTypeName("NUMERIC"); sppedField.setSize(15); sppedField.setShouldAllowNull(false); sppedField.setIsPrimaryKey(false); sppedField.setUnique(false); sppedField.setIsIdentity(false); table.addField(sppedField); return table; } }