blob: 1152643a8ab20a24ee4f2f1c563759105a6ebb13 [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.legacy;
import java.math.*;
import java.sql.*;
import org.eclipse.persistence.tools.schemaframework.*;
public class LegacyTables extends TableCreator {
public static String computerDescriptionFieldName;
public LegacyTables() {
super();
addTableDefinition(addressTableDefinition());
addTableDefinition(computerTableDefinition());
addTableDefinition(insuredTableDefinition());
addTableDefinition(orderTableDefinition());
addTableDefinition(employeeTableDefinition());
addTableDefinition(shipmentTableDefinition());
}
/**
* Return a platform independant definition of the database table.
*/
public static TableDefinition addressTableDefinition() {
TableDefinition definition = new TableDefinition();
definition.setName("LEG_ADD");
definition.addPrimaryKeyField("FIRST_NM", String.class, 20);
definition.addPrimaryKeyField("LNAME", String.class, 20);
definition.addField("ADDR", String.class, 200);
definition.addForeignKeyConstraint("LEG_ADD_LEG_EMP", "FIRST_NM,LNAME", "FNAME,LNAME", "LEG_EMP");
return definition;
}
/**
* Return a platform independant definition of the database table.
*/
public static TableDefinition computerTableDefinition() {
TableDefinition definition = new TableDefinition();
definition.setName("LEG_COM");
definition.addPrimaryKeyField("CREATE_TS", Timestamp.class);
definition.addPrimaryKeyField("CREATE_TSM", Integer.class);
if (computerDescriptionFieldName == null) {
definition.addField("DESCRIP", String.class, 30);
} else {
definition.addField(computerDescriptionFieldName, String.class, 30);
}
definition.addField("EMP_FNAME", String.class, 20);
definition.addField("EMP_LNAME", String.class, 20);
definition.addForeignKeyConstraint("LEG_COM_LEG_EMP", "EMP_FNAME,EMP_LNAME", "FNAME,LNAME", "LEG_EMP");
return definition;
}
/**
* Return a platform independant definition of the database table.
*/
public static TableDefinition employeeTableDefinition() {
TableDefinition definition = new TableDefinition();
definition.setName("LEG_EMP");
definition.addPrimaryKeyField("FNAME", String.class, 20);
definition.addPrimaryKeyField("LNAME", String.class, 20);
return definition;
}
/**
* Return a platform independant definition of the database table.
*/
public static TableDefinition insuredTableDefinition() {
TableDefinition definition = new TableDefinition();
definition.setName("LEG_ISHP");
definition.addPrimaryKeyField("F_NAME", String.class, 20);
definition.addPrimaryKeyField("L_NAME", String.class, 20);
definition.addPrimaryKeyField("SHIP_NO", BigDecimal.class);
definition.addField("INS_AMT", Double.class, 10);
definition.addForeignKeyConstraint("LEG_ISHP_LEG_SHP", "F_NAME,L_NAME,SHIP_NO", "FNAME,LNAME,SHIP_NO", "LEG_SHP");
return definition;
}
/**
* Return a platform independant definition of the database table.
*/
public static TableDefinition orderTableDefinition() {
TableDefinition definition = new TableDefinition();
definition.setName("LEG_ORD");
definition.addPrimaryKeyField("FNAME", String.class, 20);
definition.addPrimaryKeyField("LNAME", String.class, 20);
definition.addPrimaryKeyField("SHIP_NO", BigDecimal.class);
definition.addPrimaryKeyField("ORDER_NO", BigDecimal.class);
definition.addField("DESCRIP", String.class, 50);
definition.addForeignKeyConstraint("LEG_ORD_LEG_SHP", "FNAME,LNAME,SHIP_NO", "FNAME,LNAME,SHIP_NO", "LEG_SHP");
return definition;
}
/**
* Return a platform independant definition of the database table.
*/
public static TableDefinition shipmentTableDefinition() {
TableDefinition definition = new TableDefinition();
definition.setName("LEG_SHP");
definition.addPrimaryKeyField("FNAME", String.class, 20);
definition.addPrimaryKeyField("LNAME", String.class, 20);
definition.addPrimaryKeyField("SHIP_NO", BigDecimal.class);
definition.addField("QUANTITY", String.class, 10);
definition.addField("SHP_MODE", String.class, 15);
definition.addField("TYPE", String.class, 10);
definition.addField("INS_AMT", Double.class, 10);
definition.addForeignKeyConstraint("LEG_SHP_LEG_EMP", "FNAME,LNAME", "FNAME,LNAME", "LEG_EMP");
return definition;
}
}