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]

Reply via email to