/******************************************************************************* * 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.directtofield.identifiedbyname.xmlelement; import java.io.InputStream; import org.w3c.dom.Document; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.eclipse.persistence.platform.xml.SAXDocumentBuilder; import org.eclipse.persistence.testing.oxm.mappings.XMLMappingTestCases; import org.eclipse.persistence.testing.oxm.mappings.directtofield.identifiedbyname.Employee; public class DirectToXMLElementIdentifiedByNameWithCommentTestCases extends XMLMappingTestCases{ private final static String XML_RESOURCE = "org/eclipse/persistence/testing/oxm/mappings/directtofield/identifiedbyname/xmlelement/DirectToXMLElementWithComment.xml"; private final static int CONTROL_ID = 123; private final static String CONTROL_FIRST_NAME = "Jane"; private final static String CONTROL_LAST_NAME = "Doe"; public DirectToXMLElementIdentifiedByNameWithCommentTestCases(String name) throws Exception { super(name); setControlDocument(XML_RESOURCE); setProject(new DirectToXMLElementIdentifiedByNameProject()); } protected Object getControlObject() { Employee employee = new Employee(); employee.setID(CONTROL_ID); employee.setFirstName(CONTROL_FIRST_NAME); employee.setLastName(CONTROL_LAST_NAME); employee.setMarried(true); return employee; } protected Document getWriteControlDocument() throws Exception { String xmlResource = "org/eclipse/persistence/testing/oxm/mappings/directtofield/identifiedbyname/xmlelement/DirectToXMLElementWithCommentWriting.xml"; InputStream inputStream = ClassLoader.getSystemResourceAsStream(xmlResource); DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); builderFactory.setNamespaceAware(true); builderFactory.setIgnoringElementContentWhitespace(true); DocumentBuilder parser = builderFactory.newDocumentBuilder(); Document writeControlDocument = parser.parse(inputStream); removeEmptyTextNodes(writeControlDocument); return writeControlDocument; } public void testObjectToContentHandler() throws Exception { SAXDocumentBuilder builder = new SAXDocumentBuilder(); xmlMarshaller.marshal(getWriteControlObject(), builder); log("**testObjectToXMLDocument**"); log("Expected:"); log(getWriteControlDocument()); log("\nActual:"); log(builder.getDocument()); this.assertXMLIdentical(this.getWriteControlDocument(), builder.getDocument()); } }