You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2008/05/03 21:17:05 UTC

svn commit: r653108 - in /incubator/tuscany/java/sca/tutorial: ./ assets/services/ assets/services/db/ domain/ domain/cloud/ store-client/ store-client/META-INF/ store-client/client/ store-client/launch/ store-client/services/ store-supplier/ store-tes...

Author: jsdelfino
Date: Sat May  3 12:17:05 2008
New Revision: 653108

URL: http://svn.apache.org/viewvc?rev=653108&view=rev
Log:
Adding a client module and a test module to test the integration of the tutorial domain.

Added:
    incubator/tuscany/java/sca/tutorial/domain/cloud/StoreClientNode.composite   (with props)
    incubator/tuscany/java/sca/tutorial/store-client/
      - copied from r652985, incubator/tuscany/java/sca/tutorial/store-supplier/
    incubator/tuscany/java/sca/tutorial/store-client/client/
    incubator/tuscany/java/sca/tutorial/store-client/client/Shopper.java   (with props)
    incubator/tuscany/java/sca/tutorial/store-client/client/ShopperImpl.java   (with props)
    incubator/tuscany/java/sca/tutorial/store-client/launch/
    incubator/tuscany/java/sca/tutorial/store-client/launch/LaunchStoreClientNode.java   (with props)
    incubator/tuscany/java/sca/tutorial/store-client/services/
    incubator/tuscany/java/sca/tutorial/store-client/services/Cart.java   (with props)
    incubator/tuscany/java/sca/tutorial/store-client/services/Catalog.java   (with props)
    incubator/tuscany/java/sca/tutorial/store-client/services/Item.java   (with props)
    incubator/tuscany/java/sca/tutorial/store-client/services/Total.java   (with props)
    incubator/tuscany/java/sca/tutorial/store-client/store-client.composite   (with props)
    incubator/tuscany/java/sca/tutorial/store-test/
      - copied from r652985, incubator/tuscany/java/sca/tutorial/store-supplier/
    incubator/tuscany/java/sca/tutorial/store-test/client/
    incubator/tuscany/java/sca/tutorial/store-test/client/Shopper.java   (with props)
    incubator/tuscany/java/sca/tutorial/store-test/test/
    incubator/tuscany/java/sca/tutorial/store-test/test/StoreSupplierTestCaseFIXME.java   (with props)
Removed:
    incubator/tuscany/java/sca/tutorial/store-client/store-supplier.composite
    incubator/tuscany/java/sca/tutorial/store-test/store-supplier.composite
Modified:
    incubator/tuscany/java/sca/tutorial/assets/services/ShoppingCartImpl.java
    incubator/tuscany/java/sca/tutorial/assets/services/db/ShoppingCartTableImpl.java
    incubator/tuscany/java/sca/tutorial/domain/cloud.composite
    incubator/tuscany/java/sca/tutorial/domain/domain.composite
    incubator/tuscany/java/sca/tutorial/domain/pom.xml
    incubator/tuscany/java/sca/tutorial/domain/workspace.xml
    incubator/tuscany/java/sca/tutorial/pom.xml
    incubator/tuscany/java/sca/tutorial/store-client/META-INF/sca-contribution.xml
    incubator/tuscany/java/sca/tutorial/store-client/pom.xml
    incubator/tuscany/java/sca/tutorial/store-supplier/store-supplier.composite
    incubator/tuscany/java/sca/tutorial/store-test/pom.xml

Modified: incubator/tuscany/java/sca/tutorial/assets/services/ShoppingCartImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/assets/services/ShoppingCartImpl.java?rev=653108&r1=653107&r2=653108&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/assets/services/ShoppingCartImpl.java (original)
+++ incubator/tuscany/java/sca/tutorial/assets/services/ShoppingCartImpl.java Sat May  3 12:17:05 2008
@@ -36,7 +36,7 @@
     private Map<String, Item> cart;
     
     @Init
-    protected void init() {
+    public void init() {
         cart = new HashMap<String, Item>();
     }
 

Modified: incubator/tuscany/java/sca/tutorial/assets/services/db/ShoppingCartTableImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/assets/services/db/ShoppingCartTableImpl.java?rev=653108&r1=653107&r2=653108&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/assets/services/db/ShoppingCartTableImpl.java (original)
+++ incubator/tuscany/java/sca/tutorial/assets/services/db/ShoppingCartTableImpl.java Sat May  3 12:17:05 2008
@@ -48,7 +48,10 @@
     @Init
     public void init() throws Exception {
         Class.forName("org.apache.derby.jdbc.EmbeddedDriver", true, getClass().getClassLoader());
-        connection = DriverManager.getConnection("jdbc:derby:" + database, "", "");
+        String baseDir = System.getProperty("basedir");
+        String url = "jdbc:derby:" + (baseDir != null? baseDir + "/" + database : database);
+        System.out.println("Connecting to database: " + url);
+        connection = DriverManager.getConnection(url, "", "");
     }
 
     public Entry<String, Item>[] getAll() {

Modified: incubator/tuscany/java/sca/tutorial/domain/cloud.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/domain/cloud.composite?rev=653108&r1=653107&r2=653108&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/domain/cloud.composite (original)
+++ incubator/tuscany/java/sca/tutorial/domain/cloud.composite Sat May  3 12:17:05 2008
@@ -24,6 +24,7 @@
   <include name="ns2:CatalogsNode" uri="http://tuscany.apache.org/cloud" xmlns:ns2="http://tuscany.apache.org/cloud"/>
   <include name="ns2:StoreNode" uri="http://tuscany.apache.org/cloud" xmlns:ns2="http://tuscany.apache.org/cloud"/>
   <include name="ns2:StoreMergerNode" uri="http://tuscany.apache.org/cloud" xmlns:ns2="http://tuscany.apache.org/cloud"/>
+  <include name="ns2:StoreClientNode" uri="http://tuscany.apache.org/cloud" xmlns:ns2="http://tuscany.apache.org/cloud"/>
   <include name="ns2:StoreDBNode" uri="http://tuscany.apache.org/cloud" xmlns:ns2="http://tuscany.apache.org/cloud"/>
   <include name="ns2:StoreSupplierNode" uri="http://tuscany.apache.org/cloud" xmlns:ns2="http://tuscany.apache.org/cloud"/>
   <include name="ns2:StoreEUNode" uri="http://tuscany.apache.org/cloud" xmlns:ns2="http://tuscany.apache.org/cloud"/>

Added: incubator/tuscany/java/sca/tutorial/domain/cloud/StoreClientNode.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/domain/cloud/StoreClientNode.composite?rev=653108&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/domain/cloud/StoreClientNode.composite (added)
+++ incubator/tuscany/java/sca/tutorial/domain/cloud/StoreClientNode.composite Sat May  3 12:17:05 2008
@@ -0,0 +1,33 @@
+<?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/cloud"
+		xmlns:s="http://store"
+		name="StoreClientNode">
+
+	<component name="StoreClientNode">
+		<t:implementation.node uri="store-client" composite="s:store-client"/>
+		<service name="Node">
+			<t:binding.http uri="http://localhost:8107"/>
+		</service>
+	</component> 
+
+</composite>

Propchange: incubator/tuscany/java/sca/tutorial/domain/cloud/StoreClientNode.composite
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/tutorial/domain/cloud/StoreClientNode.composite
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/tutorial/domain/domain.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/domain/domain.composite?rev=653108&r1=653107&r2=653108&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/domain/domain.composite (original)
+++ incubator/tuscany/java/sca/tutorial/domain/domain.composite Sat May  3 12:17:05 2008
@@ -22,6 +22,7 @@
   xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:ns1="http://www.osoa.org/xmlns/sca/1.0">
   <include name="ns2:store" uri="store" xmlns:ns2="http://store"/>
   <include name="ns2:store-merger" uri="store-merger" xmlns:ns2="http://store"/>
+  <include name="ns2:store-client" uri="store-client" xmlns:ns2="http://store"/>
   <include name="ns2:store-db" uri="store-db" xmlns:ns2="http://store"/>
   <include name="ns2:store-supplier" uri="store-supplier" xmlns:ns2="http://store"/>
   <include name="ns2:store-market" uri="store-market" xmlns:ns2="http://store"/> 

Modified: incubator/tuscany/java/sca/tutorial/domain/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/domain/pom.xml?rev=653108&r1=653107&r2=653108&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/domain/pom.xml (original)
+++ incubator/tuscany/java/sca/tutorial/domain/pom.xml Sat May  3 12:17:05 2008
@@ -72,6 +72,13 @@
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-resource</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-binding-atom-abdera</artifactId>
             <version>2.0-incubating-SNAPSHOT</version>
             <scope>runtime</scope>

Modified: incubator/tuscany/java/sca/tutorial/domain/workspace.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/domain/workspace.xml?rev=653108&r1=653107&r2=653108&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/domain/workspace.xml (original)
+++ incubator/tuscany/java/sca/tutorial/domain/workspace.xml Sat May  3 12:17:05 2008
@@ -21,6 +21,7 @@
   <contribution location="file:../assets/target/tutorial-assets.jar" uri="assets"/>
   <contribution location="file:../store/target/tutorial-store.jar" uri="store"/>
   <contribution location="file:../store-merger/target/tutorial-store-merger.jar" uri="store-merger"/>
+  <contribution location="file:../store-client/target/tutorial-store-client.jar" uri="store-client"/>
   <contribution location="file:../store-db/target/tutorial-store-db.jar" uri="store-db"/>
   <contribution location="file:../store-supplier/target/tutorial-store-supplier.jar" uri="store-supplier"/>
   <contribution location="file:../store-market/target/tutorial-store-market.jar" uri="store-market"/> 

Modified: incubator/tuscany/java/sca/tutorial/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/pom.xml?rev=653108&r1=653107&r2=653108&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/pom.xml (original)
+++ incubator/tuscany/java/sca/tutorial/pom.xml Sat May  3 12:17:05 2008
@@ -40,6 +40,7 @@
                 <module>assets</module>
                 <module>store</module>
                 <module>store-merger</module>
+                <module>store-client</module>
                 <module>store-db</module>
                 <module>store-supplier</module>
                 <module>store-market</module>
@@ -49,6 +50,7 @@
                 <module>catalog-webapp</module>
                 <module>catalog-ejb</module>
                 <module>catalog-mediation</module>
+                <module>store-test</module>
             </modules>
         </profile>
 

Modified: incubator/tuscany/java/sca/tutorial/store-client/META-INF/sca-contribution.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-client/META-INF/sca-contribution.xml?rev=653108&r1=652985&r2=653108&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-client/META-INF/sca-contribution.xml (original)
+++ incubator/tuscany/java/sca/tutorial/store-client/META-INF/sca-contribution.xml Sat May  3 12:17:05 2008
@@ -19,9 +19,5 @@
 -->
 <contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
    xmlns:s="http://store">
-   <import.java package="services"/>
-   <import.java package="services.merger"/>
-   <import.java package="services.db"/>
-   <import.resource uri="uiservices/store.html"/>   
-   <deployable composite="s:store-supplier"/>
+   <deployable composite="s:store-client"/>
 </contribution>
\ No newline at end of file

Added: incubator/tuscany/java/sca/tutorial/store-client/client/Shopper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-client/client/Shopper.java?rev=653108&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-client/client/Shopper.java (added)
+++ incubator/tuscany/java/sca/tutorial/store-client/client/Shopper.java Sat May  3 12:17:05 2008
@@ -0,0 +1,29 @@
+/*
+ * 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 client;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Shopper {
+    
+    String shop(String itemName, int quantity);
+
+}

Propchange: incubator/tuscany/java/sca/tutorial/store-client/client/Shopper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/tutorial/store-client/client/Shopper.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/sca/tutorial/store-client/client/Shopper.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/tuscany/java/sca/tutorial/store-client/client/ShopperImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-client/client/ShopperImpl.java?rev=653108&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-client/client/ShopperImpl.java (added)
+++ incubator/tuscany/java/sca/tutorial/store-client/client/ShopperImpl.java Sat May  3 12:17:05 2008
@@ -0,0 +1,63 @@
+/*
+ * 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 client;
+
+import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
+import org.osoa.sca.annotations.Reference;
+
+import services.Cart;
+import services.Catalog;
+import services.Item;
+import services.Total;
+
+public class ShopperImpl implements Shopper {
+    
+    @Reference
+    public Catalog catalog;
+    
+    @Reference
+    public Cart shoppingCart;
+    
+    @Reference
+    public Total shoppingTotal;
+
+    public String shop(String itemName, int quantity) {
+        
+        Item[] items = catalog.get();
+        for (Item item: items) {
+            if (item.getName().startsWith(itemName)) {
+                
+                try {
+                    shoppingCart.delete("");
+                } catch (NotFoundException e) {
+                }
+
+                for (int i = 0; i < quantity; i++) {
+                    shoppingCart.post("item" + i, item);
+                }
+                
+                return shoppingTotal.getTotal();
+            }
+        }
+        
+        return "";
+    }
+
+}

Propchange: incubator/tuscany/java/sca/tutorial/store-client/client/ShopperImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/tutorial/store-client/client/ShopperImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/sca/tutorial/store-client/client/ShopperImpl.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/tuscany/java/sca/tutorial/store-client/launch/LaunchStoreClientNode.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-client/launch/LaunchStoreClientNode.java?rev=653108&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-client/launch/LaunchStoreClientNode.java (added)
+++ incubator/tuscany/java/sca/tutorial/store-client/launch/LaunchStoreClientNode.java Sat May  3 12:17:05 2008
@@ -0,0 +1,43 @@
+/*
+ * 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 launch;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode2;
+import org.apache.tuscany.sca.node.launcher.NodeLauncher;
+
+import client.Shopper;
+
+public class LaunchStoreClientNode {
+
+    public static void main(String[] args) throws Exception {
+        NodeLauncher nodeLauncher = NodeLauncher.newInstance();
+        SCANode2 storeClientNode = nodeLauncher.createNode("http://localhost:9990/node-config/StoreClientNode");
+        storeClientNode.start();
+        SCAClient client = (SCAClient)storeClientNode;
+        
+        Shopper shopper = client.getService(Shopper.class, "StoreClient");
+        
+        String total = shopper.shop("Orange", 5);
+        System.out.println("Total: " + total);
+        
+        storeClientNode.stop();
+    }
+}

Propchange: incubator/tuscany/java/sca/tutorial/store-client/launch/LaunchStoreClientNode.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/tutorial/store-client/launch/LaunchStoreClientNode.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/sca/tutorial/store-client/launch/LaunchStoreClientNode.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/tuscany/java/sca/tutorial/store-client/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-client/pom.xml?rev=653108&r1=652985&r2=653108&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-client/pom.xml (original)
+++ incubator/tuscany/java/sca/tutorial/store-client/pom.xml Sat May  3 12:17:05 2008
@@ -25,8 +25,8 @@
         <version>2.0-incubating-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
-    <artifactId>tutorial-store-supplier</artifactId>
-    <name>Apache Tuscany SCA Tutorial Supplier Online Store</name>
+    <artifactId>tutorial-store-client</artifactId>
+    <name>Apache Tuscany SCA Tutorial Online Store Client</name>
 
     <repositories>
        <repository>
@@ -41,6 +41,52 @@
             <artifactId>tuscany-sca-api</artifactId>
             <version>2.0-incubating-SNAPSHOT</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-data-api</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node2-launcher</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node2-api</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-node-runtime</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-atom-abdera</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-ws-axis2</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
     </dependencies>
     
     <build>
@@ -71,40 +117,6 @@
                     </execution>
                 </executions>
             </plugin>
-
-	        <plugin>
-	             <groupId>org.codehaus.mojo</groupId>
-	             <artifactId>sql-maven-plugin</artifactId>
-	             <version>1.0</version>
-	
-	             <dependencies>
-	                 <dependency>
-	                     <groupId>org.apache.derby</groupId>
-	                     <artifactId>derby</artifactId>
-	                     <version>10.1.2.1</version>
-	                 </dependency>
-	             </dependencies>
-	
-	             <executions>
-	                 <execution>
-	                     <id>create-db</id>
-	                     <phase>generate-resources</phase>
-	                     <goals>
-	                         <goal>execute</goal>
-	                     </goals>
-	                     <configuration>
-	                         <driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
-	                         <url>jdbc:derby:${basedir}/target/cart-db;create=true</url>
-	                         <autocommit>true</autocommit>
-	                         <onError>continue</onError>
-	                         <delimiter>;</delimiter>
-	                         <srcFiles>
-	                             <srcFile>${basedir}/../assets/services/db/cart.sql</srcFile>
-	                         </srcFiles>
-	                     </configuration>
-	                 </execution>
-	             </executions>
-	         </plugin>
        </plugins>
     </build>
 

Added: incubator/tuscany/java/sca/tutorial/store-client/services/Cart.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-client/services/Cart.java?rev=653108&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-client/services/Cart.java (added)
+++ incubator/tuscany/java/sca/tutorial/store-client/services/Cart.java Sat May  3 12:17:05 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 services;
+
+import org.apache.tuscany.sca.implementation.data.collection.Collection;
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Cart extends Collection<String, Item> {
+
+}

Propchange: incubator/tuscany/java/sca/tutorial/store-client/services/Cart.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/tutorial/store-client/services/Cart.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/sca/tutorial/store-client/services/Cart.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/tuscany/java/sca/tutorial/store-client/services/Catalog.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-client/services/Catalog.java?rev=653108&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-client/services/Catalog.java (added)
+++ incubator/tuscany/java/sca/tutorial/store-client/services/Catalog.java Sat May  3 12:17:05 2008
@@ -0,0 +1,27 @@
+/*
+ * 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 services;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Catalog {
+    Item[] get();
+}

Propchange: incubator/tuscany/java/sca/tutorial/store-client/services/Catalog.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/tutorial/store-client/services/Catalog.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/sca/tutorial/store-client/services/Catalog.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/tuscany/java/sca/tutorial/store-client/services/Item.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-client/services/Item.java?rev=653108&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-client/services/Item.java (added)
+++ incubator/tuscany/java/sca/tutorial/store-client/services/Item.java Sat May  3 12:17:05 2008
@@ -0,0 +1,66 @@
+/*
+ * 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 services;
+
+
+public class Item {
+    private String name;
+    private String price;
+    private String origin;
+    
+    public Item() {
+    }
+    
+    public Item(String name, String price, String origin) {
+        this.name = name;
+        this.price = price;
+        this.origin = origin;
+    }
+    
+    public Item(String name, String price) {
+        this.name = name;
+        this.price = price;
+    }
+    
+    public String getName() {
+        return name;
+    }
+    
+    public void setName(String name) {
+        this.name = name;
+    }
+    
+    public String getPrice() {
+        return price;
+    }
+    
+    public void setPrice(String price) {
+        this.price = price;
+    }
+
+    public String getOrigin() {
+        return origin;
+    }
+
+    public void setOrigin(String origin) {
+        this.origin = origin;
+    }
+
+}

Propchange: incubator/tuscany/java/sca/tutorial/store-client/services/Item.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/tutorial/store-client/services/Item.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/sca/tutorial/store-client/services/Item.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/tuscany/java/sca/tutorial/store-client/services/Total.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-client/services/Total.java?rev=653108&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-client/services/Total.java (added)
+++ incubator/tuscany/java/sca/tutorial/store-client/services/Total.java Sat May  3 12:17:05 2008
@@ -0,0 +1,29 @@
+/*
+ * 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 services;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Total {
+    
+    String getTotal();
+
+}

Propchange: incubator/tuscany/java/sca/tutorial/store-client/services/Total.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/tutorial/store-client/services/Total.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/sca/tutorial/store-client/services/Total.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/tuscany/java/sca/tutorial/store-client/store-client.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-client/store-client.composite?rev=653108&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-client/store-client.composite (added)
+++ incubator/tuscany/java/sca/tutorial/store-client/store-client.composite Sat May  3 12:17:05 2008
@@ -0,0 +1,38 @@
+<?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://store"
+		name="store-client">
+		
+    <component name="StoreClient">
+        <implementation.java class="client.ShopperImpl"/>
+		<reference name="catalog" target="StoreSupplierCatalog">
+		 	<binding.ws/>
+		 </reference>
+		 <reference name="shoppingCart" target="StoreSupplierShoppingCart/Cart">
+		 	<t:binding.atom/>
+		 </reference>
+		 <reference name="shoppingTotal" target="StoreSupplierShoppingCart/Total">
+		 	<binding.ws/>
+		 </reference>
+    </component>
+    
+</composite>

Propchange: incubator/tuscany/java/sca/tutorial/store-client/store-client.composite
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/tutorial/store-client/store-client.composite
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/tutorial/store-supplier/store-supplier.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-supplier/store-supplier.composite?rev=653108&r1=653107&r2=653108&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-supplier/store-supplier.composite (original)
+++ incubator/tuscany/java/sca/tutorial/store-supplier/store-supplier.composite Sat May  3 12:17:05 2008
@@ -66,6 +66,7 @@
 		</service>    	
 		<service name="Total">
 			<t:binding.jsonrpc/>
+			<binding.ws uri="/ShoppinCartTotalWebService"/>
 		</service>
 	</component>
     

Added: incubator/tuscany/java/sca/tutorial/store-test/client/Shopper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-test/client/Shopper.java?rev=653108&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-test/client/Shopper.java (added)
+++ incubator/tuscany/java/sca/tutorial/store-test/client/Shopper.java Sat May  3 12:17:05 2008
@@ -0,0 +1,29 @@
+/*
+ * 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 client;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Shopper {
+    
+    String shop(String itemName, int quantity);
+
+}

Propchange: incubator/tuscany/java/sca/tutorial/store-test/client/Shopper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/tutorial/store-test/client/Shopper.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/sca/tutorial/store-test/client/Shopper.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/tuscany/java/sca/tutorial/store-test/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-test/pom.xml?rev=653108&r1=652985&r2=653108&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-test/pom.xml (original)
+++ incubator/tuscany/java/sca/tutorial/store-test/pom.xml Sat May  3 12:17:05 2008
@@ -25,8 +25,8 @@
         <version>2.0-incubating-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
-    <artifactId>tutorial-store-supplier</artifactId>
-    <name>Apache Tuscany SCA Tutorial Supplier Online Store</name>
+    <artifactId>tutorial-store-test</artifactId>
+    <name>Apache Tuscany SCA Tutorial Integration Test</name>
 
     <repositories>
        <repository>
@@ -41,11 +41,128 @@
             <artifactId>tuscany-sca-api</artifactId>
             <version>2.0-incubating-SNAPSHOT</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-data-api</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node2-launcher</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node2-api</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-domain-manager</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-node-runtime</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-widget</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-resource</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-atom-abdera</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-jsonrpc</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-http</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-ws-axis2</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-sca-axis2</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-ejb</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-ejb-xml</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derby</artifactId>
+            <version>10.1.2.1</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.2</version>
+            <scope>test</scope>
+        </dependency>
+
     </dependencies>
     
     <build>
        <finalName>${artifactId}</finalName>
-       <sourceDirectory>${basedir}</sourceDirectory>
+       <testSourceDirectory>${basedir}</testSourceDirectory>
        <resources>
           <resource>
               <directory>${basedir}</directory>
@@ -94,7 +211,7 @@
 	                     </goals>
 	                     <configuration>
 	                         <driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
-	                         <url>jdbc:derby:${basedir}/target/cart-db;create=true</url>
+	                         <url>jdbc:derby:${basedir}/../store-supplier/target/cart-db;create=true</url>
 	                         <autocommit>true</autocommit>
 	                         <onError>continue</onError>
 	                         <delimiter>;</delimiter>

Added: incubator/tuscany/java/sca/tutorial/store-test/test/StoreSupplierTestCaseFIXME.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-test/test/StoreSupplierTestCaseFIXME.java?rev=653108&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-test/test/StoreSupplierTestCaseFIXME.java (added)
+++ incubator/tuscany/java/sca/tutorial/store-test/test/StoreSupplierTestCaseFIXME.java Sat May  3 12:17:05 2008
@@ -0,0 +1,86 @@
+/*
+ * 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 test;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode2;
+import org.apache.tuscany.sca.node.launcher.DomainManagerLauncher;
+import org.apache.tuscany.sca.node.launcher.NodeLauncher;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import client.Shopper;
+
+
+/**
+ * Test the store-merger.
+ *
+ * @version $Rev$ $Date$
+ */
+public class StoreSupplierTestCaseFIXME {
+    
+    private SCANode2 domainManager;
+    private SCANode2 storeSupplierNode;
+    private SCANode2 storeCatalogsNode;
+    private SCANode2 storeClientNode;
+
+    @Before
+    public void setup() throws Exception {
+        
+        DomainManagerLauncher managerLauncher = DomainManagerLauncher.newInstance();
+        domainManager = managerLauncher.createDomainManager("../domain");
+        domainManager.start();
+        
+        NodeLauncher nodeLauncher = NodeLauncher.newInstance();
+        storeSupplierNode = nodeLauncher.createNode("http://localhost:9990/node-config/StoreSupplierNode");
+        storeSupplierNode.start();
+        
+        storeCatalogsNode = nodeLauncher.createNode("http://localhost:9990/node-config/CatalogsNode");
+        storeCatalogsNode.start();
+        
+        storeClientNode = nodeLauncher.createNode("http://localhost:9990/node-config/StoreClientNode");
+        storeClientNode.start();
+        
+    }
+    
+    @After
+    public void tearDown() throws Exception {
+        storeSupplierNode.stop();
+        storeCatalogsNode.stop();
+        storeClientNode.stop();
+        domainManager.stop();
+    }
+    
+    @Test
+    public void testShop() {
+        SCAClient client = (SCAClient)storeClientNode;
+        Shopper shopper = client.getService(Shopper.class, "StoreClient");
+        
+        String total = shopper.shop("Orange", 5);
+        System.out.println("Total: " + total);
+        
+        Assert.assertEquals("$17.75", total);
+        
+    }
+    
+}

Propchange: incubator/tuscany/java/sca/tutorial/store-test/test/StoreSupplierTestCaseFIXME.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/tutorial/store-test/test/StoreSupplierTestCaseFIXME.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/java/sca/tutorial/store-test/test/StoreSupplierTestCaseFIXME.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain