summaryrefslogtreecommitdiffstats
path: root/sandbox/jboynes/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/jboynes/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java')
-rw-r--r--sandbox/jboynes/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/sandbox/jboynes/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java b/sandbox/jboynes/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java
new file mode 100644
index 0000000000..637abcfa0a
--- /dev/null
+++ b/sandbox/jboynes/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java
@@ -0,0 +1,81 @@
+package org.apache.tuscany.sdo.test;
+
+import java.io.InputStream;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.net.URL;
+
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sdo.helper.XMLStreamHelper;
+import org.apache.tuscany.sdo.util.SDOUtil;
+
+import commonj.sdo.DataObject;
+import commonj.sdo.Property;
+import commonj.sdo.Type;
+import commonj.sdo.helper.DataFactory;
+import commonj.sdo.helper.TypeHelper;
+import commonj.sdo.helper.XMLDocument;
+import commonj.sdo.helper.XSDHelper;
+
+public class AnyTypeTest extends TestCase {
+ private static TypeHelper typeHelper;
+ private static DataFactory dataFactory;
+ private static XMLStreamHelper streamHelper;
+ private static XSDHelper xsdHelper;
+
+ private static final String TEST_MODEL = "/anytype.xsd";
+ private static final String TEST_NAMESPACE = "http://www.example.com/anytype";
+
+ public void testAnySimpleType() throws Exception {
+ Property property = typeHelper.getOpenContentProperty(TEST_NAMESPACE, "globalElement");
+ Type propertyType = property.getType();
+
+ DataObject dataObject = dataFactory.create(TEST_NAMESPACE, "Person");
+ dataObject.set("firstName", "Fuhwei");
+
+ DataObject rootObject = dataFactory.create(propertyType);
+ rootObject.set("anyTypeElement", dataObject);
+
+ dataObject = dataFactory.create(TEST_NAMESPACE, "Person");
+ dataObject.set("firstName", "Mindy");
+ rootObject.set("personElement", dataObject);
+
+ // XMLStreamHelper.saveObject has a problem to serialize the any type
+ XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
+ StringWriter writer = new StringWriter();
+ XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
+ streamHelper.saveObject(rootObject, streamWriter);
+ streamWriter.flush();
+ System.out.println(writer.toString());
+
+ XMLInputFactory inputFactory = XMLInputFactory.newInstance();
+ StringReader reader = new StringReader(writer.toString());
+ XMLStreamReader streamReader = inputFactory.createXMLStreamReader(reader);
+ XMLDocument doc = streamHelper.load(streamReader);
+ rootObject = doc.getRootObject();
+ DataObject testObject = rootObject.getDataObject("anyTypeElement");
+ System.out.println("anyTypeElement dataobject: " + testObject);
+ testObject = rootObject.getDataObject("personElement");
+ System.out.println("personElement dataobject: " + testObject);
+ }
+
+ protected void setUp() throws Exception {
+ typeHelper = SDOUtil.createTypeHelper();
+ dataFactory = SDOUtil.createDataFactory(typeHelper);
+ streamHelper = SDOUtil.createXMLStreamHelper(typeHelper);
+ xsdHelper = SDOUtil.createXSDHelper(typeHelper);
+
+ // Populate the meta data for the test (Stock Quote) model
+ URL url = getClass().getResource(TEST_MODEL);
+ InputStream inputStream = url.openStream();
+ xsdHelper.define(inputStream, url.toString());
+ inputStream.close();
+ }
+
+}