/******************************************************************************* * Copyright (c) 1998, 2015 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.oxm.mappings.transformation; import java.io.FileOutputStream; import java.net.URL; import javax.xml.transform.*; import javax.xml.transform.stream.StreamSource; import org.eclipse.persistence.oxm.*; import org.eclipse.persistence.descriptors.ClassDescriptor; import org.eclipse.persistence.internal.sessions.AbstractSession; import org.eclipse.persistence.sessions.ObjectCopyingPolicy; import org.xml.sax.helpers.DefaultHandler; //import org.custommonkey.xmlunit.XMLTestCase; import java.io.*; import org.w3c.dom.Document; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.dom.DOMResult; import java.util.Calendar; import org.eclipse.persistence.testing.oxm.mappings.XMLMappingTestCases; import org.eclipse.persistence.sessions.factories.XMLProjectWriter; import org.eclipse.persistence.sessions.factories.XMLProjectReader; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; public class TransformationMappingTestCases extends XMLMappingTestCases { public TransformationMappingTestCases(String name) throws Exception { super(name); setProject(new TransformationMappingTestProject()); setControlDocument("org/eclipse/persistence/testing/oxm/mappings/transformation/employee1.xml"); } public Object getControlObject() { Employee emp = new Employee(); emp.setName("John Smith"); String[] hours = new String[2]; hours[0] = "9:00AM"; hours[1] = "5:00PM"; emp.setNormalHours(hours); return emp; } public void testCopyObject() throws Exception { AbstractSession session = (AbstractSession)super.xmlContext.getSession(0); ClassDescriptor descriptor = session.getDescriptor(Employee.class); ObjectCopyingPolicy policy = new ObjectCopyingPolicy(); policy.setSession(session); Employee emp1 = (Employee)getControlObject(); Employee emp2 = (Employee)descriptor.getObjectBuilder().copyObject(emp1, policy); boolean equal = descriptor.getObjectBuilder().compareObjects(emp1, emp2, session); assertTrue("The copy of the employee doesn't match the original", equal); } }