/******************************************************************************* | |
* Copyright (c) 1998, 2013 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.mapping; | |
import java.util.Vector; | |
import org.eclipse.persistence.descriptors.RelationalDescriptor; | |
import org.eclipse.persistence.internal.identitymaps.FullIdentityMap; | |
import org.eclipse.persistence.mappings.DirectCollectionMapping; | |
import org.eclipse.persistence.mappings.DirectToFieldMapping; | |
import org.eclipse.persistence.mappings.ManyToManyMapping; | |
import org.eclipse.persistence.mappings.OneToManyMapping; | |
import org.eclipse.persistence.mappings.OneToOneMapping; | |
import org.eclipse.persistence.mappings.TransformationMapping; | |
import org.eclipse.persistence.mappings.converters.ObjectTypeConverter; | |
import org.eclipse.persistence.mappings.converters.SerializedObjectConverter; | |
import org.eclipse.persistence.mappings.converters.TypeConversionConverter; | |
import org.eclipse.persistence.sessions.Project; | |
import org.eclipse.persistence.testing.models.mapping.Address; | |
import org.eclipse.persistence.testing.models.mapping.Computer; | |
import org.eclipse.persistence.testing.models.mapping.Employee; | |
import org.eclipse.persistence.testing.models.mapping.Monitor; | |
import org.eclipse.persistence.testing.models.mapping.Shipment; | |
public class MappingProject extends Project { | |
public MappingProject() { | |
setName("ComplexMappingSystem"); | |
buildAddressDescriptor(); | |
buildCompanyCardDescriptor(); | |
buildComputerDescriptor(); | |
buildCubicleDescriptor(); | |
buildEmergencyExitDescriptor(); | |
buildEmployeeDescriptor(); | |
buildHardwareDescriptor(); | |
buildMonitorDescriptor(); | |
buildPhoneDescriptor(); | |
buildShipmentDescriptor(); | |
buildSecureSystemDescriptor(); | |
buildIdentificationDescriptor(); | |
buildPeripheralDescriptor(); | |
} | |
protected void buildAddressDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
// SECTION: DESCRIPTOR | |
descriptor.setJavaClass(Address.class); | |
Vector vector = new Vector(); | |
vector.addElement("MAP_ADD"); | |
descriptor.setTableNames(vector); | |
descriptor.addPrimaryKeyFieldName("MAP_ADD.A_ID"); | |
// SECTION: PROPERTIES | |
descriptor.setSequenceNumberName("SEQ_ID"); | |
descriptor.setSequenceNumberFieldName("A_ID"); | |
// SECTION: COPY POLICY | |
descriptor.createCopyPolicy("constructor"); | |
descriptor.useWeakIdentityMap(); | |
// SECTION: INSTANTIATION POLICY | |
descriptor.createInstantiationPolicy("constructor"); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping = new DirectToFieldMapping(); | |
directtofieldmapping.setAttributeName("id"); | |
directtofieldmapping.setIsReadOnly(false); | |
directtofieldmapping.setFieldName("MAP_ADD.A_ID"); | |
descriptor.addMapping(directtofieldmapping); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping1 = new DirectToFieldMapping(); | |
directtofieldmapping1.setAttributeName("location"); | |
directtofieldmapping1.setIsReadOnly(false); | |
directtofieldmapping1.setFieldName("MAP_ADD.LOCATION"); | |
descriptor.addMapping(directtofieldmapping1); | |
// SECTION: ONETOONEMAPPING | |
OneToOneMapping onetoonemapping = new OneToOneMapping(); | |
onetoonemapping.setAttributeName("employee"); | |
onetoonemapping.setIsReadOnly(false); | |
onetoonemapping.setUsesIndirection(false); | |
onetoonemapping.setReferenceClass(Employee.class); | |
onetoonemapping.setIsPrivateOwned(false); | |
onetoonemapping.addTargetForeignKeyFieldName("MAP_EMP.A_ID", "MAP_ADD.A_ID"); | |
descriptor.addMapping(onetoonemapping); | |
// SECTION: TRANSFORMATIONMAPPING | |
TransformationMapping transformationmapping = new TransformationMapping(); | |
transformationmapping.setAttributeName("province"); | |
transformationmapping.setIsReadOnly(false); | |
transformationmapping.setUsesIndirection(false); | |
transformationmapping.setAttributeTransformation("getProvinceFromRow"); | |
transformationmapping.addFieldTransformation("MAP_ADD.PROVINCE", "getProvinceFromObject"); | |
descriptor.addMapping(transformationmapping); | |
addDescriptor(descriptor); | |
} | |
protected void buildCompanyCardDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
// SECTION: DESCRIPTOR | |
descriptor.setJavaClass(CompanyCard.class); | |
Vector vector = new Vector(); | |
vector.addElement("MAP_CARD"); | |
descriptor.setTableNames(vector); | |
descriptor.addPrimaryKeyFieldName("MAP_CARD.COM_ID"); | |
// SECTION: PROPERTIES | |
descriptor.setIdentityMapClass(FullIdentityMap.class); | |
descriptor.setExistenceChecking("Check cache"); | |
descriptor.setIdentityMapSize(100); | |
// SECTION: COPY POLICY | |
descriptor.createCopyPolicy("constructor"); | |
// SECTION: INSTANTIATION POLICY | |
descriptor.createInstantiationPolicy("constructor"); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping1 = new DirectToFieldMapping(); | |
directtofieldmapping1.setAttributeName("number"); | |
directtofieldmapping1.setIsReadOnly(false); | |
directtofieldmapping1.setFieldName("MAP_CARD.CARDNUMBER"); | |
descriptor.addMapping(directtofieldmapping1); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping2 = new DirectToFieldMapping(); | |
directtofieldmapping2.setAttributeName("limit"); | |
directtofieldmapping2.setIsReadOnly(false); | |
directtofieldmapping2.setFieldName("MAP_CARD.AMOUNT_LIMIT"); | |
descriptor.addMapping(directtofieldmapping2); | |
// SECTION: ONETOONEMAPPING | |
OneToOneMapping oneToOneMapping = new OneToOneMapping(); | |
oneToOneMapping.setReferenceClass(Address.class); | |
oneToOneMapping.setAttributeName("owner"); | |
oneToOneMapping.setIsReadOnly(false); | |
oneToOneMapping.addForeignKeyFieldName("MAP_CARD.COM_ID", "MAP_ADD.A_ID"); | |
oneToOneMapping.dontUseIndirection(); | |
descriptor.addMapping(oneToOneMapping); | |
addDescriptor(descriptor); | |
} | |
protected void buildComputerDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
// SECTION: DESCRIPTOR | |
descriptor.setJavaClass(Computer.class); | |
descriptor.getInheritancePolicy().setParentClass(Hardware.class); | |
Vector vector = new Vector(); | |
vector.addElement("MAP_COM"); | |
descriptor.setTableNames(vector); | |
descriptor.addPrimaryKeyFieldName("MAP_COM.ID"); | |
// SECTION: PROPERTIES | |
descriptor.getInheritancePolicy().setShouldReadSubclasses(false); | |
// SECTION: COPY POLICY | |
descriptor.createCopyPolicy("constructor"); | |
// SECTION: INSTANTIATION POLICY | |
descriptor.createInstantiationPolicy("static method"); | |
descriptor.getInstantiationPolicy().setMethodName("createNew"); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping = new DirectToFieldMapping(); | |
directtofieldmapping.setAttributeName("description"); | |
directtofieldmapping.setIsReadOnly(false); | |
directtofieldmapping.setFieldName("MAP_COM.DESCRIP"); | |
descriptor.addMapping(directtofieldmapping); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping1 = new DirectToFieldMapping(); | |
directtofieldmapping1.setAttributeName("id"); | |
directtofieldmapping1.setIsReadOnly(false); | |
directtofieldmapping1.setFieldName("MAP_COM.ID"); | |
descriptor.addMapping(directtofieldmapping1); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping2 = new DirectToFieldMapping(); | |
directtofieldmapping2.setAttributeName("serialNumber"); | |
directtofieldmapping2.setIsReadOnly(false); | |
directtofieldmapping2.setGetMethodName("getSerialNumber"); | |
directtofieldmapping2.setSetMethodName("setSerialNumber"); | |
directtofieldmapping2.setFieldName("MAP_COM.SERL_NO"); | |
descriptor.addMapping(directtofieldmapping2); | |
// SECTION: OBJECTTYPEMAPPING | |
DirectToFieldMapping objecttypemapping = new DirectToFieldMapping(); | |
ObjectTypeConverter objecttypeconverter = new ObjectTypeConverter(); | |
objecttypemapping.setAttributeName("isMacintosh"); | |
objecttypemapping.setIsReadOnly(false); | |
objecttypemapping.setFieldName("MAP_COM.IS_MAC"); | |
objecttypeconverter.addConversionValue("No", new Boolean(false)); | |
objecttypeconverter.addConversionValue("Yes", new Boolean(true)); | |
objecttypemapping.setNullValue(new Boolean(false)); | |
objecttypemapping.setConverter(objecttypeconverter); | |
descriptor.addMapping(objecttypemapping); | |
// SECTION: ONETOONEMAPPING | |
OneToOneMapping onetoonemapping = new OneToOneMapping(); | |
onetoonemapping.setAttributeName("monitor"); | |
onetoonemapping.setIsReadOnly(false); | |
onetoonemapping.setUsesIndirection(false); | |
onetoonemapping.setGetMethodName("getMonitor"); | |
onetoonemapping.setSetMethodName("setMonitor"); | |
onetoonemapping.setReferenceClass(Monitor.class); | |
onetoonemapping.setIsPrivateOwned(true); | |
onetoonemapping.addForeignKeyFieldName("MAP_COM.MON_SER", "MAP_MON.SERL_NO"); | |
descriptor.addMapping(onetoonemapping); | |
addDescriptor(descriptor); | |
} | |
protected void buildCubicleDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
// SECTION: DESCRIPTOR | |
descriptor.setJavaClass(Cubicle.class); | |
Vector vector = new Vector(); | |
vector.addElement("MAP_CUB"); | |
descriptor.setTableNames(vector); | |
descriptor.addPrimaryKeyFieldName("MAP_CUB.C_ID"); | |
// SECTION: PROPERTIES | |
descriptor.setSequenceNumberName("SEQ_ID"); | |
descriptor.setSequenceNumberFieldName("C_ID"); | |
// SECTION: COPY POLICY | |
descriptor.createCopyPolicy("constructor"); | |
// SECTION: INSTANTIATION POLICY | |
descriptor.createInstantiationPolicy("constructor"); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping typeConversionMapping = new DirectToFieldMapping(); | |
TypeConversionConverter typeConversionConverter = new TypeConversionConverter(); | |
typeConversionMapping.setAttributeName("id"); | |
typeConversionMapping.setIsReadOnly(false); | |
typeConversionMapping.setFieldName("MAP_CUB.C_ID"); | |
typeConversionConverter.setObjectClass(java.math.BigDecimal.class); | |
typeConversionConverter.setDataClass(String.class); | |
typeConversionMapping.setConverter(typeConversionConverter); | |
descriptor.addMapping(typeConversionMapping); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping1 = new DirectToFieldMapping(); | |
directtofieldmapping1.setAttributeName("location"); | |
directtofieldmapping1.setIsReadOnly(false); | |
directtofieldmapping1.setFieldName("MAP_CUB.LOCATION"); | |
descriptor.addMapping(directtofieldmapping1); | |
// SECTION: MANYTOMANYMAPPING | |
ManyToManyMapping manytomanymapping = new ManyToManyMapping(); | |
manytomanymapping.setAttributeName("emergencyExits"); | |
manytomanymapping.setIsReadOnly(false); | |
manytomanymapping.setUsesIndirection(false); | |
manytomanymapping.setReferenceClass(EmergencyExit.class); | |
manytomanymapping.setIsPrivateOwned(false); | |
manytomanymapping.setRelationTableName("CUBICLE_EMERGENCYEXIT"); | |
manytomanymapping.addSourceRelationKeyFieldName("CUBICLE_EMERGENCYEXIT.CUBICLE_LOCATION", "MAP_CUB.LOCATION"); | |
manytomanymapping.addTargetRelationKeyFieldName("CUBICLE_EMERGENCYEXIT.EXIT_ID", "MAP_EMERGENCYEXIT.EXIT_ID"); | |
descriptor.addMapping(manytomanymapping); | |
addDescriptor(descriptor); | |
} | |
protected void buildEmergencyExitDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
// SECTION: DESCRIPTOR | |
descriptor.setJavaClass(EmergencyExit.class); | |
Vector vector = new Vector(); | |
vector.addElement("MAP_EMERGENCYEXIT"); | |
descriptor.setTableNames(vector); | |
descriptor.addPrimaryKeyFieldName("MAP_EMERGENCYEXIT.EXIT_ID"); | |
// SECTION: PROPERTIES | |
descriptor.setSequenceNumberName("SEQ_ID"); | |
descriptor.setSequenceNumberFieldName("EXIT_ID"); | |
// SECTION: COPY POLICY | |
descriptor.createCopyPolicy("constructor"); | |
// SECTION: INSTANTIATION POLICY | |
descriptor.createInstantiationPolicy("constructor"); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping = new DirectToFieldMapping(); | |
directtofieldmapping.setAttributeName("id"); | |
directtofieldmapping.setIsReadOnly(false); | |
directtofieldmapping.setFieldName("MAP_EMERGENCYEXIT.EXIT_ID"); | |
descriptor.addMapping(directtofieldmapping); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping1 = new DirectToFieldMapping(); | |
directtofieldmapping1.setAttributeName("location"); | |
directtofieldmapping1.setIsReadOnly(false); | |
directtofieldmapping1.setFieldName("MAP_EMERGENCYEXIT.LOCATION"); | |
descriptor.addMapping(directtofieldmapping1); | |
addDescriptor(descriptor); | |
} | |
protected void buildEmployeeDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
// SECTION: DESCRIPTOR | |
descriptor.setJavaClass(Employee.class); | |
Vector vector = new Vector(); | |
vector.addElement("MAP_EMP"); | |
descriptor.setTableNames(vector); | |
descriptor.addPrimaryKeyFieldName("MAP_EMP.FNAME"); | |
descriptor.addPrimaryKeyFieldName("MAP_EMP.LNAME"); | |
descriptor.addPrimaryKeyFieldName("MAP_EMP.SEX"); | |
// SECTION: COPY POLICY | |
descriptor.createCopyPolicy("constructor"); | |
descriptor.useSoftIdentityMap(); | |
// SECTION: INSTANTIATION POLICY | |
descriptor.createInstantiationPolicy("constructor"); | |
// SECTION: DIRECTCOLLECTIONMAPPING | |
DirectCollectionMapping directcollectionmapping = new DirectCollectionMapping(); | |
directcollectionmapping.setAttributeName("policies"); | |
directcollectionmapping.setIsReadOnly(false); | |
directcollectionmapping.setUsesIndirection(true); | |
directcollectionmapping.setIsPrivateOwned(false); | |
directcollectionmapping.setDirectFieldName("MAP_POL.POLICY"); | |
directcollectionmapping.setReferenceTableName("MAP_POL"); | |
directcollectionmapping.addReferenceKeyFieldName("MAP_POL.LNAME", "MAP_EMP.LNAME"); | |
directcollectionmapping.addReferenceKeyFieldName("MAP_POL.FNAME", "MAP_EMP.FNAME"); | |
descriptor.addMapping(directcollectionmapping); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping = new DirectToFieldMapping(); | |
directtofieldmapping.setAttributeName("firstName"); | |
directtofieldmapping.setIsReadOnly(false); | |
directtofieldmapping.setFieldName("MAP_EMP.FNAME"); | |
descriptor.addMapping(directtofieldmapping); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping1 = new DirectToFieldMapping(); | |
directtofieldmapping1.setAttributeName("lastName"); | |
directtofieldmapping1.setIsReadOnly(false); | |
directtofieldmapping1.setFieldName("MAP_EMP.LNAME"); | |
descriptor.addMapping(directtofieldmapping1); | |
// SECTION: ONETOONEMAPPING | |
OneToOneMapping onetoonemapping1 = new OneToOneMapping(); | |
onetoonemapping1.setAttributeName("cubicle"); | |
onetoonemapping1.setIsReadOnly(false); | |
onetoonemapping1.setUsesIndirection(false); | |
onetoonemapping1.setReferenceClass(Cubicle.class); | |
onetoonemapping1.setIsPrivateOwned(true); | |
onetoonemapping1.addForeignKeyFieldName("MAP_EMP.C_ID", "MAP_CUB.C_ID"); | |
descriptor.addMapping(onetoonemapping1); | |
// SECTION: MANYTOMANYMAPPING | |
ManyToManyMapping manytomanymapping = new ManyToManyMapping(); | |
manytomanymapping.setAttributeName("phoneNumbers"); | |
manytomanymapping.setIsReadOnly(false); | |
manytomanymapping.setUsesIndirection(true); | |
manytomanymapping.setReferenceClass(Phone.class); | |
manytomanymapping.setIsPrivateOwned(true); | |
manytomanymapping.setRelationTableName("MAP_EMPH"); | |
manytomanymapping.addSourceRelationKeyFieldName("MAP_EMPH.LNAME", "MAP_EMP.LNAME"); | |
manytomanymapping.addSourceRelationKeyFieldName("MAP_EMPH.FNAME", "MAP_EMP.FNAME"); | |
manytomanymapping.addTargetRelationKeyFieldName("MAP_EMPH.P_ID", "MAP_PHO.P_ID"); | |
descriptor.addMapping(manytomanymapping); | |
// SECTION: MANYTOMANYMAPPING | |
ManyToManyMapping manytomanymapping1 = new ManyToManyMapping(); | |
manytomanymapping1.setAttributeName("shipments"); | |
manytomanymapping1.setIsReadOnly(false); | |
manytomanymapping1.setUsesIndirection(false); | |
manytomanymapping1.setReferenceClass(Shipment.class); | |
manytomanymapping1.setIsPrivateOwned(false); | |
manytomanymapping1.setRelationTableName("MAP_EMSP"); | |
manytomanymapping1.addSourceRelationKeyFieldName("MAP_EMSP.EMP_LNAME", "MAP_EMP.LNAME"); | |
manytomanymapping1.addSourceRelationKeyFieldName("MAP_EMSP.EMP_FNAME", "MAP_EMP.FNAME"); | |
manytomanymapping1.addTargetRelationKeyFieldName("MAP_EMSP.SP_TSMIL", "MAP_SHIP.SP_TSMIL"); | |
manytomanymapping1.addTargetRelationKeyFieldName("MAP_EMSP.SP_TS", "MAP_SHIP.SP_TS"); | |
descriptor.addMapping(manytomanymapping1); | |
// SECTION: OBJECTTYPEMAPPING | |
DirectToFieldMapping objecttypemapping = new DirectToFieldMapping(); | |
ObjectTypeConverter objecttypeconverter = new ObjectTypeConverter(); | |
objecttypemapping.setAttributeName("sex"); | |
objecttypemapping.setIsReadOnly(false); | |
objecttypemapping.setFieldName("MAP_EMP.SEX"); | |
objecttypeconverter.setDefaultAttributeValue("female"); | |
objecttypeconverter.addConversionValue("F", "female"); | |
objecttypeconverter.addConversionValue("M", "male"); | |
objecttypemapping.setConverter(objecttypeconverter); | |
descriptor.addMapping(objecttypemapping); | |
// SECTION: ONETOMANYMAPPING | |
OneToManyMapping onetomanymapping = new OneToManyMapping(); | |
onetomanymapping.setAttributeName("managedEmployees"); | |
onetomanymapping.setIsReadOnly(false); | |
onetomanymapping.setUsesIndirection(false); | |
onetomanymapping.setGetMethodName("getManagedEmployeesForTOPLink"); | |
onetomanymapping.setSetMethodName("setManagedEmployeesFromTOPLink"); | |
onetomanymapping.setReferenceClass(Employee.class); | |
onetomanymapping.setIsPrivateOwned(false); | |
onetomanymapping.addTargetForeignKeyFieldName("MAP_EMP.M_LNAME", "MAP_EMP.LNAME"); | |
onetomanymapping.addTargetForeignKeyFieldName("MAP_EMP.M_FNAME", "MAP_EMP.FNAME"); | |
descriptor.addMapping(onetomanymapping); | |
// SECTION: ONETOONEMAPPING | |
OneToOneMapping onetoonemapping = new OneToOneMapping(); | |
onetoonemapping.setAttributeName("computer"); | |
onetoonemapping.setIsReadOnly(false); | |
onetoonemapping.setUsesIndirection(false); | |
onetoonemapping.setGetMethodName("getComputer"); | |
onetoonemapping.setSetMethodName("setComputer"); | |
onetoonemapping.setReferenceClass(Hardware.class); | |
onetoonemapping.setIsPrivateOwned(true); | |
onetoonemapping.addTargetForeignKeyFieldName("MAP_HRW.EMP_FNAME", "MAP_EMP.FNAME"); | |
onetoonemapping.addTargetForeignKeyFieldName("MAP_HRW.EMP_LNAME", "MAP_EMP.LNAME"); | |
descriptor.addMapping(onetoonemapping); | |
// SECTION: ONETOONEMAPPING | |
OneToOneMapping onetoonemapping2 = new OneToOneMapping(); | |
onetoonemapping2.setAttributeName("manager"); | |
onetoonemapping2.setIsReadOnly(false); | |
onetoonemapping2.setUsesIndirection(false); | |
onetoonemapping2.setGetMethodName("getManager"); | |
onetoonemapping2.setSetMethodName("setManager"); | |
onetoonemapping2.setReferenceClass(Employee.class); | |
onetoonemapping2.setIsPrivateOwned(false); | |
onetoonemapping2.addForeignKeyFieldName("MAP_EMP.M_FNAME", "MAP_EMP.FNAME"); | |
onetoonemapping2.addForeignKeyFieldName("MAP_EMP.M_LNAME", "MAP_EMP.LNAME"); | |
descriptor.addMapping(onetoonemapping2); | |
// SECTION: SERIALIZEDMAPPING | |
DirectToFieldMapping serializedmapping = new DirectToFieldMapping(); | |
SerializedObjectConverter serializedconverter = new SerializedObjectConverter(); | |
serializedmapping.setAttributeName("jobDescription"); | |
serializedmapping.setIsReadOnly(false); | |
serializedmapping.setGetMethodName("getJobDescription"); | |
serializedmapping.setSetMethodName("setJobDescription"); | |
serializedmapping.setFieldName("MAP_EMP.JDESC"); | |
serializedmapping.setConverter(serializedconverter); | |
descriptor.addMapping(serializedmapping); | |
// SECTION: TRANSFORMATIONMAPPING | |
TransformationMapping transformationmapping = new TransformationMapping(); | |
transformationmapping.setAttributeName("dateAndTimeOfBirth"); | |
transformationmapping.setIsReadOnly(false); | |
transformationmapping.setUsesIndirection(false); | |
transformationmapping.setAttributeTransformation("setDateAndTime"); | |
transformationmapping.addFieldTransformation("MAP_EMP.BDAY", "getDate"); | |
transformationmapping.addFieldTransformation("MAP_EMP.BTIME", "getTime"); | |
descriptor.addMapping(transformationmapping); | |
// SECTION: TRANSFORMATIONMAPPING | |
TransformationMapping transformationmapping1 = new TransformationMapping(); | |
transformationmapping1.setAttributeName("designation"); | |
transformationmapping1.setIsReadOnly(false); | |
transformationmapping1.setUsesIndirection(true); | |
transformationmapping1.setGetMethodName("getDesignation"); | |
transformationmapping1.setSetMethodName("setDesignation"); | |
transformationmapping1.setAttributeTransformation("getRankFromRow"); | |
transformationmapping1.addFieldTransformation("MAP_EMP.RANK", "getRankFromObject"); | |
descriptor.addMapping(transformationmapping1); | |
// SECTION: TYPECONVERSIONMAPPING | |
DirectToFieldMapping typeconversionmapping = new DirectToFieldMapping(); | |
TypeConversionConverter typeconversionconverter = new TypeConversionConverter(); | |
typeconversionmapping.setAttributeName("joiningDate"); | |
typeconversionmapping.setIsReadOnly(false); | |
typeconversionmapping.setFieldName("MAP_EMP.JDAY"); | |
typeconversionconverter.setObjectClass(java.util.Date.class); | |
typeconversionconverter.setDataClass(java.sql.Date.class); | |
typeconversionmapping.setConverter(typeconversionconverter); | |
descriptor.addMapping(typeconversionmapping); | |
addDescriptor(descriptor); | |
} | |
protected void buildIdentificationDescriptor(){ | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
// SECTION: DESCRIPTOR | |
descriptor.setJavaClass(Identification.class); | |
Vector vector = new Vector(); | |
vector.addElement("MAP_IDENTIFICATION"); | |
descriptor.setTableNames(vector); | |
descriptor.addPrimaryKeyFieldName("MAP_IDENTIFICATION.ID"); | |
// SECTION: PROPERTIES | |
descriptor.setSequenceNumberName("SEQ_ID"); | |
descriptor.setSequenceNumberFieldName("ID"); | |
// SECTION: COPY POLICY | |
descriptor.createCopyPolicy("constructor"); | |
// SECTION: INSTANTIATION POLICY | |
descriptor.createInstantiationPolicy("constructor"); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping = new DirectToFieldMapping(); | |
directtofieldmapping.setAttributeName("id"); | |
directtofieldmapping.setIsReadOnly(false); | |
directtofieldmapping.setFieldName("MAP_IDENTIFICATION.ID"); | |
descriptor.addMapping(directtofieldmapping); | |
addDescriptor(descriptor); | |
} | |
protected void buildHardwareDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
// SECTION: DESCRIPTOR | |
descriptor.setJavaClass(Hardware.class); | |
Vector vector = new Vector(); | |
vector.addElement("MAP_HRW"); | |
descriptor.setTableNames(vector); | |
descriptor.addPrimaryKeyFieldName("MAP_HRW.ID"); | |
// SECTION: PROPERTIES | |
descriptor.setSequenceNumberName("SEQ"); | |
descriptor.setSequenceNumberFieldName("ID"); | |
descriptor.getInheritancePolicy().setShouldReadSubclasses(true); | |
descriptor.getInheritancePolicy().setClassIndicatorFieldName("TYPE"); | |
descriptor.getInheritancePolicy().setShouldUseClassNameAsIndicator(false); | |
descriptor.getInheritancePolicy().addClassIndicator(Computer.class, "C"); | |
descriptor.getInheritancePolicy().addClassIndicator(Monitor.class, "M"); | |
// SECTION: COPY POLICY | |
descriptor.createCopyPolicy("constructor"); | |
// SECTION: INSTANTIATION POLICY | |
descriptor.createInstantiationPolicy("constructor"); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping = new DirectToFieldMapping(); | |
directtofieldmapping.setAttributeName("distibuted"); | |
directtofieldmapping.setIsReadOnly(false); | |
directtofieldmapping.setFieldName("MAP_HRW.DIST"); | |
descriptor.addMapping(directtofieldmapping); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping1 = new DirectToFieldMapping(); | |
directtofieldmapping1.setAttributeName("id"); | |
directtofieldmapping1.setIsReadOnly(false); | |
directtofieldmapping1.setFieldName("MAP_HRW.ID"); | |
descriptor.addMapping(directtofieldmapping1); | |
// SECTION: ONETOONEMAPPING | |
OneToOneMapping onetoonemapping = new OneToOneMapping(); | |
onetoonemapping.setAttributeName("employee"); | |
onetoonemapping.setIsReadOnly(false); | |
onetoonemapping.setUsesIndirection(false); | |
onetoonemapping.setReferenceClass(Employee.class); | |
onetoonemapping.setIsPrivateOwned(false); | |
onetoonemapping.addForeignKeyFieldName("MAP_HRW.EMP_FNAME", "MAP_EMP.FNAME"); | |
onetoonemapping.addForeignKeyFieldName("MAP_HRW.EMP_LNAME", "MAP_EMP.LNAME"); | |
descriptor.addMapping(onetoonemapping); | |
addDescriptor(descriptor); | |
} | |
protected void buildMonitorDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
// SECTION: DESCRIPTOR | |
descriptor.setJavaClass(Monitor.class); | |
descriptor.getInheritancePolicy().setParentClass(Hardware.class); | |
Vector vector = new Vector(); | |
vector.addElement("MAP_MON"); | |
descriptor.setTableNames(vector); | |
descriptor.addPrimaryKeyFieldName("MAP_MON.ID"); | |
// SECTION: PROPERTIES | |
descriptor.getInheritancePolicy().setShouldReadSubclasses(false); | |
// SECTION: COPY POLICY | |
descriptor.createCopyPolicy("constructor"); | |
// SECTION: INSTANTIATION POLICY | |
descriptor.createInstantiationPolicy("constructor"); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping = new DirectToFieldMapping(); | |
directtofieldmapping.setAttributeName("brand"); | |
directtofieldmapping.setIsReadOnly(false); | |
directtofieldmapping.setGetMethodName("getBrand"); | |
directtofieldmapping.setSetMethodName("setBrand"); | |
directtofieldmapping.setFieldName("MAP_MON.BRAND"); | |
descriptor.addMapping(directtofieldmapping); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping1 = new DirectToFieldMapping(); | |
directtofieldmapping1.setAttributeName("serialNumber"); | |
directtofieldmapping1.setIsReadOnly(false); | |
directtofieldmapping1.setGetMethodName("getSerialNumber"); | |
directtofieldmapping1.setSetMethodName("setSerialNumber"); | |
directtofieldmapping1.setFieldName("MAP_MON.SERL_NO"); | |
descriptor.addMapping(directtofieldmapping1); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping2 = new DirectToFieldMapping(); | |
directtofieldmapping2.setAttributeName("size"); | |
directtofieldmapping2.setIsReadOnly(false); | |
directtofieldmapping2.setGetMethodName("getSize"); | |
directtofieldmapping2.setSetMethodName("setSize"); | |
directtofieldmapping2.setFieldName("MAP_MON.MSIZE"); | |
descriptor.addMapping(directtofieldmapping2); | |
// SECTION: ONETOONEMAPPING | |
OneToOneMapping onetoonemapping = new OneToOneMapping(); | |
onetoonemapping.setAttributeName("computer"); | |
onetoonemapping.setIsReadOnly(false); | |
onetoonemapping.setUsesIndirection(false); | |
onetoonemapping.setGetMethodName("getComputer"); | |
onetoonemapping.setSetMethodName("setComputer"); | |
onetoonemapping.setReferenceClass(Computer.class); | |
onetoonemapping.setIsPrivateOwned(false); | |
onetoonemapping.addForeignKeyFieldName("MAP_MON.COM_SER", "MAP_COM.SERL_NO"); | |
descriptor.addMapping(onetoonemapping); | |
addDescriptor(descriptor); | |
} | |
protected void buildPhoneDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
// SECTION: DESCRIPTOR | |
descriptor.setJavaClass(Phone.class); | |
Vector vector = new Vector(); | |
vector.addElement("MAP_PHO"); | |
descriptor.setTableNames(vector); | |
descriptor.addPrimaryKeyFieldName("MAP_PHO.P_ID"); | |
// SECTION: PROPERTIES | |
descriptor.setSequenceNumberName("SEQ_ID"); | |
descriptor.setSequenceNumberFieldName("P_ID"); | |
// SECTION: COPY POLICY | |
descriptor.createCopyPolicy("constructor"); | |
descriptor.useHardCacheWeakIdentityMap(); | |
// SECTION: INSTANTIATION POLICY | |
descriptor.createInstantiationPolicy("constructor"); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping = new DirectToFieldMapping(); | |
directtofieldmapping.setAttributeName("areaCode"); | |
directtofieldmapping.setIsReadOnly(false); | |
directtofieldmapping.setFieldName("MAP_PHO.AREACODE"); | |
descriptor.addMapping(directtofieldmapping); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping1 = new DirectToFieldMapping(); | |
directtofieldmapping1.setAttributeName("id"); | |
directtofieldmapping1.setIsReadOnly(false); | |
directtofieldmapping1.setFieldName("MAP_PHO.P_ID"); | |
descriptor.addMapping(directtofieldmapping1); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping2 = new DirectToFieldMapping(); | |
directtofieldmapping2.setAttributeName("number"); | |
directtofieldmapping2.setIsReadOnly(false); | |
directtofieldmapping2.setFieldName("MAP_PHO.PNUMBER"); | |
descriptor.addMapping(directtofieldmapping2); | |
addDescriptor(descriptor); | |
} | |
protected void buildSecureSystemDescriptor(){ | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
// SECTION: DESCRIPTOR | |
descriptor.setJavaClass(SecureSystem.class); | |
Vector vector = new Vector(); | |
vector.addElement("MAP_SECURE"); | |
descriptor.setTableNames(vector); | |
descriptor.addPrimaryKeyFieldName("MAP_SECURE.MANUFACTURER"); | |
descriptor.addPrimaryKeyFieldName("MAP_SECURE.IDENTIFICATION_ID"); | |
// SECTION: PROPERTIES | |
// SECTION: COPY POLICY | |
descriptor.createCopyPolicy("constructor"); | |
// SECTION: INSTANTIATION POLICY | |
descriptor.createInstantiationPolicy("constructor"); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping = new DirectToFieldMapping(); | |
directtofieldmapping.setAttributeName("manufacturer"); | |
directtofieldmapping.setIsReadOnly(false); | |
directtofieldmapping.setFieldName("MAP_SECURE.MANUFACTURER"); | |
descriptor.addMapping(directtofieldmapping); | |
// SECTION: ONETOONEMAPPING | |
OneToOneMapping onetoonemapping1 = new OneToOneMapping(); | |
onetoonemapping1.setAttributeName("id"); | |
onetoonemapping1.setIsReadOnly(false); | |
onetoonemapping1.setUsesIndirection(false); | |
onetoonemapping1.setReferenceClass(Identification.class); | |
onetoonemapping1.setIsPrivateOwned(false); | |
onetoonemapping1.addForeignKeyFieldName("MAP_SECURE.IDENTIFICATION_ID", "MAP_IDENTIFICATION.ID"); | |
descriptor.addMapping(onetoonemapping1); | |
addDescriptor(descriptor); | |
} | |
protected void buildShipmentDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
// SECTION: DESCRIPTOR | |
descriptor.setJavaClass(Shipment.class); | |
Vector vector = new Vector(); | |
vector.addElement("MAP_SHIP"); | |
descriptor.setTableNames(vector); | |
descriptor.addPrimaryKeyFieldName("MAP_SHIP.SP_TS"); | |
descriptor.addPrimaryKeyFieldName("MAP_SHIP.SP_TSMIL"); | |
// SECTION: EVENT MANAGER | |
descriptor.getEventManager().setPreInsertSelector("prepareForInsert"); | |
// SECTION: PROPERTIES | |
// SECTION: COPY POLICY | |
descriptor.createCopyPolicy("constructor"); | |
// SECTION: INSTANTIATION POLICY | |
descriptor.createInstantiationPolicy("constructor"); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping = new DirectToFieldMapping(); | |
directtofieldmapping.setAttributeName("creationTimestamp"); | |
directtofieldmapping.setIsReadOnly(false); | |
directtofieldmapping.setFieldName("MAP_SHIP.SP_TS"); | |
descriptor.addMapping(directtofieldmapping); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping1 = new DirectToFieldMapping(); | |
directtofieldmapping1.setAttributeName("creationTimestampMillis"); | |
directtofieldmapping1.setIsReadOnly(false); | |
directtofieldmapping1.setFieldName("MAP_SHIP.SP_TSMIL"); | |
descriptor.addMapping(directtofieldmapping1); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping2 = new DirectToFieldMapping(); | |
directtofieldmapping2.setAttributeName("quantityShipped"); | |
directtofieldmapping2.setIsReadOnly(false); | |
directtofieldmapping2.setFieldName("MAP_SHIP.QUANTITY"); | |
descriptor.addMapping(directtofieldmapping2); | |
// SECTION: DIRECTTOFIELDMAPPING | |
DirectToFieldMapping directtofieldmapping3 = new DirectToFieldMapping(); | |
directtofieldmapping3.setAttributeName("shipMode"); | |
directtofieldmapping3.setIsReadOnly(false); | |
directtofieldmapping3.setFieldName("MAP_SHIP.SHP_MODE"); | |
descriptor.addMapping(directtofieldmapping3); | |
// SECTION: MANYTOMANYMAPPING | |
ManyToManyMapping manytomanymapping = new ManyToManyMapping(); | |
manytomanymapping.setAttributeName("employees"); | |
manytomanymapping.setIsReadOnly(true); | |
manytomanymapping.setUsesIndirection(false); | |
manytomanymapping.setReferenceClass(Employee.class); | |
manytomanymapping.setIsPrivateOwned(false); | |
manytomanymapping.setRelationTableName("MAP_EMSP"); | |
manytomanymapping.addSourceRelationKeyFieldName("MAP_EMSP.SP_TSMIL", "MAP_SHIP.SP_TSMIL"); | |
manytomanymapping.addSourceRelationKeyFieldName("MAP_EMSP.SP_TS", "MAP_SHIP.SP_TS"); | |
manytomanymapping.addTargetRelationKeyFieldName("MAP_EMSP.EMP_LNAME", "MAP_EMP.LNAME"); | |
manytomanymapping.addTargetRelationKeyFieldName("MAP_EMSP.EMP_FNAME", "MAP_EMP.FNAME"); | |
descriptor.addMapping(manytomanymapping); | |
addDescriptor(descriptor); | |
} | |
public void buildPeripheralDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
descriptor.setJavaClass(Peripheral.class); | |
descriptor.addTableName("MAP_PERIPHERAL"); | |
descriptor.addPrimaryKeyFieldName("MAP_PERIPHERAL.ID"); | |
// ClassDescriptor Properties. | |
descriptor.setAlias("Peripheral"); | |
descriptor.setAmendmentClass(Peripheral.class); | |
descriptor.setAmendmentMethodName("addToDescriptor"); | |
// Query Manager. | |
descriptor.getQueryManager().checkCacheForDoesExist(); | |
// Mappings. | |
DirectToFieldMapping validMapping = new DirectToFieldMapping(); | |
validMapping.setAttributeName("valid"); | |
validMapping.setFieldName("MAP_PERIPHERAL.VALID"); | |
ObjectTypeConverter validMappingConverter = new ObjectTypeConverter(); | |
validMappingConverter.addConversionValue(new Character('N'), new java.lang.Boolean("false")); | |
validMappingConverter.addConversionValue(new Character('Y'), new java.lang.Boolean("true")); | |
validMapping.setConverter(validMappingConverter); | |
descriptor.addMapping(validMapping); | |
DirectToFieldMapping idMapping = new DirectToFieldMapping(); | |
idMapping.setAttributeName("id"); | |
idMapping.setFieldName("MAP_PERIPHERAL.ID"); | |
descriptor.addMapping(idMapping); | |
DirectToFieldMapping nameMapping = new DirectToFieldMapping(); | |
nameMapping.setAttributeName("name"); | |
nameMapping.setFieldName("MAP_PERIPHERAL.NAME"); | |
descriptor.addMapping(nameMapping); | |
descriptor.applyAmendmentMethod(); | |
addDescriptor(descriptor); | |
} | |
} |