| /* |
| * 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.oxm.mappings.transformation; |
| |
| |
| /** |
| * @version $Header: TransformationMappingTestProject.java 02-nov-2006.10:57:27 gyorke Exp $ |
| * @author mmacivor |
| * @since release specific (what release of product did this appear in) |
| */ |
| |
| import org.eclipse.persistence.internal.identitymaps.*; |
| import org.eclipse.persistence.oxm.mappings.XMLAnyCollectionMapping; |
| import org.eclipse.persistence.oxm.mappings.XMLAnyObjectMapping; |
| import org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping; |
| import org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping; |
| import org.eclipse.persistence.oxm.mappings.XMLTransformationMapping; |
| import org.eclipse.persistence.oxm.XMLDescriptor; |
| import org.eclipse.persistence.sessions.Project; |
| |
| |
| public class TransformationMappingTestProject extends Project { |
| |
| public TransformationMappingTestProject() { |
| addDescriptor(getEmployeeDescriptor()); |
| addDescriptor(getRootWithAnyCollectionDescriptor()); |
| addDescriptor(getRootWithAnyObjectDescriptor()); |
| addDescriptor(getRootWithCompositeCollectionDescriptor()); |
| addDescriptor(getRootWithCompositeObjectDescriptor()); |
| } |
| |
| public XMLDescriptor getEmployeeDescriptor() { |
| XMLDescriptor employeeDescriptor = new XMLDescriptor(); |
| employeeDescriptor.setJavaClass(org.eclipse.persistence.testing.oxm.mappings.transformation.Employee.class); |
| employeeDescriptor.setDefaultRootElement("employee"); |
| employeeDescriptor.setIdentityMapClass(NoIdentityMap.class); |
| employeeDescriptor.setExistenceChecking("Check database"); |
| |
| XMLTransformationMapping nameMapping = new XMLTransformationMapping(); |
| nameMapping.setAttributeName("name"); |
| nameMapping.setGetMethodName("getName"); |
| nameMapping.setSetMethodName("setName"); |
| nameMapping.setAttributeTransformation("buildNameAttribute"); |
| nameMapping.addFieldTransformation("name/text()", "buildNameField"); |
| nameMapping.setIsMutable(false); |
| employeeDescriptor.addMapping(nameMapping); |
| |
| XMLTransformationMapping mapping = new XMLTransformationMapping(); |
| mapping.setAttributeName("normalHours"); |
| mapping.setGetMethodName("getNormalHours"); |
| mapping.setSetMethodName("setNormalHours"); |
| mapping.setAttributeTransformer(new org.eclipse.persistence.testing.oxm.mappings.transformation.NormalHoursAttributeTransformer()); |
| mapping.addFieldTransformer("normal-hours/start-time/text()", new StartTimeTransformer()); |
| mapping.addFieldTransformer("normal-hours/end-time/text()", new org.eclipse.persistence.testing.oxm.mappings.transformation.EndTimeTransformer()); |
| employeeDescriptor.addMapping(mapping); |
| return employeeDescriptor; |
| } |
| |
| public XMLDescriptor getRootWithAnyCollectionDescriptor() { |
| XMLDescriptor descriptor = new XMLDescriptor(); |
| descriptor.setJavaClass(RootWithAnyCollection.class); |
| descriptor.setDefaultRootElement("root-with-any-collection"); |
| |
| XMLAnyCollectionMapping objectsMapping = new XMLAnyCollectionMapping(); |
| objectsMapping.setAttributeName("objects"); |
| descriptor.addMapping(objectsMapping); |
| |
| return descriptor; |
| } |
| |
| public XMLDescriptor getRootWithAnyObjectDescriptor() { |
| XMLDescriptor descriptor = new XMLDescriptor(); |
| descriptor.setJavaClass(RootWithAnyObject.class); |
| descriptor.setDefaultRootElement("root-with-any-object"); |
| |
| XMLAnyObjectMapping objectMapping = new XMLAnyObjectMapping(); |
| objectMapping.setAttributeName("object"); |
| descriptor.addMapping(objectMapping); |
| |
| return descriptor; |
| } |
| |
| public XMLDescriptor getRootWithCompositeCollectionDescriptor() { |
| XMLDescriptor descriptor = new XMLDescriptor(); |
| descriptor.setJavaClass(RootWithCompositeCollection.class); |
| descriptor.setDefaultRootElement("root-with-composite-collection"); |
| |
| XMLCompositeCollectionMapping employeesMapping = new XMLCompositeCollectionMapping(); |
| employeesMapping.setAttributeName("employees"); |
| employeesMapping.setXPath("employee"); |
| employeesMapping.setReferenceClass(Employee.class); |
| descriptor.addMapping(employeesMapping); |
| |
| return descriptor; |
| } |
| |
| public XMLDescriptor getRootWithCompositeObjectDescriptor() { |
| XMLDescriptor descriptor = new XMLDescriptor(); |
| descriptor.setJavaClass(RootWithCompositeObject.class); |
| descriptor.setDefaultRootElement("root-with-composite-object"); |
| |
| XMLCompositeObjectMapping employeeMapping = new XMLCompositeObjectMapping(); |
| employeeMapping.setAttributeName("employee"); |
| employeeMapping.setXPath("employee"); |
| employeeMapping.setReferenceClass(Employee.class); |
| descriptor.addMapping(employeeMapping); |
| |
| return descriptor; |
| } |
| |
| } |