blob: ec3195dc0887eaad2eb1ac9a912893adf6362ae2 [file] [log] [blame]
/*
* Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.testing.models.mapping;
import org.eclipse.persistence.tools.schemaframework.FieldDefinition;
import org.eclipse.persistence.tools.schemaframework.ForeignKeyConstraint;
import org.eclipse.persistence.tools.schemaframework.TableDefinition;
public class LegacyTableMaker extends org.eclipse.persistence.tools.schemaframework.TableCreator {
public LegacyTableMaker() {
setName("LegacyTestCase");
buildMUL_ADDRTable();
buildMUL_EMPTable();
buildMUL_CTRYTable();
}
protected void buildMUL_ADDRTable() {
TableDefinition tabledefinition = new TableDefinition();
// SECTION: TABLE
tabledefinition.setName("MUL_ADDR");
// SECTION: FIELD
FieldDefinition field = new FieldDefinition();
field.setName("CITY");
field.setTypeName("VARCHAR");
field.setSize(10);
field.setShouldAllowNull(true);
field.setIsPrimaryKey(false);
field.setUnique(false);
field.setIsIdentity(false);
tabledefinition.addField(field);
// SECTION: FIELD
FieldDefinition field1 = new FieldDefinition();
field1.setName("CNTRY_ID");
field1.setTypeName("NUMERIC");
field1.setSize(5);
field1.setShouldAllowNull(true);
field1.setIsPrimaryKey(false);
field1.setUnique(false);
field1.setIsIdentity(false);
tabledefinition.addField(field1);
// SECTION: FIELD
FieldDefinition field2 = new FieldDefinition();
field2.setName("PROVINCE");
field2.setTypeName("VARCHAR");
field2.setSize(10);
field2.setShouldAllowNull(true);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
tabledefinition.addField(field2);
// SECTION: FIELD
FieldDefinition field3 = new FieldDefinition();
field3.setName("ADDR_ID");
field3.setTypeName("NUMERIC");
field3.setSize(10);
field3.setShouldAllowNull(false);
field3.setIsPrimaryKey(true);
field3.setUnique(false);
field3.setIsIdentity(false);
tabledefinition.addField(field3);
ForeignKeyConstraint foreignKeyADDRESS_COUNTRY = new ForeignKeyConstraint();
foreignKeyADDRESS_COUNTRY.setName("ADDRESS_COUNTRY");
foreignKeyADDRESS_COUNTRY.setTargetTable("MUL_CTRY");
foreignKeyADDRESS_COUNTRY.addSourceField("CNTRY_ID");
foreignKeyADDRESS_COUNTRY.addTargetField("CNTRY_ID");
tabledefinition.addForeignKeyConstraint(foreignKeyADDRESS_COUNTRY);
addTableDefinition(tabledefinition);
}
protected void buildMUL_CTRYTable() {
TableDefinition tabledefinition = new TableDefinition();
// SECTION: TABLE
tabledefinition.setName("MUL_CTRY");
// SECTION: FIELD
FieldDefinition field = new FieldDefinition();
field.setName("COUNTRY");
field.setTypeName("VARCHAR");
field.setSize(10);
field.setShouldAllowNull(true);
field.setIsPrimaryKey(false);
field.setUnique(false);
field.setIsIdentity(false);
tabledefinition.addField(field);
// SECTION: FIELD
FieldDefinition field1 = new FieldDefinition();
field1.setName("CNTRY_ID");
field1.setTypeName("NUMERIC");
field1.setSize(5);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(true);
field1.setUnique(false);
field1.setIsIdentity(false);
tabledefinition.addField(field1);
addTableDefinition(tabledefinition);
}
protected void buildMUL_EMPTable() {
TableDefinition tabledefinition = new TableDefinition();
// SECTION: TABLE
tabledefinition.setName("MUL_EMP");
// SECTION: FIELD
FieldDefinition field = new FieldDefinition();
field.setName("FIRST_NAME");
field.setTypeName("VARCHAR");
field.setSize(10);
field.setShouldAllowNull(true);
field.setIsPrimaryKey(false);
field.setUnique(false);
field.setIsIdentity(false);
tabledefinition.addField(field);
// SECTION: FIELD
FieldDefinition field1 = new FieldDefinition();
field1.setName("EMP_ID");
field1.setTypeName("NUMERIC");
field1.setSize(10);
field1.setShouldAllowNull(false);
field1.setIsPrimaryKey(true);
field1.setUnique(false);
field1.setIsIdentity(false);
tabledefinition.addField(field1);
// SECTION: FIELD
FieldDefinition field2 = new FieldDefinition();
field2.setName("LAST_NAME");
field2.setTypeName("VARCHAR");
field2.setSize(10);
field2.setShouldAllowNull(true);
field2.setIsPrimaryKey(false);
field2.setUnique(false);
field2.setIsIdentity(false);
tabledefinition.addField(field2);
// SECTION: FIELD
FieldDefinition field3 = new FieldDefinition();
field3.setName("SEX");
field3.setTypeName("VARCHAR");
field3.setSize(10);
field3.setShouldAllowNull(true);
field3.setIsPrimaryKey(false);
field3.setUnique(false);
field3.setIsIdentity(false);
tabledefinition.addField(field3);
// SECTION: FIELD
FieldDefinition field4 = new FieldDefinition();
field4.setName("ADDR_ID");
field4.setTypeName("NUMERIC");
field4.setSize(10);
field4.setShouldAllowNull(true);
field4.setIsPrimaryKey(false);
field4.setUnique(false);
field4.setIsIdentity(false);
tabledefinition.addField(field4);
addTableDefinition(tabledefinition);
ForeignKeyConstraint foreignKeyEMPLOYEE_ADDRESS = new ForeignKeyConstraint();
foreignKeyEMPLOYEE_ADDRESS.setName("EMPLOYEE_ADDRESS");
foreignKeyEMPLOYEE_ADDRESS.setTargetTable("MUL_ADDR");
foreignKeyEMPLOYEE_ADDRESS.addSourceField("ADDR_ID");
foreignKeyEMPLOYEE_ADDRESS.addTargetField("ADDR_ID");
tabledefinition.addForeignKeyConstraint(foreignKeyEMPLOYEE_ADDRESS);
}
}