You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2009/09/22 17:55:52 UTC

svn commit: r817709 - /tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java

Author: slaws
Date: Tue Sep 22 15:55:52 2009
New Revision: 817709

URL: http://svn.apache.org/viewvc?rev=817709&view=rev
Log:
Dump out nested composites also. 

Modified:
    tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java

Modified: tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java?rev=817709&r1=817708&r2=817709&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java (original)
+++ tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java Tue Sep 22 15:55:52 2009
@@ -34,6 +34,7 @@
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.assembly.CompositeService;
 import org.apache.tuscany.sca.assembly.Endpoint;
+import org.apache.tuscany.sca.assembly.Implementation;
 import org.apache.tuscany.sca.assembly.Service;
 import org.apache.tuscany.sca.common.java.io.IOHelper;
 import org.apache.tuscany.sca.contribution.Contribution;
@@ -304,17 +305,31 @@
         StAXArtifactProcessorExtensionPoint xmlProcessors = 
             getExtensionPoints().getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
         StAXArtifactProcessor<Composite>  compositeProcessor = 
-            xmlProcessors.getProcessor(Composite.class);        
-        
+            xmlProcessors.getProcessor(Composite.class);   
+     
+        return writeComposite(getDomainComposite(), compositeProcessor);
+    }
+       
+    private String writeComposite(Composite composite, StAXArtifactProcessor<Composite> compositeProcessor){
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
         XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
         
         try {
-            compositeProcessor.write(getDomainComposite(), outputFactory.createXMLStreamWriter(bos));
+            compositeProcessor.write(composite, outputFactory.createXMLStreamWriter(bos));
         } catch(Exception ex) {
             return ex.toString();
         }
         
-        return bos.toString();
+        String result = bos.toString();
+        
+        // write out and nested composites
+        for(Component component : composite.getComponents()){
+            if (component.getImplementation() instanceof Composite) {
+                result += "\n<!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -->\n" + 
+                          writeComposite((Composite)component.getImplementation(), compositeProcessor);
+            }
+        }
+        
+        return result;
     }
 }