Author: jsdelfino
Date: Sat Mar  8 20:16:26 2008
New Revision: 635159

URL: http://svn.apache.org/viewvc?rev=635159&view=rev
Log:
Fixed writing of component property values of simple types. Moved the writing 
of component implementations to the top to make sure that written composites 
comply with the SCA XSD.

Modified:
    
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java
    
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java

Modified: 
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java?rev=635159&r1=635158&r2=635159&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java
 Sat Mar  8 20:16:26 2008
@@ -22,6 +22,7 @@
 import static javax.xml.XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI;
 import static javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.StringTokenizer;
@@ -68,6 +69,8 @@
 import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
 import org.apache.tuscany.sca.policy.impl.IntentAttachPointTypeFactoryImpl;
 import org.apache.tuscany.sca.policy.util.PolicyValidationUtils;
+import org.apache.xml.serialize.OutputFormat;
+import org.apache.xml.serialize.XMLSerializer;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
@@ -649,9 +652,11 @@
             NodeList nodeList = document.getDocumentElement().getChildNodes();
 
             for (int item = 0; item < nodeList.getLength(); ++item) {
-                if (nodeList.item(item).getNodeType() == Node.ELEMENT_NODE) {
+                Node node = nodeList.item(item);
+                int nodeType = node.getNodeType();
+                if (nodeType == Node.ELEMENT_NODE) {
                     XMLStreamReader reader =
-                        
XMLInputFactory.newInstance().createXMLStreamReader(new 
DOMSource(nodeList.item(item)));
+                        
XMLInputFactory.newInstance().createXMLStreamReader(new DOMSource(node));
 
                     while (reader.hasNext()) {
                         switch (reader.next()) {
@@ -693,6 +698,8 @@
                                 break;
                         }
                     }
+                } else {
+                    writer.writeCharacters(node.getTextContent());
                 }
             }
         }

Modified: 
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java?rev=635159&r1=635158&r2=635159&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java
 Sat Mar  8 20:16:26 2008
@@ -535,6 +535,15 @@
                        new XAttr(AUTOWIRE, component.getAutowire()),
                        policyProcessor.writePolicies(component));
             
+            // Write the component implementation
+            Implementation implementation = component.getImplementation();
+            if (implementation instanceof Composite) {
+                writeStart(writer, IMPLEMENTATION_COMPOSITE, new XAttr(NAME, 
composite.getName()));
+                writeEnd(writer);
+            } else {
+                extensionProcessor.write(component.getImplementation(), 
writer);
+            }
+            
             // Write <service> elements
             for (ComponentService service : component.getServices()) {
                 writeStart(writer, SERVICE, new XAttr(NAME, service.getName()),
@@ -639,15 +648,6 @@
                 writeEnd(writer);
             }
     
-            // Write the component implementation
-            Implementation implementation = component.getImplementation();
-            if (implementation instanceof Composite) {
-                writeStart(writer, IMPLEMENTATION_COMPOSITE, new XAttr(NAME, 
composite.getName()));
-                writeEnd(writer);
-            } else {
-                extensionProcessor.write(component.getImplementation(), 
writer);
-            }
-            
             writeEnd(writer);
         }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to