From 1e2c393ad08481d370ca8120a77eeee433a327c6 Mon Sep 17 00:00:00 2001 From: slaws Date: Tue, 22 Sep 2009 12:10:18 +0000 Subject: 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. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@817626 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/tuscany/sca/node/impl/NodeImpl.java | 25 +++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'java/sca/modules/node-impl/src/main') diff --git a/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java b/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java index 48cb5a7e07..9d8f4eeb99 100644 --- a/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java +++ b/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java @@ -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.Level; 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.Endpoint; 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 class NodeImpl implements Node, Client { public Composite getDomainComposite() { return compositeActivator.getDomainComposite(); - } + } + + public String dumpDomainComposite() { + + StAXArtifactProcessorExtensionPoint xmlProcessors = + getExtensionPoints().getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); + StAXArtifactProcessor 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(); + } } -- cgit v1.2.3