summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2010-09-03 16:48:15 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2010-09-03 16:48:15 +0000
commitb431e9cddcef846a57f6b528b9b2e1a5a0056dff (patch)
treec3ef302dde41c25b62aeac2a210817fdc08d3bbd
parentbd7d07eb5e7c3d7e15bbfa7a318a738f864344fb (diff)
Ad some code for looking at wires
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@992369 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--sca-java-2.x/trunk/contrib/samples/reporting/src/test/java/reporting/JSELauncherReportingTestCase.java79
1 files changed, 76 insertions, 3 deletions
diff --git a/sca-java-2.x/trunk/contrib/samples/reporting/src/test/java/reporting/JSELauncherReportingTestCase.java b/sca-java-2.x/trunk/contrib/samples/reporting/src/test/java/reporting/JSELauncherReportingTestCase.java
index e25e51e48f..51221ee7b5 100644
--- a/sca-java-2.x/trunk/contrib/samples/reporting/src/test/java/reporting/JSELauncherReportingTestCase.java
+++ b/sca-java-2.x/trunk/contrib/samples/reporting/src/test/java/reporting/JSELauncherReportingTestCase.java
@@ -21,14 +21,20 @@ package reporting;
import java.io.ByteArrayOutputStream;
import java.io.StringWriter;
+import java.util.List;
import java.util.Map;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamWriter;
+import org.apache.tuscany.sca.assembly.Binding;
+import org.apache.tuscany.sca.assembly.Component;
+import org.apache.tuscany.sca.assembly.ComponentReference;
+import org.apache.tuscany.sca.assembly.ComponentService;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.Endpoint;
+import org.apache.tuscany.sca.assembly.EndpointReference;
import org.apache.tuscany.sca.contribution.Artifact;
import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
@@ -36,8 +42,13 @@ 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.FactoryExtensionPoint;
+import org.apache.tuscany.sca.core.assembly.impl.RuntimeEndpointImpl;
+import org.apache.tuscany.sca.core.assembly.impl.RuntimeEndpointReferenceImpl;
import org.apache.tuscany.sca.definitions.Definitions;
import org.apache.tuscany.sca.deployment.Deployer;
+import org.apache.tuscany.sca.invocation.Interceptor;
+import org.apache.tuscany.sca.invocation.InvocationChain;
+import org.apache.tuscany.sca.invocation.Invoker;
import org.apache.tuscany.sca.node.Contribution;
import org.apache.tuscany.sca.node.Node;
import org.apache.tuscany.sca.node.NodeFactory;
@@ -52,6 +63,7 @@ import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
+import com.sun.jmx.remote.util.Service;
import com.sun.xml.internal.txw2.output.IndentingXMLStreamWriter;
import calculator.CalculatorService;
@@ -70,9 +82,16 @@ public class JSELauncherReportingTestCase {
public static void main(String[] args) throws Exception {
JSELauncherReportingTestCase launcher = new JSELauncherReportingTestCase ();
launcher.setUp();
- //launcher.callCalulator();
- //launcher.listNodeConfigurations();
+
+ launcher.callCalulator();
+/*
+ launcher.listNodes();
+ launcher.listNodeConfigurations();
+ launcher.listContributions();
+ launcher.listDomainDefinitions();
launcher.listEndpoints();
+*/
+ launcher.listWires();
launcher.tearDown();
}
@@ -187,10 +206,64 @@ public class JSELauncherReportingTestCase {
System.out.println(endpoint);
printEndpointXML(endpoint);
}
- }
+ }
+
+ @Test
+ public void listWires(){
+ printTestName("listWires");
+ Map<Object, Node> nodes = ((NodeFactoryImpl)nodeFactory).getNodes();
+ for (Node node : nodes.values()){
+ System.out.println("Node: " + ((NodeImpl)node).getURI());
+ listComponentWires(((NodeImpl)node).getDomainComposite());
+ }
+ }
// utils
+ private void listComponentWires(Composite composite){
+ for(Component component : composite.getComponents()){
+ if (component.getImplementation() instanceof Composite){
+ listComponentWires((Composite)component.getImplementation());
+ }
+ System.out.println(" Component: " + component.getName());
+
+ for(ComponentService service : component.getServices()){
+ System.out.println(" Service: " + service.getName());
+ for(Endpoint endpoint : service.getEndpoints()){
+ System.out.println(" Endpoint: " + endpoint);
+ System.out.println(" Binding: " + endpoint.getBinding().getType());
+ printInvocationChains(((RuntimeEndpointImpl)endpoint).getInvocationChains());
+ }
+ }
+ for(ComponentReference reference : component.getReferences()){
+ System.out.println(" Reference: " + reference.getName());
+ for(EndpointReference endpointReference : reference.getEndpointReferences()){
+ System.out.println(" EndpointReference: " + endpointReference);
+ Binding binding = endpointReference.getBinding();
+ if (binding != null){
+ System.out.println(" Binding: " + binding.getType());
+ printInvocationChains(((RuntimeEndpointReferenceImpl)endpointReference).getInvocationChains());
+ }
+ }
+ }
+ }
+ }
+
+ private void printInvocationChains(List<InvocationChain> chains){
+ for(InvocationChain chain : chains){
+ System.out.println(" Operation: " + chain.getTargetOperation().getName());
+ Invoker invoker = chain.getHeadInvoker();
+ while(invoker != null){
+ System.out.println(" Invoker: " + invoker.getClass().getName());
+ if (invoker instanceof Interceptor){
+ invoker = ((Interceptor)invoker).getNext();
+ } else {
+ invoker = null;
+ }
+ }
+ }
+ }
+
private void printTestName(String name){
System.out.println("=====================================================================");
System.out.println(name);