/*******************************************************************************
* Copyright (c) 2011, 2016 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:
* 01/19/2010-2.1 Guy Pelletier
* - 211322: Add fetch-group(s) support to the EclipseLink-ORM.XML Schema
* 01/16/2016-2.7 Mythily Parthasarathy
* 485984: Added SHELF table and reference to SHELF in HELMET
******************************************************************************/
package org.eclipse.persistence.testing.models.jpa.advanced.fetchgroup;
import org.eclipse.persistence.tools.schemaframework.*;
import org.eclipse.persistence.testing.framework.TogglingFastTableCreator;
public class AdvancedFetchGroupTableCreator extends TogglingFastTableCreator {
public AdvancedFetchGroupTableCreator() {
setName("AdvancedFetchGroupTableCreator");
addTableDefinition(buildHOCKEYGEARTable());
addTableDefinition(buildPADSTable());
addTableDefinition(buildCHESTPROTECTORTable());
addTableDefinition(buildHELMETTable());
addTableDefinition(buildHELMET_PROPERTIESTable());
addTableDefinition(buildSHELFTable());
}
public static TableDefinition buildHOCKEYGEARTable(){
TableDefinition table = new TableDefinition();
table.setName("JPA_HOCKEY_GEAR");
FieldDefinition fieldSERIAL_NUMBER = new FieldDefinition();
fieldSERIAL_NUMBER.setName("SERIAL_NUMBER");
fieldSERIAL_NUMBER.setTypeName("NUMERIC");
fieldSERIAL_NUMBER.setSize(15);
fieldSERIAL_NUMBER.setShouldAllowNull(false);
fieldSERIAL_NUMBER.setIsPrimaryKey(true);
fieldSERIAL_NUMBER.setUnique(false);
fieldSERIAL_NUMBER.setIsIdentity(false);
table.addField(fieldSERIAL_NUMBER);
FieldDefinition fieldMSRP = new FieldDefinition();
fieldMSRP.setName("MSRP");
fieldMSRP.setTypeName("DOUBLE PRECIS");
fieldMSRP.setSize(18);
fieldMSRP.setShouldAllowNull(true);
fieldMSRP.setIsPrimaryKey(false);
fieldMSRP.setUnique(false);
fieldMSRP.setIsIdentity(false);
table.addField(fieldMSRP);
FieldDefinition fieldDESCRIPTION = new FieldDefinition();
fieldDESCRIPTION.setName("DESCRIP");
fieldDESCRIPTION.setTypeName("VARCHAR");
fieldDESCRIPTION.setSize(40);
fieldDESCRIPTION.setShouldAllowNull(true);
fieldDESCRIPTION.setIsPrimaryKey(false);
fieldDESCRIPTION.setUnique(false);
fieldDESCRIPTION.setIsIdentity(false);
table.addField(fieldDESCRIPTION);
FieldDefinition fieldGEARTYPE = new FieldDefinition();
fieldGEARTYPE.setName("GEAR_TYPE");
fieldGEARTYPE.setTypeName("VARCHAR");
fieldGEARTYPE.setSize(10);
fieldGEARTYPE.setShouldAllowNull(true);
fieldGEARTYPE.setIsPrimaryKey(false);
fieldGEARTYPE.setUnique(false);
fieldGEARTYPE.setIsIdentity(false);
table.addField(fieldGEARTYPE);
return table;
}
public static TableDefinition buildPADSTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_PADS");
FieldDefinition fieldSERIAL_NUMBER = new FieldDefinition();
fieldSERIAL_NUMBER.setName("SERIAL_NUMBER");
fieldSERIAL_NUMBER.setTypeName("NUMERIC");
fieldSERIAL_NUMBER.setSize(15);
fieldSERIAL_NUMBER.setShouldAllowNull(false);
fieldSERIAL_NUMBER.setIsPrimaryKey(true);
fieldSERIAL_NUMBER.setUnique(false);
fieldSERIAL_NUMBER.setIsIdentity(false);
table.addField(fieldSERIAL_NUMBER);
FieldDefinition fieldWEIGHT = new FieldDefinition();
fieldWEIGHT.setName("WEIGHT");
fieldWEIGHT.setTypeName("DOUBLE PRECIS");
fieldWEIGHT.setSize(10);
fieldWEIGHT.setShouldAllowNull(true);
fieldWEIGHT.setIsPrimaryKey(false);
fieldWEIGHT.setUnique(false);
fieldWEIGHT.setIsIdentity(false);
table.addField(fieldWEIGHT);
FieldDefinition fieldHEIGHT = new FieldDefinition();
fieldHEIGHT.setName("HEIGHT");
fieldHEIGHT.setTypeName("DOUBLE PRECIS");
fieldHEIGHT.setSize(10);
fieldHEIGHT.setShouldAllowNull(true);
fieldHEIGHT.setIsPrimaryKey(false);
fieldHEIGHT.setUnique(false);
fieldHEIGHT.setIsIdentity(false);
table.addField(fieldHEIGHT);
FieldDefinition fieldWIDTH = new FieldDefinition();
fieldWIDTH.setName("WIDTH");
fieldWIDTH.setTypeName("DOUBLE PRECIS");
fieldWIDTH.setSize(10);
fieldWIDTH.setShouldAllowNull(true);
fieldWIDTH.setIsPrimaryKey(false);
fieldWIDTH.setUnique(false);
fieldWIDTH.setIsIdentity(false);
table.addField(fieldWIDTH);
FieldDefinition fieldAGEGROUP = new FieldDefinition();
fieldAGEGROUP.setName("AGEGROUP");
fieldAGEGROUP.setTypeName("NUMERIC");
fieldAGEGROUP.setSize(15);
fieldAGEGROUP.setIsPrimaryKey(false);
fieldAGEGROUP.setUnique(false);
fieldAGEGROUP.setIsIdentity(false);
fieldAGEGROUP.setShouldAllowNull(true);
table.addField(fieldAGEGROUP);
return table;
}
public static TableDefinition buildCHESTPROTECTORTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_CHEST_PROTECT");
FieldDefinition fieldSERIAL_NUMBER = new FieldDefinition();
fieldSERIAL_NUMBER.setName("SERIAL_NUMBER");
fieldSERIAL_NUMBER.setTypeName("NUMERIC");
fieldSERIAL_NUMBER.setSize(15);
fieldSERIAL_NUMBER.setShouldAllowNull(false);
fieldSERIAL_NUMBER.setIsPrimaryKey(true);
fieldSERIAL_NUMBER.setUnique(false);
fieldSERIAL_NUMBER.setIsIdentity(false);
table.addField(fieldSERIAL_NUMBER);
FieldDefinition fieldSIZE = new FieldDefinition();
fieldSIZE.setName("C_SIZE");
fieldSIZE.setTypeName("VARCHAR");
fieldSIZE.setSize(40);
fieldSIZE.setShouldAllowNull(true);
fieldSIZE.setIsPrimaryKey(false);
fieldSIZE.setUnique(false);
fieldSIZE.setIsIdentity(false);
table.addField(fieldSIZE);
FieldDefinition fieldAGEGROUP = new FieldDefinition();
fieldAGEGROUP.setName("AGEGROUP");
fieldAGEGROUP.setTypeName("NUMERIC");
fieldAGEGROUP.setSize(15);
fieldAGEGROUP.setIsPrimaryKey(false);
fieldAGEGROUP.setUnique(false);
fieldAGEGROUP.setIsIdentity(false);
fieldAGEGROUP.setShouldAllowNull(true);
table.addField(fieldAGEGROUP);
return table;
}
public static TableDefinition buildHELMETTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_HELMET");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setShouldAllowNull(false);
fieldID.setIsPrimaryKey(true);
fieldID.setUnique(false);
fieldID.setIsIdentity(false);
table.addField(fieldID);
FieldDefinition fieldCOLOR = new FieldDefinition();
fieldCOLOR.setName("COLOR");
fieldCOLOR.setTypeName("VARCHAR");
fieldCOLOR.setSize(42);
fieldCOLOR.setShouldAllowNull(true);
fieldCOLOR.setIsPrimaryKey(false);
fieldCOLOR.setUnique(false);
fieldCOLOR.setIsIdentity(false);
table.addField(fieldCOLOR);
FieldDefinition shelfFK = new FieldDefinition();
shelfFK.setName("SHELF_ID");
shelfFK.setTypeName("NUMERIC");
shelfFK.setSize(15);
shelfFK.setShouldAllowNull(true);
shelfFK.setIsPrimaryKey(false);
shelfFK.setUnique(false);
shelfFK.setIsIdentity(false);
table.addField(shelfFK);
return table;
}
public static TableDefinition buildHELMET_PROPERTIESTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_HELMET_PROPERTIES");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("HELMET_ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setShouldAllowNull(false);
fieldID.setIsPrimaryKey(true);
fieldID.setUnique(false);
fieldID.setIsIdentity(false);
table.addField(fieldID);
FieldDefinition fieldPROPERTY_NAME = new FieldDefinition();
fieldPROPERTY_NAME.setName("PROPERTY_NAME");
fieldPROPERTY_NAME.setTypeName("VARCHAR");
fieldPROPERTY_NAME.setSize(42);
fieldPROPERTY_NAME.setShouldAllowNull(true);
fieldPROPERTY_NAME.setIsPrimaryKey(false);
fieldPROPERTY_NAME.setUnique(false);
fieldPROPERTY_NAME.setIsIdentity(false);
table.addField(fieldPROPERTY_NAME);
FieldDefinition fieldPROPERTY_VALUE = new FieldDefinition();
fieldPROPERTY_VALUE.setName("PROPERTY_VALUE");
fieldPROPERTY_VALUE.setTypeName("VARCHAR");
fieldPROPERTY_VALUE.setSize(42);
fieldPROPERTY_VALUE.setShouldAllowNull(true);
fieldPROPERTY_VALUE.setIsPrimaryKey(false);
fieldPROPERTY_VALUE.setUnique(false);
fieldPROPERTY_VALUE.setIsIdentity(false);
table.addField(fieldPROPERTY_VALUE);
return table;
}
public static TableDefinition buildSHELFTable() {
TableDefinition table = new TableDefinition();
table.setName("JPA_SHELF");
FieldDefinition fieldID = new FieldDefinition();
fieldID.setName("ID");
fieldID.setTypeName("NUMERIC");
fieldID.setSize(15);
fieldID.setShouldAllowNull(false);
fieldID.setIsPrimaryKey(true);
fieldID.setUnique(false);
fieldID.setIsIdentity(false);
table.addField(fieldID);
FieldDefinition fieldNAME = new FieldDefinition();
fieldNAME.setName("NAME");
fieldNAME.setTypeName("VARCHAR");
fieldNAME.setSize(42);
fieldNAME.setShouldAllowNull(true);
fieldNAME.setIsPrimaryKey(false);
fieldNAME.setUnique(false);
fieldNAME.setIsIdentity(false);
table.addField(fieldNAME);
return table;
}
}