Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Fullbright2012-10-02 22:35:47 +0000
committerPaul Fullbright2012-10-02 22:40:44 +0000
commit58c88a1571fc4161afc24233701a1c8bb5109e95 (patch)
tree102e980d637e0f9bea9fe6c0b638cdaf8240f803 /jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests
parent8271c6cba2bf85ca9132ae619c03e2e825db7621 (diff)
downloadwebtools.dali-58c88a1571fc4161afc24233701a1c8bb5109e95.tar.gz
webtools.dali-58c88a1571fc4161afc24233701a1c8bb5109e95.tar.xz
webtools.dali-58c88a1571fc4161afc24233701a1c8bb5109e95.zip
xml bindings context modelv201210030343
Diffstat (limited to 'jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests')
-rw-r--r--jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/ELJaxbCoreContextModelTests.java2
-rw-r--r--jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/ELJaxbCoreOxmContextModelTests.java30
-rw-r--r--jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmContextModelTestCase.java52
-rw-r--r--jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmXmlBindingsTests.java317
4 files changed, 401 insertions, 0 deletions
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/ELJaxbCoreContextModelTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/ELJaxbCoreContextModelTests.java
index a0117e9ba6..f36e067f4a 100644
--- a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/ELJaxbCoreContextModelTests.java
+++ b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/ELJaxbCoreContextModelTests.java
@@ -13,6 +13,7 @@ import junit.framework.Test;
import junit.framework.TestSuite;
import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.ELJaxbCoreTests;
import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.java.ELJaxbCoreJavaContextModelTests;
+import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.oxm.ELJaxbCoreOxmContextModelTests;
public class ELJaxbCoreContextModelTests {
@@ -23,6 +24,7 @@ public class ELJaxbCoreContextModelTests {
if (ELJaxbCoreTests.requiredJarsExists()) {
suite.addTestSuite(ELJaxbContextRootTests.class);
suite.addTest(ELJaxbCoreJavaContextModelTests.suite());
+ suite.addTest(ELJaxbCoreOxmContextModelTests.suite());
}
else {
suite.addTest(TestSuite.warning(ELJaxbCoreTests.buildMissingJarErrorMessage()));
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/ELJaxbCoreOxmContextModelTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/ELJaxbCoreOxmContextModelTests.java
new file mode 100644
index 0000000000..47f2d4d838
--- /dev/null
+++ b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/ELJaxbCoreOxmContextModelTests.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.oxm;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class ELJaxbCoreOxmContextModelTests
+ extends TestCase {
+
+ public static Test suite() {
+ TestSuite suite = new TestSuite(ELJaxbCoreOxmContextModelTests.class.getName());
+ suite.addTestSuite(OxmXmlBindingsTests.class);
+ return suite;
+ }
+
+
+ private ELJaxbCoreOxmContextModelTests() {
+ super();
+ throw new UnsupportedOperationException();
+ }
+}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmContextModelTestCase.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmContextModelTestCase.java
new file mode 100644
index 0000000000..f9cd25514a
--- /dev/null
+++ b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmContextModelTestCase.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.oxm;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.ELJaxbContextModelTestCase;
+
+public class OxmContextModelTestCase
+ extends ELJaxbContextModelTestCase {
+
+ protected OxmContextModelTestCase(String name) {
+ super(name);
+ }
+
+
+ protected void addOxmFile(String fileName, StringBuffer contents) throws Exception {
+ IFile oxmFile = getJavaProject().getProject().getFolder("src").getFile(fileName);
+ oxmFile.create(new ByteArrayInputStream(contents.toString().getBytes()), true, null);
+ }
+
+ protected void assertFileContentsContains(String fileName, String stringToTest, boolean doesContain) throws Exception {
+ StringBuilder sb = new StringBuilder();
+ IFile oxmFile = getJavaProject().getProject().getFolder("src").getFile(fileName);
+ InputStream is = oxmFile.getContents();
+ BufferedReader br = new BufferedReader(new InputStreamReader(is));
+
+ String line;
+ while ((line = br.readLine()) != null) {
+ sb.append(line);
+ }
+
+ is.close();
+
+ if (doesContain) {
+ assertTrue(new String(sb).contains(stringToTest));
+ }
+ else {
+ assertFalse(new String(sb).contains(stringToTest));
+ }
+ }
+}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmXmlBindingsTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmXmlBindingsTests.java
new file mode 100644
index 0000000000..8af195283e
--- /dev/null
+++ b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmXmlBindingsTests.java
@@ -0,0 +1,317 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.oxm;
+
+import org.eclipse.jpt.common.core.resource.xml.JptXmlResource;
+import org.eclipse.jpt.jaxb.eclipselink.core.context.ELJaxbContextRoot;
+import org.eclipse.jpt.jaxb.eclipselink.core.context.ELJaxbXmlAccessOrder;
+import org.eclipse.jpt.jaxb.eclipselink.core.context.ELJaxbXmlAccessType;
+import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmFile;
+import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmXmlBindings;
+import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessOrder;
+import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlAccessType;
+import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings;
+
+public class OxmXmlBindingsTests
+ extends OxmContextModelTestCase {
+
+ public OxmXmlBindingsTests(String name) {
+ super(name);
+ }
+
+
+ protected void addOxmFile(String fileName, String packageName) throws Exception {
+ StringBuffer sb = new StringBuffer();
+ sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>").append(CR);
+ sb.append("<xml-bindings").append(CR);
+ sb.append(" version=\"2.4\"").append(CR);
+ sb.append(" xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\"").append(CR);
+ sb.append(" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"").append(CR);
+ sb.append(" xsi:schemaLocation=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm http://www.eclipse.org/eclipselink/xsds/eclipselink_oxm_2_4.xsd\"").append(CR);
+ sb.append(" package-name=\"").append(packageName).append("\"").append(CR);
+ sb.append(" xml-accessor-type=\"PUBLIC_MEMBER\"").append(CR);
+ sb.append(" />").append(CR);
+ addOxmFile(fileName, sb);
+ }
+
+ public void testUpdateAccessType() throws Exception {
+ addOxmFile("oxm.xml", "test.oxm");
+ ELJaxbContextRoot root = (ELJaxbContextRoot) getJaxbProject().getContextRoot();
+ OxmFile oxmFile = root.getOxmFile("test.oxm");
+ OxmXmlBindings xmlBindings = oxmFile.getXmlBindings();
+ JptXmlResource oxmResource = oxmFile.getOxmResource();
+ EXmlBindings eXmlBindings = (EXmlBindings) oxmResource.getRootObject();
+
+ // the value is not exactly specified, but since the attribute has a default value, it's "specified"
+ assertEquals(EXmlAccessType.PUBLIC_MEMBER, eXmlBindings.getXmlAccessorType());
+ assertEquals(ELJaxbXmlAccessType.PUBLIC_MEMBER, xmlBindings.getSpecifiedAccessType());
+ assertEquals(ELJaxbXmlAccessType.PUBLIC_MEMBER, xmlBindings.getAccessType());
+
+ eXmlBindings.setXmlAccessorType(EXmlAccessType.FIELD);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-type=\"FIELD\"", true);
+ assertEquals(EXmlAccessType.FIELD, eXmlBindings.getXmlAccessorType());
+ assertEquals(ELJaxbXmlAccessType.FIELD, xmlBindings.getSpecifiedAccessType());
+ assertEquals(ELJaxbXmlAccessType.FIELD, xmlBindings.getAccessType());
+
+ eXmlBindings.setXmlAccessorType(EXmlAccessType.NONE);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-type=\"NONE\"", true);
+ assertEquals(EXmlAccessType.NONE, eXmlBindings.getXmlAccessorType());
+ assertEquals(ELJaxbXmlAccessType.NONE, xmlBindings.getSpecifiedAccessType());
+ assertEquals(ELJaxbXmlAccessType.NONE, xmlBindings.getAccessType());
+
+ eXmlBindings.setXmlAccessorType(EXmlAccessType.PROPERTY);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-type=\"PROPERTY\"", true);
+ assertEquals(EXmlAccessType.PROPERTY, eXmlBindings.getXmlAccessorType());
+ assertEquals(ELJaxbXmlAccessType.PROPERTY, xmlBindings.getSpecifiedAccessType());
+ assertEquals(ELJaxbXmlAccessType.PROPERTY, xmlBindings.getAccessType());
+
+ eXmlBindings.setXmlAccessorType(null);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-type=", false);
+ assertNull(eXmlBindings.getXmlAccessorType());
+ assertNull(xmlBindings.getSpecifiedAccessType());
+ assertEquals(ELJaxbXmlAccessType.PUBLIC_MEMBER, xmlBindings.getAccessType());
+ }
+
+ public void testModifyAccessType() throws Exception {
+ addOxmFile("oxm.xml", "test.oxm");
+ ELJaxbContextRoot root = (ELJaxbContextRoot) getJaxbProject().getContextRoot();
+ OxmFile oxmFile = root.getOxmFile("test.oxm");
+ OxmXmlBindings xmlBindings = oxmFile.getXmlBindings();
+ JptXmlResource oxmResource = oxmFile.getOxmResource();
+ EXmlBindings eXmlBindings = (EXmlBindings) oxmResource.getRootObject();
+
+ // the value is not exactly specified, but since the attribute has a default value, it's "specified"
+ assertEquals(EXmlAccessType.PUBLIC_MEMBER, eXmlBindings.getXmlAccessorType());
+ assertEquals(ELJaxbXmlAccessType.PUBLIC_MEMBER, xmlBindings.getSpecifiedAccessType());
+ assertEquals(ELJaxbXmlAccessType.PUBLIC_MEMBER, xmlBindings.getAccessType());
+
+ xmlBindings.setSpecifiedAccessType(ELJaxbXmlAccessType.FIELD);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-type=\"FIELD\"", true);
+ assertEquals(EXmlAccessType.FIELD, eXmlBindings.getXmlAccessorType());
+ assertEquals(ELJaxbXmlAccessType.FIELD, xmlBindings.getSpecifiedAccessType());
+ assertEquals(ELJaxbXmlAccessType.FIELD, xmlBindings.getAccessType());
+
+ xmlBindings.setSpecifiedAccessType(ELJaxbXmlAccessType.NONE);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-type=\"NONE\"", true);
+ assertEquals(EXmlAccessType.NONE, eXmlBindings.getXmlAccessorType());
+ assertEquals(ELJaxbXmlAccessType.NONE, xmlBindings.getSpecifiedAccessType());
+ assertEquals(ELJaxbXmlAccessType.NONE, xmlBindings.getAccessType());
+
+ xmlBindings.setSpecifiedAccessType(ELJaxbXmlAccessType.PROPERTY);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-type=\"PROPERTY\"", true);
+ assertEquals(EXmlAccessType.PROPERTY, eXmlBindings.getXmlAccessorType());
+ assertEquals(ELJaxbXmlAccessType.PROPERTY, xmlBindings.getSpecifiedAccessType());
+ assertEquals(ELJaxbXmlAccessType.PROPERTY, xmlBindings.getAccessType());
+
+ xmlBindings.setSpecifiedAccessType(null);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-type=", false);
+ assertNull(eXmlBindings.getXmlAccessorType());
+ assertNull(xmlBindings.getSpecifiedAccessType());
+ assertEquals(ELJaxbXmlAccessType.PUBLIC_MEMBER, xmlBindings.getAccessType());
+ }
+
+ public void testUpdateAccessOrder() throws Exception {
+ addOxmFile("oxm.xml", "test.oxm");
+ ELJaxbContextRoot root = (ELJaxbContextRoot) getJaxbProject().getContextRoot();
+ OxmFile oxmFile = root.getOxmFile("test.oxm");
+ OxmXmlBindings xmlBindings = oxmFile.getXmlBindings();
+ JptXmlResource oxmResource = oxmFile.getOxmResource();
+ EXmlBindings eXmlBindings = (EXmlBindings) oxmResource.getRootObject();
+
+ // the value is not exactly specified, but since the attribute has a default value, it's "specified"
+ assertEquals(EXmlAccessOrder.UNDEFINED, eXmlBindings.getXmlAccessorOrder());
+ assertEquals(ELJaxbXmlAccessOrder.UNDEFINED, xmlBindings.getSpecifiedAccessOrder());
+ assertEquals(ELJaxbXmlAccessOrder.UNDEFINED, xmlBindings.getAccessOrder());
+
+ eXmlBindings.setXmlAccessorOrder(EXmlAccessOrder.ALPHABETICAL);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-order=\"ALPHABETICAL\"", true);
+ assertEquals(EXmlAccessOrder.ALPHABETICAL, eXmlBindings.getXmlAccessorOrder());
+ assertEquals(ELJaxbXmlAccessOrder.ALPHABETICAL, xmlBindings.getSpecifiedAccessOrder());
+ assertEquals(ELJaxbXmlAccessOrder.ALPHABETICAL, xmlBindings.getAccessOrder());
+
+ eXmlBindings.setXmlAccessorOrder(EXmlAccessOrder.UNDEFINED);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-order=\"UNDEFINED\"", true);
+ assertEquals(EXmlAccessOrder.UNDEFINED, eXmlBindings.getXmlAccessorOrder());
+ assertEquals(ELJaxbXmlAccessOrder.UNDEFINED, xmlBindings.getSpecifiedAccessOrder());
+ assertEquals(ELJaxbXmlAccessOrder.UNDEFINED, xmlBindings.getAccessOrder());
+
+ eXmlBindings.setXmlAccessorOrder(null);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-order=", false);
+ assertNull(eXmlBindings.getXmlAccessorOrder());
+ assertNull(xmlBindings.getSpecifiedAccessOrder());
+ assertEquals(ELJaxbXmlAccessOrder.UNDEFINED, xmlBindings.getAccessOrder());
+ }
+
+ public void testModifyAccessOrder() throws Exception {
+ addOxmFile("oxm.xml", "test.oxm");
+ ELJaxbContextRoot root = (ELJaxbContextRoot) getJaxbProject().getContextRoot();
+ OxmFile oxmFile = root.getOxmFile("test.oxm");
+ OxmXmlBindings xmlBindings = oxmFile.getXmlBindings();
+ JptXmlResource oxmResource = oxmFile.getOxmResource();
+ EXmlBindings eXmlBindings = (EXmlBindings) oxmResource.getRootObject();
+
+ // the value is not exactly specified, but since the attribute has a default value, it's "specified"
+ assertEquals(EXmlAccessOrder.UNDEFINED, eXmlBindings.getXmlAccessorOrder());
+ assertEquals(ELJaxbXmlAccessOrder.UNDEFINED, xmlBindings.getSpecifiedAccessOrder());
+ assertEquals(ELJaxbXmlAccessOrder.UNDEFINED, xmlBindings.getAccessOrder());
+
+ xmlBindings.setSpecifiedAccessOrder(ELJaxbXmlAccessOrder.ALPHABETICAL);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-order=\"ALPHABETICAL\"", true);
+ assertEquals(EXmlAccessOrder.ALPHABETICAL, eXmlBindings.getXmlAccessorOrder());
+ assertEquals(ELJaxbXmlAccessOrder.ALPHABETICAL, xmlBindings.getSpecifiedAccessOrder());
+ assertEquals(ELJaxbXmlAccessOrder.ALPHABETICAL, xmlBindings.getAccessOrder());
+
+ xmlBindings.setSpecifiedAccessOrder(ELJaxbXmlAccessOrder.UNDEFINED);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-order=\"UNDEFINED\"", true);
+ assertEquals(EXmlAccessOrder.UNDEFINED, eXmlBindings.getXmlAccessorOrder());
+ assertEquals(ELJaxbXmlAccessOrder.UNDEFINED, xmlBindings.getSpecifiedAccessOrder());
+ assertEquals(ELJaxbXmlAccessOrder.UNDEFINED, xmlBindings.getAccessOrder());
+
+ xmlBindings.setSpecifiedAccessOrder(null);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-accessor-order=", false);
+ assertNull(eXmlBindings.getXmlAccessorOrder());
+ assertNull(xmlBindings.getSpecifiedAccessOrder());
+ assertEquals(ELJaxbXmlAccessOrder.UNDEFINED, xmlBindings.getAccessOrder());
+ }
+
+ public void testUpdateXmlMappingMetadataComplete() throws Exception {
+ addOxmFile("oxm.xml", "test.oxm");
+ ELJaxbContextRoot root = (ELJaxbContextRoot) getJaxbProject().getContextRoot();
+ OxmFile oxmFile = root.getOxmFile("test.oxm");
+ OxmXmlBindings xmlBindings = oxmFile.getXmlBindings();
+ JptXmlResource oxmResource = oxmFile.getOxmResource();
+ EXmlBindings eXmlBindings = (EXmlBindings) oxmResource.getRootObject();
+
+ // the value is not exactly specified, but since the attribute has a default value, it's "specified"
+ assertEquals(Boolean.FALSE, eXmlBindings.getXmlMappingMetadataComplete());
+ assertFalse(xmlBindings.isXmlMappingMetadataComplete());
+
+ eXmlBindings.setXmlMappingMetadataComplete(Boolean.TRUE);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-mapping-metadata-complete=\"true\"", true);
+ assertEquals(Boolean.TRUE, eXmlBindings.getXmlMappingMetadataComplete());
+ assertTrue(xmlBindings.isXmlMappingMetadataComplete());
+
+ eXmlBindings.setXmlMappingMetadataComplete(null);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-mapping-metadata-complete=", false);
+ assertNull(eXmlBindings.getXmlMappingMetadataComplete());
+ assertFalse(xmlBindings.isXmlMappingMetadataComplete());
+ }
+
+ public void testModifyXmlMappingMetadataComplete() throws Exception {
+ addOxmFile("oxm.xml", "test.oxm");
+ ELJaxbContextRoot root = (ELJaxbContextRoot) getJaxbProject().getContextRoot();
+ OxmFile oxmFile = root.getOxmFile("test.oxm");
+ OxmXmlBindings xmlBindings = oxmFile.getXmlBindings();
+ JptXmlResource oxmResource = oxmFile.getOxmResource();
+ EXmlBindings eXmlBindings = (EXmlBindings) oxmResource.getRootObject();
+
+ // the value is not exactly specified, but since the attribute has a default value, it's "specified"
+ assertEquals(Boolean.FALSE, eXmlBindings.getXmlMappingMetadataComplete());
+ assertFalse(xmlBindings.isXmlMappingMetadataComplete());
+
+ xmlBindings.setXmlMappingMetadataComplete(true);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-mapping-metadata-complete=\"true\"", true);
+ assertEquals(Boolean.TRUE, eXmlBindings.getXmlMappingMetadataComplete());
+ assertTrue(xmlBindings.isXmlMappingMetadataComplete());
+
+ xmlBindings.setXmlMappingMetadataComplete(false);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "xml-mapping-metadata-complete=", false);
+ assertNull(eXmlBindings.getXmlMappingMetadataComplete());
+ assertFalse(xmlBindings.isXmlMappingMetadataComplete());
+ }
+
+ public void testUpdatePackageName() throws Exception {
+ addOxmFile("oxm.xml", "test.oxm");
+ ELJaxbContextRoot root = (ELJaxbContextRoot) getJaxbProject().getContextRoot();
+ OxmFile oxmFile = root.getOxmFile("test.oxm");
+ OxmXmlBindings xmlBindings = oxmFile.getXmlBindings();
+ JptXmlResource oxmResource = oxmFile.getOxmResource();
+ EXmlBindings eXmlBindings = (EXmlBindings) oxmResource.getRootObject();
+
+ assertEquals("test.oxm", eXmlBindings.getPackageName());
+ assertEquals("test.oxm", xmlBindings.getPackageName());
+
+ eXmlBindings.setPackageName("foo");
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "package-name=\"foo\"", true);
+ assertEquals("foo", eXmlBindings.getPackageName());
+ assertEquals("foo", xmlBindings.getPackageName());
+
+ eXmlBindings.setPackageName(null);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "package-name=", false);
+ assertNull(eXmlBindings.getPackageName());
+ assertNull(xmlBindings.getPackageName());
+ }
+
+ public void testModifyPackageName() throws Exception {
+ addOxmFile("oxm.xml", "test.oxm");
+ ELJaxbContextRoot root = (ELJaxbContextRoot) getJaxbProject().getContextRoot();
+ OxmFile oxmFile = root.getOxmFile("test.oxm");
+ OxmXmlBindings xmlBindings = oxmFile.getXmlBindings();
+ JptXmlResource oxmResource = oxmFile.getOxmResource();
+ EXmlBindings eXmlBindings = (EXmlBindings) oxmResource.getRootObject();
+
+ assertEquals("test.oxm", eXmlBindings.getPackageName());
+ assertEquals("test.oxm", xmlBindings.getPackageName());
+
+ xmlBindings.setPackageName("foo");
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "package-name=\"foo\"", true);
+ assertEquals("foo", eXmlBindings.getPackageName());
+ assertEquals("foo", xmlBindings.getPackageName());
+
+ xmlBindings.setPackageName(null);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "package-name=", false);
+ assertNull(eXmlBindings.getPackageName());
+ assertNull(xmlBindings.getPackageName());
+ }
+}

Back to the top