Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpfullbright2011-08-25 21:37:23 +0000
committerpfullbright2011-08-25 21:37:23 +0000
commit852720b31df8acb8c434b3b197624392806b1b7b (patch)
treeee895561e7626c11a4e87bdcb733da586cf535d2
parent99b1956f6d03064da4aee97572208b62947c7fb7 (diff)
downloadwebtools.dali-852720b31df8acb8c434b3b197624392806b1b7b.tar.gz
webtools.dali-852720b31df8acb8c434b3b197624392806b1b7b.tar.xz
webtools.dali-852720b31df8acb8c434b3b197624392806b1b7b.zip
added default name testing
-rw-r--r--jaxb/tests/org.eclipse.jpt.jaxb.core.tests/src/org/eclipse/jpt/jaxb/core/tests/internal/context/java/GenericJavaXmlElementRefMappingTests.java78
1 files changed, 75 insertions, 3 deletions
diff --git a/jaxb/tests/org.eclipse.jpt.jaxb.core.tests/src/org/eclipse/jpt/jaxb/core/tests/internal/context/java/GenericJavaXmlElementRefMappingTests.java b/jaxb/tests/org.eclipse.jpt.jaxb.core.tests/src/org/eclipse/jpt/jaxb/core/tests/internal/context/java/GenericJavaXmlElementRefMappingTests.java
index 54adc70729..16804c2d46 100644
--- a/jaxb/tests/org.eclipse.jpt.jaxb.core.tests/src/org/eclipse/jpt/jaxb/core/tests/internal/context/java/GenericJavaXmlElementRefMappingTests.java
+++ b/jaxb/tests/org.eclipse.jpt.jaxb.core.tests/src/org/eclipse/jpt/jaxb/core/tests/internal/context/java/GenericJavaXmlElementRefMappingTests.java
@@ -62,6 +62,79 @@ public class GenericJavaXmlElementRefMappingTests
});
}
+ private ICompilationUnit createTypeWithJAXBElementXmlElementRef() throws Exception {
+ return this.createTestType(TYPE_NAME + "2", new DefaultAnnotationWriter() {
+
+ @Override
+ public Iterator<String> imports() {
+ return new ArrayIterator<String>(JAXB.XML_TYPE, JAXB.XML_ELEMENT_REF, JAXB.JAXB_ELEMENT);
+ }
+
+ @Override
+ public void appendTypeAnnotationTo(StringBuilder sb) {
+ sb.append("@XmlType");
+ }
+
+ @Override
+ public void appendIdFieldAnnotationTo(StringBuilder sb) {
+ sb.append("@XmlElementRef").append(CR);
+ sb.append("private JAXBElement foo;").append(CR).append(CR);
+ }
+ });
+ }
+
+ private ICompilationUnit createTypeWithRootElementXmlElementRef() throws Exception {
+ return this.createTestType(TYPE_NAME + "3", new DefaultAnnotationWriter() {
+
+ @Override
+ public Iterator<String> imports() {
+ return new ArrayIterator<String>(JAXB.XML_TYPE, JAXB.XML_ELEMENT_REF, JAXB.XML_ROOT_ELEMENT);
+ }
+
+ @Override
+ public void appendTypeAnnotationTo(StringBuilder sb) {
+ sb.append("@XmlType").append(CR);
+ sb.append("@XmlRootElement(name=\"foo\")");
+ }
+
+ @Override
+ public void appendIdFieldAnnotationTo(StringBuilder sb) {
+ sb.append("@XmlElementRef").append(CR);
+ sb.append("private " + TYPE_NAME + "3 foo;").append(CR).append(CR);
+ }
+ });
+ }
+
+
+ public void testDefaultName() throws Exception {
+ createTypeWithXmlElementRef();
+ createTypeWithJAXBElementXmlElementRef(); // FULLY_QUALIFIED_TYPE_NAME + "2"
+ createTypeWithRootElementXmlElementRef(); // FULLY_QUALIFIED_TYPE_NAME + "3"
+
+ JaxbPersistentClass persistentClass = getContextRoot().getPersistentClass(FULLY_QUALIFIED_TYPE_NAME);
+ XmlElementRefMapping xmlElementRefMapping = (XmlElementRefMapping) CollectionTools.get(persistentClass.getAttributes(), 0).getMapping();
+ XmlElementRef xmlElementRef = xmlElementRefMapping.getXmlElementRef();
+
+ // XmlElementRef type is java.lang.String -> no default name or namespace
+ assertEquals("", xmlElementRef.getQName().getName());
+ assertEquals("", xmlElementRef.getQName().getNamespace());
+
+ persistentClass = getContextRoot().getPersistentClass(FULLY_QUALIFIED_TYPE_NAME + "2");
+ xmlElementRefMapping = (XmlElementRefMapping) CollectionTools.get(persistentClass.getAttributes(), 0).getMapping();
+ xmlElementRef = xmlElementRefMapping.getXmlElementRef();
+
+ // XmlElementRef type is JAXBElement -> default name is name of attribute
+ assertEquals("foo", xmlElementRef.getQName().getName());
+ assertEquals("", xmlElementRef.getQName().getNamespace());
+
+ persistentClass = getContextRoot().getPersistentClass(FULLY_QUALIFIED_TYPE_NAME + "3");
+ xmlElementRefMapping = (XmlElementRefMapping) CollectionTools.get(persistentClass.getAttributes(), 0).getMapping();
+ xmlElementRef = xmlElementRefMapping.getXmlElementRef();
+
+ // XmlElementRef type is type with root element -> default name is root element name
+ assertEquals("foo", xmlElementRef.getQName().getName());
+ assertEquals("", xmlElementRef.getQName().getNamespace());
+ }
public void testModifyName() throws Exception {
createTypeWithXmlElementRef();
@@ -72,14 +145,13 @@ public class GenericJavaXmlElementRefMappingTests
JavaResourceAttribute resourceAttribute = xmlElementRefMapping.getPersistentAttribute().getJavaResourceAttribute();
assertNull(xmlElementRef.getQName().getSpecifiedName());
- assertEquals("id", xmlElementRef.getQName().getDefaultName());
- assertEquals("id", xmlElementRef.getQName().getName());
+ assertEquals("", xmlElementRef.getQName().getDefaultName());
+ assertEquals("", xmlElementRef.getQName().getName());
xmlElementRef.getQName().setSpecifiedName("foo");
XmlElementRefAnnotation xmlElementRefAnnotation = (XmlElementRefAnnotation) resourceAttribute.getAnnotation(XmlElementRefAnnotation.ANNOTATION_NAME);
assertEquals("foo", xmlElementRefAnnotation.getName());
assertEquals("foo", xmlElementRef.getQName().getSpecifiedName());
- assertEquals("id", xmlElementRef.getQName().getDefaultName());
assertEquals("foo", xmlElementRef.getQName().getName());
xmlElementRef.getQName().setSpecifiedName(null);

Back to the top