You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by fr...@apache.org on 2007/08/17 19:34:53 UTC

svn commit: r567093 - in /incubator/tuscany/java/sdo/impl/src/test: java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java resources/SubstitutionValues.xsd resources/substitutionValues1.xml resources/substitutionValues2.xml

Author: frankb
Date: Fri Aug 17 10:34:52 2007
New Revision: 567093

URL: http://svn.apache.org/viewvc?view=rev&rev=567093
Log:
Fix for TUSCANY-1498

Added:
    incubator/tuscany/java/sdo/impl/src/test/resources/substitutionValues1.xml
    incubator/tuscany/java/sdo/impl/src/test/resources/substitutionValues2.xml
Modified:
    incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java
    incubator/tuscany/java/sdo/impl/src/test/resources/SubstitutionValues.xsd

Modified: incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java?view=diff&rev=567093&r1=567092&r2=567093
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java (original)
+++ incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java Fri Aug 17 10:34:52 2007
@@ -19,29 +19,65 @@
  */
 package org.apache.tuscany.sdo.test;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.net.URL;
 
 import junit.framework.TestCase;
 
-import org.apache.tuscany.sdo.util.SDOUtil;
+import org.apache.tuscany.sdo.api.SDOUtil;
 
 import commonj.sdo.DataObject;
+import commonj.sdo.Property;
+import commonj.sdo.Sequence;
 import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
+import commonj.sdo.helper.HelperContext;
+import commonj.sdo.helper.XMLHelper;
 import commonj.sdo.helper.XSDHelper;
 
 public final class SubstitutionValuesTestCase extends TestCase
 {
   public void test() throws IOException
   {
+    HelperContext hc = SDOUtil.createHelperContext();
     URL url = getClass().getResource("/SubstitutionValues.xsd");
-    XSDHelper.INSTANCE.define(url.openStream(), url.toString());
+    XSDHelper xsdHelper = hc.getXSDHelper();
+    xsdHelper.define(url.openStream(), url.toString());
 
-    final DataObject  object = DataFactory.INSTANCE.create("http://www.apache.org/tuscany/SubstitutionValues", "TestObject");
-    final Type  type = object.getType();
+    XMLHelper xmlHelper = hc.getXMLHelper();
+    DataObject loadedObject = 
+        xmlHelper.load(getClass().getResourceAsStream("/substitutionValues1.xml")).getRootObject();
+    Type type = loadedObject.getType();
+    Sequence groupHeadSubstitutionValues = SDOUtil.getSubstitutionValues(loadedObject, type.getProperty("groupHead"));
+    assertNotNull(groupHeadSubstitutionValues);
+    assertNull(SDOUtil.getSubstitutionValues(loadedObject, type.getProperty("nonGroupHead")));
     
-    assertNotNull( SDOUtil.getSubstitutionValues(object, type.getProperty("groupHead")));
-    assertNull( SDOUtil.getSubstitutionValues(object, type.getProperty("nonGroupHead")));
+    String nsURI = "http://www.apache.org/tuscany/SubstitutionValues";
+    DataObject createdObject = hc.getDataFactory().create(nsURI, "TestObject");
+    Property groupMemberProperty = xsdHelper.getGlobalProperty(nsURI, "groupMember", true);
+    createdObject.set(groupMemberProperty, groupHeadSubstitutionValues.getValue(0));
+    createdObject.setString("nonGroupHead", loadedObject.getString("nonGroupHead"));
+   
+    assertTrue(hc.getEqualityHelper().equal(loadedObject, createdObject));
+    
+    ByteArrayOutputStream loadedBaos = new ByteArrayOutputStream();
+    xmlHelper.save(loadedObject, nsURI, "testObject", loadedBaos);
+    ByteArrayOutputStream createdBaos = new ByteArrayOutputStream();
+    xmlHelper.save(createdObject, nsURI, "testObject", createdBaos);
+    assertTrue(
+        TestUtil.equalXmlFiles(
+            new ByteArrayInputStream(loadedBaos.toByteArray()), 
+            new ByteArrayInputStream(createdBaos.toByteArray())));
+    
+    loadedObject = 
+      xmlHelper.load(getClass().getResourceAsStream("/substitutionValues2.xml")).getRootObject();
+    groupHeadSubstitutionValues = SDOUtil.getSubstitutionValues(loadedObject, type.getProperty("groupHead"));
+    
+    createdObject = hc.getDataFactory().create(nsURI, "TestObject");
+    createdObject.set("groupHead", groupHeadSubstitutionValues.getValue(0));
+    createdObject.setString("nonGroupHead", loadedObject.getString("nonGroupHead"));
+    
+    assertTrue(hc.getEqualityHelper().equal(loadedObject, createdObject));
   }
 }

Modified: incubator/tuscany/java/sdo/impl/src/test/resources/SubstitutionValues.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/resources/SubstitutionValues.xsd?view=diff&rev=567093&r1=567092&r2=567093
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/test/resources/SubstitutionValues.xsd (original)
+++ incubator/tuscany/java/sdo/impl/src/test/resources/SubstitutionValues.xsd Fri Aug 17 10:34:52 2007
@@ -19,6 +19,7 @@
     specific language governing permissions and limitations
     under the License.    
   -->
+  <element name="testObject" type="sv:TestObject"/>
   <element name="groupHead" type="string"/>
   <complexType name="TestObject">
     <sequence>

Added: incubator/tuscany/java/sdo/impl/src/test/resources/substitutionValues1.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/resources/substitutionValues1.xml?view=auto&rev=567093
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/test/resources/substitutionValues1.xml (added)
+++ incubator/tuscany/java/sdo/impl/src/test/resources/substitutionValues1.xml Fri Aug 17 10:34:52 2007
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="ASCII"?>
+<sv:testObject xmlns:sv="http://www.apache.org/tuscany/SubstitutionValues">
+	<sv:groupMember>gm</sv:groupMember>
+	<sv:nonGroupHead>ngh</sv:nonGroupHead>
+</sv:testObject>

Added: incubator/tuscany/java/sdo/impl/src/test/resources/substitutionValues2.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/resources/substitutionValues2.xml?view=auto&rev=567093
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/test/resources/substitutionValues2.xml (added)
+++ incubator/tuscany/java/sdo/impl/src/test/resources/substitutionValues2.xml Fri Aug 17 10:34:52 2007
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="ASCII"?>
+<sv:testObject xmlns:sv="http://www.apache.org/tuscany/SubstitutionValues">
+	<sv:groupHead>gh</sv:groupHead>
+	<sv:nonGroupHead>ngh</sv:nonGroupHead>
+</sv:testObject>



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org