Author: slaws
Date: Thu Mar 13 15:21:31 2008
New Revision: 636903
URL: http://svn.apache.org/viewvc?rev=636903&view=rev
Log:
Convert the calculator-distributed sample over to the new workspace model for
the domain
Added:
incubator/tuscany/java/sca/samples/calculator-distributed/cloud.composite
(with props)
incubator/tuscany/java/sca/samples/calculator-distributed/domain.composite
(with props)
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeA.java
(with props)
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeB.java
(with props)
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeC.java
(with props)
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchDomain.java
- copied, changed from r636668,
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/DomainNode.java
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/resources/domain/
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/resources/domain/cloud.composite
(with props)
incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/CalculatorDistributedTestCase.java
- copied, changed from r636668,
incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/DomainInMemoryTestCase.java
incubator/tuscany/java/sca/samples/calculator-distributed/workspace.xml
(with props)
Removed:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/CalculatorNode.java
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/DomainNode.java
incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/DomainInMemoryTestCase.java
Modified:
incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAReferenceBindingProvider.java
incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAServiceBindingProvider.java
incubator/tuscany/java/sca/samples/calculator-distributed/build.xml
incubator/tuscany/java/sca/samples/calculator-distributed/pom.xml
Modified:
incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAReferenceBindingProvider.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAReferenceBindingProvider.java?rev=636903&r1=636902&r2=636903&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAReferenceBindingProvider.java
(original)
+++
incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAReferenceBindingProvider.java
Thu Mar 13 15:21:31 2008
@@ -180,7 +180,7 @@
+ reference.getName());
}
- if (nodeFactory.getNode() == null) {
+ if ((nodeFactory != null) && (nodeFactory.getNode() == null)) {
throw new IllegalStateException("No distributed domain
available for component: " + component
.getName()
+ " and reference: "
Modified:
incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAServiceBindingProvider.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAServiceBindingProvider.java?rev=636903&r1=636902&r2=636903&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAServiceBindingProvider.java
(original)
+++
incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAServiceBindingProvider.java
Thu Mar 13 15:21:31 2008
@@ -73,7 +73,16 @@
// - distributed domain in which to look for remote endpoints
// - remotable interface on the service
if (distributedProviderFactory != null) {
- if ((this.nodeFactory != null) && (this.nodeFactory.getNode()
!= null)) {
+
+ URI serviceURI = null;
+ try {
+ serviceURI = new URI(binding.getURI());
+ } catch(Exception ex) {
+
+ }
+
+ if (((this.nodeFactory != null) && (this.nodeFactory.getNode()
!= null)) ||
+ ((serviceURI != null) &&(serviceURI.isAbsolute()))) {
if
(!service.getInterfaceContract().getInterface().isRemotable()) {
throw new IllegalStateException("Reference interface
not remoteable for component: "+
component.getName() +
Modified: incubator/tuscany/java/sca/samples/calculator-distributed/build.xml
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/build.xml?rev=636903&r1=636902&r2=636903&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/calculator-distributed/build.xml
(original)
+++ incubator/tuscany/java/sca/samples/calculator-distributed/build.xml Thu Mar
13 15:21:31 2008
@@ -46,7 +46,7 @@
</target>
<target name="runDomain">
- <java classname="${domain.class}"
+ <java classname="node.LaunchDomain"
fork="true">
<classpath>
<pathelement path="src/main/resources"/>
@@ -58,44 +58,38 @@
</target>
<target name="runNodeA">
- <java classname="${node.class}"
+ <java classname="node.LaunchNodeA"
fork="true">
<classpath>
<pathelement path="src/main/resources"/>
<pathelement path="target/classes"/>
<pathelement path="target/${test.jar}"/>
<pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- <arg value="http://localhost:8877"/>
- <arg value="nodeA"/>
+ </classpath>
</java>
</target>
<target name="runNodeB">
- <java classname="${node.class}"
+ <java classname="node.LaunchNodeB"
fork="true">
<classpath>
<pathelement path="src/main/resources"/>
<pathelement path="target/classes"/>
<pathelement path="target/${test.jar}"/>
<pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- <arg value="http://localhost:8877"/>
- <arg value="nodeB"/>
+ </classpath>
</java>
</target>
<target name="runNodeC">
- <java classname="${node.class}"
+ <java classname="node.LaunchNodeC"
fork="true">
<classpath>
<pathelement path="src/main/resources"/>
<pathelement path="target/classes"/>
<pathelement path="target/${test.jar}"/>
<pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- <arg value="http://localhost:8877"/>
- <arg value="nodeC"/>
+ </classpath>
</java>
</target>
Added: incubator/tuscany/java/sca/samples/calculator-distributed/cloud.composite
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/cloud.composite?rev=636903&view=auto
==============================================================================
--- incubator/tuscany/java/sca/samples/calculator-distributed/cloud.composite
(added)
+++ incubator/tuscany/java/sca/samples/calculator-distributed/cloud.composite
Thu Mar 13 15:21:31 2008
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<composite name="cloud.composite"
+ targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:ns1="http://www.osoa.org/xmlns/sca/1.0">
+ <include name="ns2:cloud"
uri="http://tuscany.apache.org/xmlns/sca/1.0/cloud"
xmlns:ns2="http://tuscany.apache.org/xmlns/sca/1.0/cloud"/>
+</composite>
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/cloud.composite
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/cloud.composite
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/cloud.composite
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added:
incubator/tuscany/java/sca/samples/calculator-distributed/domain.composite
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/domain.composite?rev=636903&view=auto
==============================================================================
--- incubator/tuscany/java/sca/samples/calculator-distributed/domain.composite
(added)
+++ incubator/tuscany/java/sca/samples/calculator-distributed/domain.composite
Thu Mar 13 15:21:31 2008
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<composite name="domain.composite"
+ targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:ns1="http://www.osoa.org/xmlns/sca/1.0">
+ <include name="ns2:CalculatorA" uri="nodeA" xmlns:ns2="http://sample"/>
+ <include name="ns2:CalculatorB" uri="nodeB" xmlns:ns2="http://sample"/>
+ <include name="ns2:CalculatorC" uri="nodeC" xmlns:ns2="http://sample"/>
+</composite>
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/domain.composite
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/domain.composite
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/domain.composite
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: incubator/tuscany/java/sca/samples/calculator-distributed/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/pom.xml?rev=636903&r1=636902&r2=636903&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/calculator-distributed/pom.xml (original)
+++ incubator/tuscany/java/sca/samples/calculator-distributed/pom.xml Thu Mar
13 15:21:31 2008
@@ -36,35 +36,39 @@
</repositories>
<dependencies>
+
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
+ <artifactId>tuscany-node2-api</artifactId>
<version>1.2-incubating-SNAPSHOT</version>
- </dependency>
+ </dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-api</artifactId>
+ <artifactId>tuscany-workspace-admin</artifactId>
<version>1.2-incubating-SNAPSHOT</version>
- </dependency>
+ </dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-domain-api</artifactId>
+ <artifactId>tuscany-node2-impl</artifactId>
<version>1.2-incubating-SNAPSHOT</version>
- </dependency>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca-axis2</artifactId>
+ <artifactId>tuscany-binding-sca</artifactId>
<version>1.2-incubating-SNAPSHOT</version>
- </dependency>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-jsonrpc</artifactId>
+ <artifactId>tuscany-binding-sca-axis2</artifactId>
<version>1.2-incubating-SNAPSHOT</version>
- </dependency>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
@@ -86,20 +90,6 @@
<version>1.2-incubating-SNAPSHOT</version>
<scope>test</scope>
</dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-domain-impl</artifactId>
- <version>1.2-incubating-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-impl</artifactId>
- <version>1.2-incubating-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>junit</groupId>
Added:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeA.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeA.java?rev=636903&view=auto
==============================================================================
---
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeA.java
(added)
+++
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeA.java
Thu Mar 13 15:21:31 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 node;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode2;
+import org.apache.tuscany.sca.node.SCANode2Factory;
+import org.osoa.sca.ServiceRuntimeException;
+
+import calculator.CalculatorService;
+
+public class LaunchCalculatorNodeA {
+ public static void main(String[] args) throws Exception {
+
+ SCANode2 node = null;
+ try {
+
+ SCANode2Factory nodeFactory = SCANode2Factory.newInstance();
+ node =
nodeFactory.createSCANode("http://localhost:9990/composite-image/?composite=composite:nodeA;http://sample;CalculatorA");
+
+ node.start();
+
+ // get a reference to the calculator component
+ SCAClient client = (SCAClient)node;
+ CalculatorService calculatorService =
+ client.getService(CalculatorService.class,
"CalculatorServiceComponentA");
+
+ // Calculate
+ System.out.println("3 + 2=" + calculatorService.add(3, 2));
+ System.out.println("3 - 2=" + calculatorService.subtract(3, 2));
+ System.out.println("3 * 2=" + calculatorService.multiply(3, 2));
+ System.out.println("3 / 2=" + calculatorService.divide(3, 2));
+
+ if (args.length > 1){
+ for (int i=0; i < 1000; i++){
+ // Calculate
+ System.out.println("3 + 2=" + calculatorService.add(3, 2));
+ System.out.println("3 - 2=" +
calculatorService.subtract(3, 2));
+ System.out.println("3 * 2=" +
calculatorService.multiply(3, 2));
+ System.out.println("3 / 2=" + calculatorService.divide(3,
2));
+ }
+ }
+
+ node.stop();
+
+ } catch (Exception e) {
+ throw new ServiceRuntimeException(e);
+ }
+ }
+}
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeA.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeA.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeB.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeB.java?rev=636903&view=auto
==============================================================================
---
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeB.java
(added)
+++
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeB.java
Thu Mar 13 15:21:31 2008
@@ -0,0 +1,28 @@
+/*
+ * 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 node;
+
+import org.apache.tuscany.sca.node.launch.SCANode2Launcher;
+
+public class LaunchCalculatorNodeB {
+ public static void main(String[] args) throws Exception {
+ SCANode2Launcher.main(new String[]
{"http://localhost:9990/composite-image/?composite=composite:nodeB;http://sample;CalculatorB"});
+ }
+}
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeB.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeB.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeC.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeC.java?rev=636903&view=auto
==============================================================================
---
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeC.java
(added)
+++
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeC.java
Thu Mar 13 15:21:31 2008
@@ -0,0 +1,28 @@
+/*
+ * 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 node;
+
+import org.apache.tuscany.sca.node.launch.SCANode2Launcher;
+
+public class LaunchCalculatorNodeC {
+ public static void main(String[] args) throws Exception {
+ SCANode2Launcher.main(new String[]
{"http://localhost:9990/composite-image/?composite=composite:nodeC;http://sample;CalculatorC"});
+ }
+}
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeC.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchCalculatorNodeC.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchDomain.java
(from r636668,
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/DomainNode.java)
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchDomain.java?p2=incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchDomain.java&p1=incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/DomainNode.java&r1=636668&r2=636903&rev=636903&view=diff
==============================================================================
---
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/DomainNode.java
(original)
+++
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/LaunchDomain.java
Thu Mar 13 15:21:31 2008
@@ -18,34 +18,14 @@
*/
package node;
-import org.apache.tuscany.sca.domain.SCADomain;
-import org.apache.tuscany.sca.domain.SCADomainFactory;
-
-
/**
* This server program that loads a composite to provide simple registry
function.
* This server can be replaced with any registry that is appropriate but the
components
* in each node that talk to the registry should be replaced also.
*/
-public class DomainNode {
-
- private static String DEFAULT_DOMAIN_URI = "http://localhost:8877";
-
+public class LaunchDomain {
public static void main(String[] args) {
-
- try {
- SCADomainFactory domainFactory = SCADomainFactory.newInstance();
- SCADomain domain =
domainFactory.createSCADomain(DEFAULT_DOMAIN_URI);
-
- System.out.println("Domain started (press enter to shutdown)");
- System.in.read();
-
- domain.destroy();
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- System.out.println("Domain stopped");
+
org.apache.tuscany.sca.workspace.admin.launch.LaunchDomainAdmin.main(args);
}
}
Added:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/resources/domain/cloud.composite
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/src/main/resources/domain/cloud.composite?rev=636903&view=auto
==============================================================================
---
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/resources/domain/cloud.composite
(added)
+++
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/resources/domain/cloud.composite
Thu Mar 13 15:21:31 2008
@@ -0,0 +1,47 @@
+<?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"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0/cloud"
+ xmlns:s="http://sample"
+ name="cloud">
+
+ <component name="NodeA">
+ <t:implementation.node uri="nodeA" composite="s:CalculatorA"/>
+ <service name="Node">
+ <binding.sca uri="http://localhost:8100"/>
+ </service>
+ </component>
+
+ <component name="NodeB">
+ <t:implementation.node uri="nodeB" composite="s:CalculatorB"/>
+ <service name="Node">
+ <binding.sca uri="http://localhost:8200"/>
+ </service>
+ </component>
+
+ <component name="NodeC">
+ <t:implementation.node uri="nodeC" composite="s:CalculatorC"/>
+ <service name="Node">
+ <binding.sca uri="http://localhost:8300"/>
+ </service>
+ </component>
+
+</composite>
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/resources/domain/cloud.composite
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/resources/domain/cloud.composite
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/src/main/resources/domain/cloud.composite
------------------------------------------------------------------------------
svn:mime-type = text/xml
Copied:
incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/CalculatorDistributedTestCase.java
(from r636668,
incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/DomainInMemoryTestCase.java)
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/CalculatorDistributedTestCase.java?p2=incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/CalculatorDistributedTestCase.java&p1=incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/DomainInMemoryTestCase.java&r1=636668&r2=636903&rev=636903&view=diff
==============================================================================
---
incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/DomainInMemoryTestCase.java
(original)
+++
incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/CalculatorDistributedTestCase.java
Thu Mar 13 15:21:31 2008
@@ -23,11 +23,11 @@
import junit.framework.Assert;
-import org.apache.tuscany.sca.domain.SCADomain;
-import org.apache.tuscany.sca.domain.SCADomainFactory;
-import org.apache.tuscany.sca.node.SCADomainFinder;
-import org.apache.tuscany.sca.node.SCANode;
-import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+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.workspace.admin.impl.NodeProcessCollectionImpl;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -38,59 +38,39 @@
* Runs a distributed domain in a single VM by using and in memory
* implementation of the distributed domain
*/
-public class DomainInMemoryTestCase {
+public class CalculatorDistributedTestCase {
+
+ private static SCANode2 nodeA;
+ private static SCANode2 nodeB;
+ private static SCANode2 nodeC;
+
+ private static CalculatorService calculatorService;
- private static SCADomain domainManager;
- private static SCANode nodeA;
- private static SCANode nodeB;
- private static SCANode nodeC;
- private static SCADomain domain;
- private static CalculatorService calculatorServiceA;
- private static CalculatorService calculatorServiceB;
- private static AddService addServiceB;
@BeforeClass
public static void init() throws Exception {
try {
- System.out.println("Setting up domain manager");
-
- SCADomainFactory domainFactory = SCADomainFactory.newInstance();
- domainManager =
domainFactory.createSCADomain("http://localhost:9999");
+ System.out.println("Setting up domain");
- System.out.println("Setting up calculator nodes");
+ SCADomain.newInstance("Admin.composite");
- ClassLoader cl = DomainInMemoryTestCase.class.getClassLoader();
+ NodeProcessCollectionImpl nodes = new NodeProcessCollectionImpl();
- SCANodeFactory nodeFactory = SCANodeFactory.newInstance();
-
- nodeA = nodeFactory.createSCANode("http://localhost:8085/nodeA",
"http://localhost:9999");
- nodeA.addContribution("nodeA", cl.getResource("nodeA/"));
- nodeA.addToDomainLevelComposite(new QName("http://sample",
"CalculatorA"));
+ SCANode2Factory nodeFactory = SCANode2Factory.newInstance();
+ nodeC =
nodeFactory.createSCANode("http://localhost:9990/composite-image/?composite=composite:nodeC;http://sample;CalculatorC");
+ nodeB =
nodeFactory.createSCANode("http://localhost:9990/composite-image/?composite=composite:nodeB;http://sample;CalculatorB");
+ nodeA =
nodeFactory.createSCANode("http://localhost:9990/composite-image/?composite=composite:nodeA;http://sample;CalculatorA");
+ nodeC.start();
+ nodeB.start();
+ nodeA.start();
- nodeB = nodeFactory.createSCANode("http://localhost:8086/nodeB",
"http://localhost:9999");
- nodeB.addContribution("nodeB", cl.getResource("nodeB/"));
- nodeB.addToDomainLevelComposite(new QName("http://sample",
"CalculatorB"));
+ SCAClient client = (SCAClient)nodeA;
+ calculatorService =
+ client.getService(CalculatorService.class,
"CalculatorServiceComponentA");
-
- nodeC = nodeFactory.createSCANode("http://localhost:8087/nodeC",
"http://localhost:9999");
- nodeC.addContribution("nodeC", cl.getResource("nodeC/"));
- nodeC.addToDomainLevelComposite(new QName("http://sample",
"CalculatorC"));
-
-
- SCADomainFinder domainFinder = SCADomainFinder.newInstance();
- domain = domainFinder.getSCADomain("http://localhost:9999");
-
- domain.start();
-
- // get a reference to various services in the domain
- calculatorServiceA =
nodeA.getDomain().getService(CalculatorService.class,
"CalculatorServiceComponentA");
- //calculatorServiceB =
nodeB.getDomain().getService(CalculatorService.class,
"CalculatorServiceComponentB");
-
- //addServiceB = domain.getService(AddService.class,
"AddServiceComponentB");
- //addServiceB = nodeA.getDomain().getService(AddService.class,
"AddServiceComponentB");
-
+
} catch(Exception ex){
System.err.println(ex.toString());
}
@@ -99,25 +79,18 @@
@AfterClass
public static void destroy() throws Exception {
- // stop the domain
- domain.stop();
-
- // destory the nodes
- nodeA.destroy();
- nodeB.destroy();
- nodeC.destroy();
-
- // destroy the domain
- domain.destroy();
+ nodeC.stop();
+ nodeB.stop();
+ nodeA.stop();
}
@Test
public void testCalculator() throws Exception {
// Calculate
- Assert.assertEquals(calculatorServiceA.add(3, 2), 5.0);
- Assert.assertEquals(calculatorServiceA.subtract(3, 2), 1.0);
- Assert.assertEquals(calculatorServiceA.multiply(3, 2), 6.0);
- Assert.assertEquals(calculatorServiceA.divide(3, 2), 1.5);
+ Assert.assertEquals(calculatorService.add(3, 2), 5.0);
+ Assert.assertEquals(calculatorService.subtract(3, 2), 1.0);
+ Assert.assertEquals(calculatorService.multiply(3, 2), 6.0);
+ Assert.assertEquals(calculatorService.divide(3, 2), 1.5);
}
}
Added: incubator/tuscany/java/sca/samples/calculator-distributed/workspace.xml
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/workspace.xml?rev=636903&view=auto
==============================================================================
--- incubator/tuscany/java/sca/samples/calculator-distributed/workspace.xml
(added)
+++ incubator/tuscany/java/sca/samples/calculator-distributed/workspace.xml Thu
Mar 13 15:21:31 2008
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<workspace xmlns="http://tuscany.apache.org/xmlns/sca/1.0"
xmlns:ns1="http://tuscany.apache.org/xmlns/sca/1.0">
+ <contribution location="file:./target/classes/nodeA" uri="nodeA"/>
+ <contribution location="file:./target/classes/nodeB" uri="nodeB"/>
+ <contribution location="file:./target/classes/nodeC" uri="nodeC"/>
+ <contribution location="file:./target/classes/domain"
uri="http://tuscany.apache.org/xmlns/sca/1.0/cloud"/>
+</workspace>
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/workspace.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/workspace.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange:
incubator/tuscany/java/sca/samples/calculator-distributed/workspace.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]