You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sv...@apache.org on 2007/02/23 19:52:48 UTC

svn commit: r511048 [2/2] - in /incubator/tuscany/branches/sca-java-integration/sca/kernel/core: ./ src/main/java/org/apache/tuscany/core/databinding/javabeans/ src/main/java/org/apache/tuscany/core/implementation/processor/ src/main/java/org/apache/tu...

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/PropertyLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/PropertyLoaderTestCase.java?view=diff&rev=511048&r1=511047&r2=511048
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/PropertyLoaderTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/PropertyLoaderTestCase.java Fri Feb 23 10:52:46 2007
@@ -19,22 +19,26 @@
 package org.apache.tuscany.core.loader;
 
 import java.io.StringReader;
+import java.io.StringWriter;
+
+import javax.xml.namespace.QName;
 import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamException;
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.DocumentBuilder;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
 
 import junit.framework.TestCase;
 
+import org.apache.tuscany.core.databinding.javabeans.JavaBean2DOMNodeTransformer;
 import org.apache.tuscany.spi.loader.LoaderRegistry;
 import org.apache.tuscany.spi.model.Property;
-import org.apache.tuscany.spi.util.stax.StaxUtil;
 import org.easymock.EasyMock;
-import org.w3c.dom.Document;
 import org.w3c.dom.Element;
+import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
 
 /**
  * @version $Rev: 502055 $ $Date: 2007-02-01 05:37:32 +0530 (Thu, 01 Feb 2007) $
@@ -43,23 +47,85 @@
     private PropertyLoader propertyLoader;
     private XMLInputFactory xmlFactory;
     
-    public void testPropertyLoading() throws Exception {
+    
+    public void testPropertyLoading_SimpleType() throws Exception {
         String xml = "<tus:property xmlns:foo='http://foo.com' "
-        	+ "xmlns:tus='http://www.osoa.org/xmlns/sca/1.0'"
-            + " name='TestProperty' many='true' type='foo:TestType'>"
+                + "xmlns:tus='http://www.osoa.org/xmlns/sca/1.0' "
+                + "xmlns:xs='http://www.w3.org/2001/XMLSchema' "
+            + " name='TestProperty' type='xs:string'>"
+            + "TestPropertyValue"
+            + "</tus:property>";
+
+        XMLStreamReader reader = getReader(xml);
+        Property<?> aProperty = propertyLoader.load(null, null, reader, null);
+        
+        assertEquals("TestProperty", aProperty.getName());
+        assertEquals(new QName("http://www.w3.org/2001/XMLSchema", "string", "xs"), aProperty.getXmlType());
+        assertEquals(false, aProperty.isMustSupply());
+        assertEquals(false, aProperty.isMany());
+        
+        Element root = aProperty.getDefaultValues().get(0).getDocumentElement();
+        
+        NodeList childNodes = root.getChildNodes();
+        assertEquals(1, childNodes.getLength());
+
+        Text t = (Text) childNodes.item(0);
+        assertEquals("TestPropertyValue", t.getTextContent());
+    }
+    
+    
+    public void testPropertyLoading_Type() throws Exception {
+        String xml = "<tus:property xmlns:foo='http://foo.com' "
+                        + "xmlns:tus='http://www.osoa.org/xmlns/sca/1.0' " 
+                        + "xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' "
+                        + " name='complexFoo' type='foo:MyComplexType'>"
+                        + "<MyComplexPropertyValue1 xsi:type='foo:MyComplexType' attr='bar'>"
+                            + "<foo:a>AValue</foo:a>" 
+                            + "<foo:b>InterestingURI</foo:b>"
+                        + "</MyComplexPropertyValue1>"
+            + "</tus:property>";
+
+        XMLStreamReader reader = getReader(xml);
+        Property<?> aProperty = propertyLoader.load(null, null, reader, null);
+        assertEquals("complexFoo", aProperty.getName());
+        assertEquals(new QName("http://foo.com", "MyComplexType", "foo"), aProperty.getXmlType());
+        assertEquals(false, aProperty.isMustSupply());
+        assertEquals(false, aProperty.isMany());
+        
+        Element root = aProperty.getDefaultValues().get(0).getDocumentElement();
+        
+        NodeList childNodes = root.getChildNodes();
+        assertEquals(2, childNodes.getLength());
+
+        Element e = (Element) childNodes.item(0);
+        assertEquals("http://foo.com", e.getNamespaceURI());
+        assertEquals("a", e.getLocalName());
+        assertEquals("AValue", e.getTextContent());
+        e = (Element) childNodes.item(1);
+        assertEquals("http://foo.com", e.getNamespaceURI());
+        assertEquals("b", e.getLocalName());
+        assertEquals("InterestingURI", e.getTextContent());
+    }
+    
+    public void testPropertyLoading_Element() throws Exception {
+        String xml = "<tus:property xmlns:foo='http://foo.com' "
+                + "xmlns:tus='http://www.osoa.org/xmlns/sca/1.0'"
+            + " name='TestProperty' element='foo:TestElement'>\n"
+            + "<foo:TestElement>"
             + "<foo:a>aValue</foo:a>"
             + "<foo:b>InterestingURI</foo:b>"
+            + "</foo:TestElement>"
             + "</tus:property>";
-
         XMLStreamReader reader = getReader(xml);
         Property<?> aProperty = propertyLoader.load(null, null, reader, null);
         
+        Element root = aProperty.getDefaultValues().get(0).getDocumentElement();
+        
         assertEquals("TestProperty", aProperty.getName());
-        assertEquals(new QName("http://foo.com", "TestType", "foo"), aProperty.getXmlType());
-        assertEquals(false, aProperty.isNoDefault());
-        assertEquals(true, aProperty.isMany());
+        assertEquals(new QName("http://foo.com", "TestElement", "foo"), aProperty.getXmlElement());
+        assertEquals(false, aProperty.isMustSupply());
+        assertEquals(false, aProperty.isMany());
         
-        Element root = aProperty.getDefaultValue().getDocumentElement();
         NodeList childNodes = root.getChildNodes();
         assertEquals(2, childNodes.getLength());
 
@@ -76,7 +142,7 @@
     public void testPropertyLoadingNoDefault() throws Exception {
         String xml = "<tus:property xmlns:foo='http://foo.com' "
         	+ "xmlns:tus='http://www.osoa.org/xmlns/sca/1.0'"
-            + " name='TestProperty' many='true' type='foo:TestType' noDefault='true'>"
+            + " name='TestProperty' type='foo:TestType' mustSupply='true'>"
             + "<foo:a>aValue</foo:a>"
             + "<foo:b>InterestingURI</foo:b>"
             + "</tus:property>";
@@ -100,5 +166,15 @@
         super.setUp();
         xmlFactory = XMLInputFactory.newInstance();
         propertyLoader = new PropertyLoader(EasyMock.createMock(LoaderRegistry.class));
+    }
+    
+    private void printNode(Node node) throws Exception {
+        javax.xml.transform.Transformer transformer =
+            TransformerFactory.newInstance().newTransformer();
+        JavaBean2DOMNodeTransformer java2DomTransformer = new JavaBean2DOMNodeTransformer();
+        StringWriter sw = new StringWriter();
+        transformer.transform(new DOMSource(node), new StreamResult(sw));
+        
+        System.out.println(sw.toString());
     }
 }

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/PropertyParsingTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/PropertyParsingTestCase.java?view=diff&rev=511048&r1=511047&r2=511048
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/PropertyParsingTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/PropertyParsingTestCase.java Fri Feb 23 10:52:46 2007
@@ -47,7 +47,7 @@
             + "</property>";
 
         XMLStreamReader reader = getReader(xml);
-        StaxUtil.loadPropertyValue(reader, root);
+        StaxUtil.loadPropertyValue(reader, root, root.getOwnerDocument());
         NodeList childNodes = root.getChildNodes();
         assertEquals(2, childNodes.getLength());
 

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StringParserPropertyFactoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StringParserPropertyFactoryTestCase.java?view=diff&rev=511048&r1=511047&r2=511048
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StringParserPropertyFactoryTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StringParserPropertyFactoryTestCase.java Fri Feb 23 10:52:46 2007
@@ -18,15 +18,17 @@
  */
 package org.apache.tuscany.core.loader;
 
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
 
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.model.Property;
 import org.apache.tuscany.spi.model.PropertyValue;
-
-import junit.framework.TestCase;
 import org.easymock.EasyMock;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
 
 /**
  * @version $Rev$ $Date$
@@ -39,7 +41,10 @@
         EasyMock.expect(document.getDocumentElement()).andReturn(element);
         EasyMock.expect(element.getTextContent()).andReturn(value);
         EasyMock.replay(document, element);
-        return new PropertyValue<T>(null, document);
+        
+        List<Document> valueList = new ArrayList<Document>();
+        valueList.add(document);
+        return new PropertyValue<T>(null, valueList);
     }
 
     public void testInteger() throws Exception {

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/PropertyHelperTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/PropertyHelperTestCase.java?view=diff&rev=511048&r1=511047&r2=511048
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/PropertyHelperTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/PropertyHelperTestCase.java Fri Feb 23 10:52:46 2007
@@ -36,7 +36,7 @@
  */
 public class PropertyHelperTestCase extends TestCase {
     private static final String IPO_XML =
-        "<?xml version=\"1.0\"?>" + "<ipo:purchaseOrder"
+        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<ipo:purchaseOrder"
             + "  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
             + "  xmlns:ipo=\"http://www.example.com/IPO\""
             + "  xsi:schemaLocation=\"http://www.example.com/IPO ipo.xsd\""

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/SimplePropertyObjectFactoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/SimplePropertyObjectFactoryTestCase.java?view=diff&rev=511048&r1=511047&r2=511048
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/SimplePropertyObjectFactoryTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/SimplePropertyObjectFactoryTestCase.java Fri Feb 23 10:52:46 2007
@@ -18,6 +18,9 @@
  */
 package org.apache.tuscany.core.property;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -39,7 +42,10 @@
         EasyMock.expect(document.getDocumentElement()).andReturn(element);
         EasyMock.expect(element.getTextContent()).andReturn(value);
         EasyMock.replay(document, element);
-        return new PropertyValue<T>(null, document);
+        
+        List<Document> valueList = new ArrayList<Document>();
+        valueList.add(document);
+        return new PropertyValue<T>(null, valueList);
     }
 
     public void testInteger() throws Exception {



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