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 14:10:19 UTC

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

Author: slaws
Date: Tue Sep 22 12:10:18 2009
New Revision: 817626

URL: http://svn.apache.org/viewvc?rev=817626&view=rev
Log:
Add an operation that dumps out the domain composite as a string. Am using for debugging builders where I need to see what the result of the builder processing is. 

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=817626&r1=817625&r2=817626&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 12:10:18 2009
@@ -19,6 +19,7 @@
 
 package org.apache.tuscany.sca.node.impl;
 
+import java.io.ByteArrayOutputStream;
 import java.lang.management.ManagementFactory;
 import java.util.ArrayList;
 import java.util.List;
@@ -26,6 +27,7 @@
 import java.util.logging.Logger;
 
 import javax.management.MBeanServer;
+import javax.xml.stream.XMLOutputFactory;
 
 import org.apache.tuscany.sca.assembly.Component;
 import org.apache.tuscany.sca.assembly.ComponentService;
@@ -35,6 +37,8 @@
 import org.apache.tuscany.sca.assembly.Service;
 import org.apache.tuscany.sca.common.java.io.IOHelper;
 import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.core.UtilityExtensionPoint;
 import org.apache.tuscany.sca.core.assembly.ActivationException;
@@ -293,5 +297,24 @@
     
     public Composite getDomainComposite() {
         return compositeActivator.getDomainComposite();
-    }    
+    }   
+    
+    public String dumpDomainComposite() {
+        
+        StAXArtifactProcessorExtensionPoint xmlProcessors = 
+            getExtensionPoints().getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
+        StAXArtifactProcessor<Composite>  compositeProcessor = 
+            xmlProcessors.getProcessor(Composite.class);        
+        
+        ByteArrayOutputStream bos = new ByteArrayOutputStream();
+        XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
+        
+        try {
+            compositeProcessor.write(getDomainComposite(), outputFactory.createXMLStreamWriter(bos));
+        } catch(Exception ex) {
+            return ex.toString();
+        }
+        
+        return bos.toString();
+    }
 }