/******************************************************************************* | |
* 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.tests.xdb; | |
import org.eclipse.persistence.mappings.*; | |
import org.eclipse.persistence.descriptors.RelationalDescriptor; | |
import org.eclipse.persistence.sessions.DatabaseLogin; | |
import org.eclipse.persistence.sessions.Project; | |
import org.eclipse.persistence.mappings.xdb.DirectToXMLTypeMapping; | |
public class Employee_XMLProject extends Project { | |
public Employee_XMLProject() { | |
super(); | |
initializeLogin(); | |
initializeProject(); | |
addDescriptor(new EmployeeDescriptor()); | |
} | |
public Employee_XMLProject(DatabaseLogin databaseLogin) { | |
super(databaseLogin); | |
initializeLogin(); | |
addDescriptor(new EmployeeDescriptor()); | |
} | |
public void initializeProject() { | |
} | |
private void initializeLogin() { | |
DatabaseLogin login = new DatabaseLogin(); | |
login.setPlatform(new org.eclipse.persistence.platform.database.oracle.Oracle9Platform()); | |
login.setConnectionString("jdbc:oracle:oci8:@matt"); | |
login.setDriverClassName("oracle.jdbc.OracleDriver"); | |
login.setUserName("System"); | |
login.setPassword("qwerty"); | |
setLogin(login); | |
} | |
class EmployeeDescriptor extends RelationalDescriptor { | |
public EmployeeDescriptor() { | |
super(); | |
setJavaClass(Employee_XML.class); | |
addPrimaryKeyFieldName("ID"); | |
addTableName("EMPLOYEE_XML"); | |
setSequenceNumberName("EMP_SEQ"); | |
setSequenceNumberFieldName("ID"); | |
DirectToFieldMapping idMapping = new DirectToFieldMapping(); | |
idMapping.setAttributeName("id"); | |
idMapping.setFieldName("ID"); | |
idMapping.setIsReadOnly(false); | |
addMapping(idMapping); | |
DirectToFieldMapping firstNameMapping = new DirectToFieldMapping(); | |
firstNameMapping.setAttributeName("firstName"); | |
firstNameMapping.setFieldName("FIRST_NAME"); | |
firstNameMapping.setIsReadOnly(false); | |
addMapping(firstNameMapping); | |
DirectToFieldMapping lastNameMapping = new DirectToFieldMapping(); | |
lastNameMapping.setAttributeName("lastName"); | |
lastNameMapping.setFieldName("LAST_NAME"); | |
lastNameMapping.setIsReadOnly(false); | |
addMapping(lastNameMapping); | |
DirectToFieldMapping genderMapping = new DirectToFieldMapping(); | |
genderMapping.setAttributeName("gender"); | |
genderMapping.setFieldName("GENDER"); | |
genderMapping.setIsReadOnly(false); | |
addMapping(genderMapping); | |
DirectToXMLTypeMapping resumeMapping = new DirectToXMLTypeMapping(); | |
resumeMapping.setAttributeName("resume"); | |
resumeMapping.setFieldName("RESUME_XML"); | |
resumeMapping.setShouldReadWholeDocument(true); | |
resumeMapping.setIsReadOnly(false); | |
addMapping(resumeMapping); | |
DirectToXMLTypeMapping payrollMapping = new DirectToXMLTypeMapping(); | |
payrollMapping.setAttributeName("payroll_xml"); | |
payrollMapping.setFieldName("PAYROLL_XML"); | |
payrollMapping.setShouldReadWholeDocument(true); | |
payrollMapping.setIsReadOnly(false); | |
addMapping(payrollMapping); | |
OneToOneMapping managerMapping = new OneToOneMapping(); | |
managerMapping.setAttributeName("manager"); | |
managerMapping.addForeignKeyFieldName("MANAGER_ID", "ID"); | |
managerMapping.setUsesIndirection(false); | |
managerMapping.setIsReadOnly(false); | |
managerMapping.setReferenceClass(Employee_XML.class); | |
addMapping(managerMapping); | |
OneToManyMapping managedEmployees = new OneToManyMapping(); | |
managedEmployees.setAttributeName("managedEmployees"); | |
managedEmployees.addTargetForeignKeyFieldName("MANAGER_ID", "ID"); | |
managedEmployees.setUsesIndirection(false); | |
managedEmployees.setIsReadOnly(false); | |
managedEmployees.setReferenceClass(Employee_XML.class); | |
addMapping(managedEmployees); | |
} | |
} | |
} |