| /* |
| * 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.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); |
| } |
| } |
| } |