/******************************************************************************* * Copyright (c) 2009, 2015 Sun Microsystems, Inc. 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: ******************************************************************************/ package org.eclipse.persistence.testing.models.jpa.beanvalidation; import org.eclipse.persistence.tools.schemaframework.*; public class BeanValidationTableCreator extends TableCreator { public BeanValidationTableCreator() { setName("BeanValidationEmployeeProject"); addTableDefinition(buildProjectTable()); addTableDefinition(buildEmployeeTable()); addTableDefinition(buildEmployeeProjectTable()); } public TableDefinition buildProjectTable() { TableDefinition table = new TableDefinition(); table.setName("CMP3_BV_PROJECT"); FieldDefinition fieldID = new FieldDefinition(); fieldID.setName("ID"); fieldID.setTypeName("NUMBER"); fieldID.setSize(19); fieldID.setSubSize(0); fieldID.setIsPrimaryKey(true); fieldID.setIsIdentity(true); fieldID.setShouldAllowNull(false); table.addField(fieldID); FieldDefinition fieldName = new FieldDefinition(); fieldName.setName("NAME"); fieldName.setTypeName("VARCHAR"); fieldName.setSize(20); fieldName.setShouldAllowNull(true); fieldName.setIsPrimaryKey(false); fieldName.setUnique(false); fieldName.setIsIdentity(false); table.addField(fieldName); return table; } public TableDefinition buildEmployeeTable() { TableDefinition table = new TableDefinition(); table.setName("CMP3_BV_EMPLOYEE"); FieldDefinition fieldID = new FieldDefinition(); fieldID.setName("ID"); fieldID.setTypeName("NUMBER"); fieldID.setSize(19); fieldID.setSubSize(0); fieldID.setIsPrimaryKey(true); fieldID.setIsIdentity(true); fieldID.setShouldAllowNull(false); table.addField(fieldID); FieldDefinition fieldSalaray = new FieldDefinition(); fieldSalaray.setName("SALARY"); fieldSalaray.setTypeName("NUMBER"); fieldSalaray.setSize(19); fieldSalaray.setShouldAllowNull(true); fieldSalaray.setIsPrimaryKey(false); fieldSalaray.setUnique(false); fieldSalaray.setIsIdentity(false); table.addField(fieldSalaray); FieldDefinition fieldName = new FieldDefinition(); fieldName.setName("NAME"); fieldName.setTypeName("VARCHAR"); fieldName.setSize(20); fieldName.setShouldAllowNull(true); fieldName.setIsPrimaryKey(false); fieldName.setUnique(false); fieldName.setIsIdentity(false); table.addField(fieldName); FieldDefinition fieldSurname = new FieldDefinition(); fieldSurname.setName("SURNAME"); fieldSurname.setTypeName("VARCHAR"); fieldSurname.setSize(20); fieldSurname.setShouldAllowNull(true); fieldSurname.setIsPrimaryKey(false); fieldSurname.setUnique(false); fieldSurname.setIsIdentity(false); table.addField(fieldSurname); FieldDefinition fieldManagedProject = new FieldDefinition(); fieldManagedProject.setName("MANAGEDPROJECT_ID"); fieldManagedProject.setTypeName("NUMERIC"); fieldManagedProject.setSize(19); fieldManagedProject.setShouldAllowNull(true); fieldManagedProject.setIsPrimaryKey(false); fieldManagedProject.setUnique(false); fieldManagedProject.setIsIdentity(false); fieldManagedProject.setForeignKeyFieldName("CMP3_BV_PROJECT.ID"); table.addField(fieldManagedProject); FieldDefinition fieldStreet = new FieldDefinition(); fieldStreet.setName("STREET"); fieldStreet.setTypeName("VARCHAR"); fieldStreet.setSize(20); fieldStreet.setShouldAllowNull(true); fieldStreet.setIsPrimaryKey(false); fieldStreet.setUnique(false); fieldStreet.setIsIdentity(false); table.addField(fieldStreet); FieldDefinition fieldCity = new FieldDefinition(); fieldCity.setName("CITY"); fieldCity.setTypeName("VARCHAR"); fieldCity.setSize(20); fieldCity.setShouldAllowNull(true); fieldCity.setIsPrimaryKey(false); fieldCity.setUnique(false); fieldCity.setIsIdentity(false); table.addField(fieldCity); FieldDefinition fieldState = new FieldDefinition(); fieldState.setName("STATE"); fieldState.setTypeName("VARCHAR"); fieldState.setSize(20); fieldState.setShouldAllowNull(true); fieldState.setIsPrimaryKey(false); fieldState.setUnique(false); fieldState.setIsIdentity(false); table.addField(fieldState); return table; } public TableDefinition buildEmployeeProjectTable() { TableDefinition table = new TableDefinition(); table.setName("CMP3_BV_EMPLOYEE_PROJECT"); FieldDefinition fieldEmployeeID = new FieldDefinition(); fieldEmployeeID.setName("CMP3_BV_EMPLOYEE_ID"); fieldEmployeeID.setTypeName("NUMERIC"); fieldEmployeeID.setSize(19); fieldEmployeeID.setShouldAllowNull(false); fieldEmployeeID.setIsPrimaryKey(true); fieldEmployeeID.setUnique(false); fieldEmployeeID.setIsIdentity(false); fieldEmployeeID.setForeignKeyFieldName("CMP3_BV_EMPLOYEE.ID"); table.addField(fieldEmployeeID); FieldDefinition fieldProjectID = new FieldDefinition(); fieldProjectID.setName("PROJECTS_ID"); fieldProjectID.setTypeName("NUMERIC"); fieldProjectID.setSize(19); fieldProjectID.setShouldAllowNull(false); fieldProjectID.setIsPrimaryKey(true); fieldProjectID.setUnique(false); fieldProjectID.setIsIdentity(false); fieldProjectID.setForeignKeyFieldName("CMP3_BV_PROJECT.ID"); table.addField(fieldProjectID); return table; } }