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 2008/04/19 17:39:13 UTC
svn commit: r649827 - in
/incubator/tuscany/java/sca/tools/registry-inspector: ./
src/main/java/org/apache/tuscany/sca/tools/inspector/
src/main/java/org/apache/tuscany/sca/tools/registryinspector/extension/
src/main/java/org/apache/tuscany/sca/tools/r...
Author: slaws
Date: Sat Apr 19 08:39:10 2008
New Revision: 649827
URL: http://svn.apache.org/viewvc?rev=649827&view=rev
Log:
Resurrect this old tool
Added:
incubator/tuscany/java/sca/tools/registry-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/
incubator/tuscany/java/sca/tools/registry-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RegistryInspector.java (with props)
incubator/tuscany/java/sca/tools/registry-inspector/src/test/java/org/apache/tuscany/sca/tools/inspector/
- copied from r649801, incubator/tuscany/java/sca/tools/registry-inspector/src/test/java/org/apache/tuscany/sca/tools/registryinspector/
incubator/tuscany/java/sca/tools/registry-inspector/src/test/resources/
incubator/tuscany/java/sca/tools/registry-inspector/src/test/resources/Calculator.composite (with props)
Removed:
incubator/tuscany/java/sca/tools/registry-inspector/src/main/java/org/apache/tuscany/sca/tools/registryinspector/extension/
incubator/tuscany/java/sca/tools/registry-inspector/src/main/java/org/apache/tuscany/sca/tools/registryinspector/inspector/
incubator/tuscany/java/sca/tools/registry-inspector/src/main/resources/META-INF/
incubator/tuscany/java/sca/tools/registry-inspector/src/main/resources/registryinspector.composite
incubator/tuscany/java/sca/tools/registry-inspector/src/test/java/org/apache/tuscany/sca/tools/registryinspector/
Modified:
incubator/tuscany/java/sca/tools/registry-inspector/pom.xml
incubator/tuscany/java/sca/tools/registry-inspector/src/test/java/org/apache/tuscany/sca/tools/inspector/RegistryInspectorTestCase.java
Modified: incubator/tuscany/java/sca/tools/registry-inspector/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/registry-inspector/pom.xml?rev=649827&r1=649826&r2=649827&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tools/registry-inspector/pom.xml (original)
+++ incubator/tuscany/java/sca/tools/registry-inspector/pom.xml Sat Apr 19 08:39:10 2008
@@ -45,7 +45,7 @@
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
+ <artifactId>tuscany-node2-impl</artifactId>
<version>2.0-incubating-SNAPSHOT</version>
</dependency>
Added: incubator/tuscany/java/sca/tools/registry-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RegistryInspector.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/registry-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RegistryInspector.java?rev=649827&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tools/registry-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RegistryInspector.java (added)
+++ incubator/tuscany/java/sca/tools/registry-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RegistryInspector.java Sat Apr 19 08:39:10 2008
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.tools.inspector;
+
+import java.lang.reflect.Field;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.node.SCANode2;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+
+
+/**
+ * An implementation of the ExtensionPointRegistryInspector service.
+ */
+public class RegistryInspector {
+
+ public String registryAsString(SCANode2 node) {
+ StringBuffer extensionPointRegistryString = new StringBuffer("Extension Point Registry \n");
+
+ // Get the interesting extension points out of the registry and print them out
+
+ try {
+
+ // get the extension point registry we are hanging onto
+ // We have to assume the type of the extension point registry here!
+ DefaultExtensionPointRegistry extensionPointRegistry = (DefaultExtensionPointRegistry)((NodeImpl)node).getExtensionPointRegistry();
+
+ // get the Map of extension points
+ // This is a private (!) field so a bit of sneaky reflection is required
+ Field extensionPointsField = extensionPointRegistry.getClass().getDeclaredField("extensionPoints");
+ extensionPointsField.setAccessible(true);
+ Map<Class<?>, Object> extensionPoints = (Map<Class<?>, Object>) extensionPointsField.get(extensionPointRegistry);
+
+ // Record all the registered extension points
+ Set<Class<?>> keySet = extensionPoints.keySet();
+ for(Class<?>key : keySet){
+ extensionPointRegistryString.append(key.getName());
+ extensionPointRegistryString.append("\n");
+ }
+
+ } catch (Exception ex) {
+ System.out.println(ex.toString());
+ }
+
+ return extensionPointRegistryString.toString();
+ }
+
+}
Propchange: incubator/tuscany/java/sca/tools/registry-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RegistryInspector.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/tools/registry-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RegistryInspector.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/tools/registry-inspector/src/test/java/org/apache/tuscany/sca/tools/inspector/RegistryInspectorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/registry-inspector/src/test/java/org/apache/tuscany/sca/tools/inspector/RegistryInspectorTestCase.java?rev=649827&r1=649801&r2=649827&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tools/registry-inspector/src/test/java/org/apache/tuscany/sca/tools/inspector/RegistryInspectorTestCase.java (original)
+++ incubator/tuscany/java/sca/tools/registry-inspector/src/test/java/org/apache/tuscany/sca/tools/inspector/RegistryInspectorTestCase.java Sat Apr 19 08:39:10 2008
@@ -16,9 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.sca.tools.registryinspector;
+package org.apache.tuscany.sca.tools.inspector;
import java.io.ByteArrayOutputStream;
+import java.io.File;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.util.Map;
@@ -26,40 +27,45 @@
import junit.framework.TestCase;
import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.util.PrintUtil;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.apache.tuscany.sca.tools.registryinspector.inspector.ExtensionPointRegistryInspector;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+import org.apache.tuscany.sca.monitor.Problem;
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode2;
+import org.apache.tuscany.sca.node.SCANode2Factory;
+import org.apache.tuscany.sca.node.SCANode2Factory.SCAContribution;
+import org.apache.tuscany.sca.node.impl.NodeImpl;
+import org.apache.tuscany.sca.tools.inspector.RegistryInspector;
+
+import calculator.CalculatorService;
/**
* This shows how to test the Calculator service component.
*/
public class RegistryInspectorTestCase extends TestCase {
- private ExtensionPointRegistryInspector eprInspector;
- private SCADomain scaDomain;
+ private CalculatorService calculatorService;
+ private SCANode2 node;
+ @Override
protected void setUp() throws Exception {
- scaDomain = SCADomain.newInstance("registryinspector.composite");
- eprInspector = scaDomain.getService(ExtensionPointRegistryInspector.class,
- "ExtensionPointRegistryInspectorComponent");
+ SCANode2Factory nodeFactory = SCANode2Factory.newInstance();
+ node = nodeFactory.createSCANode(new File("src/test/resources/Calculator.composite").toURL().toString(),
+ new SCAContribution("TestContribution",
+ new File("src/test/resources").toURL().toString()));
+ node.start();
+ calculatorService = ((SCAClient)node).getService(CalculatorService.class, "CalculatorServiceComponent");
}
+ @Override
protected void tearDown() throws Exception {
- scaDomain.close();
+ node.stop();
}
public void testCalculator() throws Exception {
- // Inspect the extension point registry
- System.out.println(eprInspector.eprAsString());
-
- // inspect the model
- Field domainCompositeField = scaDomain.getClass().getDeclaredField("domainComposite");
- domainCompositeField.setAccessible(true);
- Composite domainComposite = (Composite) domainCompositeField.get(scaDomain);
+ RegistryInspector inspector = new RegistryInspector();
- OutputStream os = new ByteArrayOutputStream();
- PrintUtil printUtil = new PrintUtil(os);
- printUtil.print(domainComposite);
- System.out.println("Assembly \n " + os.toString());
+ System.out.println(inspector.registryAsString(node));
}
}
Added: incubator/tuscany/java/sca/tools/registry-inspector/src/test/resources/Calculator.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/registry-inspector/src/test/resources/Calculator.composite?rev=649827&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tools/registry-inspector/src/test/resources/Calculator.composite (added)
+++ incubator/tuscany/java/sca/tools/registry-inspector/src/test/resources/Calculator.composite Sat Apr 19 08:39:10 2008
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://sample"
+ xmlns:sample="http://sample"
+ name="Calculator">
+
+ <component name="CalculatorServiceComponent">
+ <implementation.java class="calculator.CalculatorServiceImpl"/>
+ <reference name="addService" target="AddServiceComponent" />
+ <reference name="subtractService" target="SubtractServiceComponent" />
+ <reference name="multiplyService" target="MultiplyServiceComponent" />
+ <reference name="divideService" target="DivideServiceComponent" />
+ </component>
+
+ <component name="AddServiceComponent">
+ <implementation.java class="calculator.AddServiceImpl"/>
+ </component>
+
+ <component name="SubtractServiceComponent">
+ <implementation.java class="calculator.SubtractServiceImpl"/>
+ </component>
+
+ <component name="MultiplyServiceComponent">
+ <implementation.java class="calculator.MultiplyServiceImpl"/>
+ </component>
+
+ <component name="DivideServiceComponent">
+ <implementation.java class="calculator.DivideServiceImpl"/>
+ </component>
+
+</composite>
Propchange: incubator/tuscany/java/sca/tools/registry-inspector/src/test/resources/Calculator.composite
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/tools/registry-inspector/src/test/resources/Calculator.composite
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/java/sca/tools/registry-inspector/src/test/resources/Calculator.composite
------------------------------------------------------------------------------
svn:mime-type = text/xml
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org