Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Fullbright2012-10-11 15:06:58 +0000
committerPaul Fullbright2012-10-11 17:36:56 +0000
commit6b4caccf6a62c8a5b597f94d3391e194e869f44a (patch)
tree66cba5348c46f53ff0ca3133d58e5d4e749c47a6 /jaxb/tests
parentb81ec925a0060e4aafcac31493c931c73c6db984 (diff)
downloadwebtools.dali-6b4caccf6a62c8a5b597f94d3391e194e869f44a.tar.gz
webtools.dali-6b4caccf6a62c8a5b597f94d3391e194e869f44a.tar.xz
webtools.dali-6b4caccf6a62c8a5b597f94d3391e194e869f44a.zip
Added java types to xml bindings and name to java type
Diffstat (limited to 'jaxb/tests')
-rw-r--r--jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/ELJaxbCoreOxmContextModelTests.java1
-rw-r--r--jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmJavaTypeTests.java131
-rw-r--r--jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmXmlBindingsTests.java102
3 files changed, 234 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/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
index 47f2d4d838..25100139d6 100644
--- 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
@@ -18,6 +18,7 @@ public class ELJaxbCoreOxmContextModelTests
public static Test suite() {
TestSuite suite = new TestSuite(ELJaxbCoreOxmContextModelTests.class.getName());
+ suite.addTestSuite(OxmJavaTypeTests.class);
suite.addTestSuite(OxmXmlBindingsTests.class);
return suite;
}
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmJavaTypeTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmJavaTypeTests.java
new file mode 100644
index 0000000000..37bdb08408
--- /dev/null
+++ b/jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests/src/org/eclipse/jpt/jaxb/eclipselink/core/tests/internal/context/oxm/OxmJavaTypeTests.java
@@ -0,0 +1,131 @@
+/*******************************************************************************
+ * 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.oxm.OxmFile;
+import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmJavaType;
+import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmXmlBindings;
+import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType;
+import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings;
+
+public class OxmJavaTypeTests
+ extends OxmContextModelTestCase {
+
+ public OxmJavaTypeTests(String name) {
+ super(name);
+ }
+
+
+ protected void addOxmFile(String fileName, String packageName, String typeName) 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(" <java-types>").append(CR);
+ sb.append(" <java-type name=\"").append(typeName).append("\"/>").append(CR);
+ sb.append(" </java-types>").append(CR);
+ sb.append("</xml-bindings>").append(CR);
+ addOxmFile(fileName, sb);
+ }
+
+ public void testUpdateName() throws Exception {
+ addOxmFile("oxm.xml", "test.oxm", "Foo");
+ ELJaxbContextRoot root = (ELJaxbContextRoot) getJaxbProject().getContextRoot();
+ OxmFile oxmFile = root.getOxmFile("test.oxm");
+ OxmXmlBindings xmlBindings = oxmFile.getXmlBindings();
+ OxmJavaType javaType = xmlBindings.getJavaType(0);
+ JptXmlResource oxmResource = oxmFile.getOxmResource();
+ EXmlBindings eXmlBindings = (EXmlBindings) oxmResource.getRootObject();
+ EJavaType eJavaType = eXmlBindings.getJavaTypes().get(0);
+
+ assertEquals("Foo", eJavaType.getName());
+ assertEquals("Foo", javaType.getSpecifiedName());
+ assertEquals("test.oxm.Foo", javaType.getQualifiedName());
+ assertEquals("Foo", javaType.getSimpleName());
+
+ eJavaType.setName("test.oxm2.Bar");
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "name=\"test.oxm2.Bar\"", true);
+ assertEquals("test.oxm2.Bar", eJavaType.getName());
+ assertEquals("test.oxm2.Bar", javaType.getSpecifiedName());
+ assertEquals("test.oxm2.Bar", javaType.getQualifiedName());
+ assertEquals("Bar", javaType.getSimpleName());
+
+ eJavaType.setName("int");
+ oxmResource.save();
+
+// assertFileContentsContains("oxm.xml", "name=\"int\"", true);
+// assertEquals("int", eJavaType.getName());
+// assertEquals("int", javaType.getSpecifiedName());
+// assertEquals("int", javaType.getQualifiedName());
+// assertEquals("int", javaType.getSimpleName());
+
+ eXmlBindings.setPackageName("test.oxm2");
+ eJavaType.setName("Foo");
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "name=\"Foo\"", true);
+ assertEquals("Foo", eJavaType.getName());
+ assertEquals("Foo", javaType.getSpecifiedName());
+ assertEquals("test.oxm2.Foo", javaType.getQualifiedName());
+ assertEquals("Foo", javaType.getSimpleName());
+ }
+
+ public void testModifyName() throws Exception {
+ addOxmFile("oxm.xml", "test.oxm", "Foo");
+ ELJaxbContextRoot root = (ELJaxbContextRoot) getJaxbProject().getContextRoot();
+ OxmFile oxmFile = root.getOxmFile("test.oxm");
+ OxmXmlBindings xmlBindings = oxmFile.getXmlBindings();
+ OxmJavaType javaType = xmlBindings.getJavaType(0);
+ JptXmlResource oxmResource = oxmFile.getOxmResource();
+ EXmlBindings eXmlBindings = (EXmlBindings) oxmResource.getRootObject();
+ EJavaType eJavaType = eXmlBindings.getJavaTypes().get(0);
+
+ assertEquals("Foo", eJavaType.getName());
+ assertEquals("Foo", javaType.getSpecifiedName());
+ assertEquals("test.oxm.Foo", javaType.getQualifiedName());
+ assertEquals("Foo", javaType.getSimpleName());
+
+ javaType.setSpecifiedName("test.oxm2.Bar");
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "name=\"test.oxm2.Bar\"", true);
+ assertEquals("test.oxm2.Bar", eJavaType.getName());
+ assertEquals("test.oxm2.Bar", javaType.getSpecifiedName());
+ assertEquals("test.oxm2.Bar", javaType.getQualifiedName());
+ assertEquals("Bar", javaType.getSimpleName());
+
+ javaType.setSpecifiedName("int");
+ oxmResource.save();
+
+// assertFileContentsContains("oxm.xml", "name=\"int\"", true);
+// assertEquals("int", eJavaType.getName());
+// assertEquals("int", javaType.getSpecifiedName());
+// assertEquals("int", javaType.getQualifiedName());
+// assertEquals("int", javaType.getSimpleName());
+
+ xmlBindings.setPackageName("test.oxm2");
+ javaType.setSpecifiedName("Foo");
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "name=\"Foo\"", true);
+ assertEquals("Foo", eJavaType.getName());
+ assertEquals("Foo", javaType.getSpecifiedName());
+ assertEquals("test.oxm2.Foo", javaType.getQualifiedName());
+ assertEquals("Foo", javaType.getSimpleName());
+ }
+}
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
index 578f0f83d5..faf2452108 100644
--- 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
@@ -10,14 +10,18 @@
package org.eclipse.jpt.jaxb.eclipselink.core.tests.internal.context.oxm;
import org.eclipse.jpt.common.core.resource.xml.JptXmlResource;
+import org.eclipse.jpt.common.utility.internal.CollectionTools;
import org.eclipse.jpt.jaxb.eclipselink.core.context.ELJaxbContextRoot;
import org.eclipse.jpt.jaxb.eclipselink.core.context.ELXmlAccessOrder;
import org.eclipse.jpt.jaxb.eclipselink.core.context.ELXmlAccessType;
import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmFile;
+import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmJavaType;
import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmXmlBindings;
+import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType;
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;
+import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.OxmFactory;
public class OxmXmlBindingsTests
extends OxmContextModelTestCase {
@@ -314,4 +318,102 @@ public class OxmXmlBindingsTests
assertNull(eXmlBindings.getPackageName());
assertNull(xmlBindings.getPackageName());
}
+
+ public void testUpdateJavaTypes() 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(0, CollectionTools.size(eXmlBindings.getJavaTypes()));
+ assertEquals(0, xmlBindings.getJavaTypesSize());
+
+ EJavaType eJavaType = OxmFactory.eINSTANCE.createEJavaType();
+ eJavaType.setName("test.oxm.Foo");
+ eXmlBindings.getJavaTypes().add(eJavaType);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "java-types", true);
+ assertFileContentsContains("oxm.xml", "test.oxm.Foo", true);
+ assertEquals(1, CollectionTools.size(eXmlBindings.getJavaTypes()));
+ assertEquals(1, xmlBindings.getJavaTypesSize());
+ assertNotNull(xmlBindings.getJavaType("test.oxm.Foo"));
+
+ eJavaType = OxmFactory.eINSTANCE.createEJavaType();
+ eJavaType.setName("test.oxm.Bar");
+ eXmlBindings.getJavaTypes().add(eJavaType);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "test.oxm.Bar", true);
+ assertEquals(2, CollectionTools.size(eXmlBindings.getJavaTypes()));
+ assertEquals(2, xmlBindings.getJavaTypesSize());
+ assertNotNull(xmlBindings.getJavaType("test.oxm.Bar"));
+
+ eXmlBindings.getJavaTypes().remove(0);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "test.oxm.Foo", false);
+ assertFileContentsContains("oxm.xml", "test.oxm.Bar", true);
+ assertEquals(1, CollectionTools.size(eXmlBindings.getJavaTypes()));
+ assertEquals(1, xmlBindings.getJavaTypesSize());
+ assertNull(xmlBindings.getJavaType("test.oxm.Foo"));
+ assertNotNull(xmlBindings.getJavaType("test.oxm.Bar"));
+
+ eXmlBindings.getJavaTypes().remove(0);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "java-types", false);
+ assertEquals(0, CollectionTools.size(eXmlBindings.getJavaTypes()));
+ assertEquals(0, xmlBindings.getJavaTypesSize());
+ }
+
+ public void testModifyJavaTypes() 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(0, CollectionTools.size(eXmlBindings.getJavaTypes()));
+ assertEquals(0, xmlBindings.getJavaTypesSize());
+
+ OxmJavaType javaType = xmlBindings.addJavaType(0);
+ javaType.setSpecifiedName("test.oxm.Foo");
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "java-types", true);
+ assertFileContentsContains("oxm.xml", "test.oxm.Foo", true);
+ assertEquals(1, CollectionTools.size(eXmlBindings.getJavaTypes()));
+ assertEquals(1, xmlBindings.getJavaTypesSize());
+ assertNotNull(xmlBindings.getJavaType("test.oxm.Foo"));
+
+ javaType = xmlBindings.addJavaType(0);
+ javaType.setSpecifiedName("test.oxm.Bar");
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "test.oxm.Bar", true);
+ assertEquals(2, CollectionTools.size(eXmlBindings.getJavaTypes()));
+ assertEquals(2, xmlBindings.getJavaTypesSize());
+ assertNotNull(xmlBindings.getJavaType("test.oxm.Bar"));
+
+ xmlBindings.removeJavaType(1);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "test.oxm.Foo", false);
+ assertFileContentsContains("oxm.xml", "test.oxm.Bar", true);
+ assertEquals(1, CollectionTools.size(eXmlBindings.getJavaTypes()));
+ assertEquals(1, xmlBindings.getJavaTypesSize());
+ assertNull(xmlBindings.getJavaType("test.oxm.Foo"));
+ assertNotNull(xmlBindings.getJavaType("test.oxm.Bar"));
+
+ xmlBindings.removeJavaType(0);
+ oxmResource.save();
+
+ assertFileContentsContains("oxm.xml", "java-types", false);
+ assertEquals(0, CollectionTools.size(eXmlBindings.getJavaTypes()));
+ assertEquals(0, xmlBindings.getJavaTypesSize());
+ }
}

Back to the top