diff options
author | Paul Fullbright | 2012-10-11 15:06:58 +0000 |
---|---|---|
committer | Paul Fullbright | 2012-10-11 17:36:56 +0000 |
commit | 6b4caccf6a62c8a5b597f94d3391e194e869f44a (patch) | |
tree | 66cba5348c46f53ff0ca3133d58e5d4e749c47a6 /jaxb/tests | |
parent | b81ec925a0060e4aafcac31493c931c73c6db984 (diff) | |
download | webtools.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')
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());
+ }
} |