Author: jsdelfino
Date: Mon Nov 12 08:53:29 2007
New Revision: 594211

URL: http://svn.apache.org/viewvc?rev=594211&view=rev
Log:
Changed tutorial to use real business objects for the catalog and cart items 
instead of just strings.

Added:
    incubator/tuscany/java/sca/tutorial/assets/services/Cart.java   (with props)
    incubator/tuscany/java/sca/tutorial/assets/services/Item.java   (with props)
Modified:
    incubator/tuscany/java/sca/tutorial/assets/services/Catalog.java
    incubator/tuscany/java/sca/tutorial/assets/services/FruitsCatalogImpl.java
    incubator/tuscany/java/sca/tutorial/assets/services/ShoppingCartImpl.java
    
incubator/tuscany/java/sca/tutorial/assets/services/VegetablesCatalogImpl.java
    
incubator/tuscany/java/sca/tutorial/assets/services/db/ShoppingCartTableImpl.java
    incubator/tuscany/java/sca/tutorial/assets/services/db/cart.sql
    
incubator/tuscany/java/sca/tutorial/assets/services/merger/MergedCatalogImpl.java
    incubator/tuscany/java/sca/tutorial/store-eu/store-eu.composite
    incubator/tuscany/java/sca/tutorial/store-eu/uiservices/store.html
    incubator/tuscany/java/sca/tutorial/store/store-db.composite
    incubator/tuscany/java/sca/tutorial/store/store-merger.composite
    incubator/tuscany/java/sca/tutorial/store/store.composite
    incubator/tuscany/java/sca/tutorial/store/uiservices/store.html

Added: incubator/tuscany/java/sca/tutorial/assets/services/Cart.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/assets/services/Cart.java?rev=594211&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/assets/services/Cart.java (added)
+++ incubator/tuscany/java/sca/tutorial/assets/services/Cart.java Mon Nov 12 
08:53:29 2007
@@ -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;
+
[EMAIL PROTECTED]
+public interface Cart extends Collection<String, Item> {
+
+}

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

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

Modified: incubator/tuscany/java/sca/tutorial/assets/services/Catalog.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/assets/services/Catalog.java?rev=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/assets/services/Catalog.java (original)
+++ incubator/tuscany/java/sca/tutorial/assets/services/Catalog.java Mon Nov 12 
08:53:29 2007
@@ -23,5 +23,5 @@
 
 @Remotable
 public interface Catalog {
-    String[] get();
+    Item[] get();
 }

Modified: 
incubator/tuscany/java/sca/tutorial/assets/services/FruitsCatalogImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/assets/services/FruitsCatalogImpl.java?rev=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/assets/services/FruitsCatalogImpl.java 
(original)
+++ incubator/tuscany/java/sca/tutorial/assets/services/FruitsCatalogImpl.java 
Mon Nov 12 08:53:29 2007
@@ -34,18 +34,18 @@
     @Reference
     public CurrencyConverter currencyConverter;
     
-    private List<String> catalog = new ArrayList<String>();
+    private List<Item> catalog = new ArrayList<Item>();
 
     @Init
     public void init() {
         String currencySymbol = 
currencyConverter.getCurrencySymbol(currencyCode);
-        catalog.add("Apple - " + currencySymbol + 
currencyConverter.getConversion("USD", currencyCode, 2.99));
-        catalog.add("Orange - " + currencySymbol + 
currencyConverter.getConversion("USD", currencyCode, 3.55));
-        catalog.add("Pear - " + currencySymbol + 
currencyConverter.getConversion("USD", currencyCode, 1.55));
+        catalog.add(new Item("Apple",  currencySymbol + 
currencyConverter.getConversion("USD", currencyCode, 2.99)));
+        catalog.add(new Item("Orange", currencySymbol + 
currencyConverter.getConversion("USD", currencyCode, 3.55)));
+        catalog.add(new Item("Pear", currencySymbol + 
currencyConverter.getConversion("USD", currencyCode, 1.55)));
     }
 
-    public String[] get() {
-        String[] catalogArray = new String[catalog.size()];
+    public Item[] get() {
+        Item[] catalogArray = new Item[catalog.size()];
         catalog.toArray(catalogArray);
         return catalogArray;
     }

Added: incubator/tuscany/java/sca/tutorial/assets/services/Item.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/assets/services/Item.java?rev=594211&view=auto
==============================================================================
--- incubator/tuscany/java/sca/tutorial/assets/services/Item.java (added)
+++ incubator/tuscany/java/sca/tutorial/assets/services/Item.java Mon Nov 12 
08:53:29 2007
@@ -0,0 +1,54 @@
+/*
+ * 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 java.io.Serializable;
+
+public class Item implements Serializable {
+    private static final long serialVersionUID = -5847326138627338217L;
+    
+    private String name;
+    private String price;
+    
+    public Item() {
+    }
+    
+    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;
+    }
+
+}

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

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

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=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/assets/services/ShoppingCartImpl.java 
(original)
+++ incubator/tuscany/java/sca/tutorial/assets/services/ShoppingCartImpl.java 
Mon Nov 12 08:53:29 2007
@@ -23,19 +23,25 @@
 import java.util.Map;
 import java.util.UUID;
 
-import org.apache.tuscany.sca.implementation.data.collection.Collection;
 import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
+import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.Scope;
 
-public class ShoppingCartImpl implements Collection<String, String>, Total {
[EMAIL PROTECTED]("COMPOSITE")
+public class ShoppingCartImpl implements Cart, Total {
     
-    private static Map<String, String> cart = new HashMap<String, String>();
+    private Map<String, Item> cart = new HashMap<String, Item>();
+    
+    @Init
+    protected void init() {
+    }
 
-    public Map<String, String> getAll() {
+    public Map<String, Item> getAll() {
         return cart;
     }
 
-    public String get(String key) throws NotFoundException {
-        String item = cart.get(key);
+    public Item get(String key) throws NotFoundException {
+        Item item = cart.get(key);
         if (item == null) {
             throw new NotFoundException(key);
         } else {
@@ -43,13 +49,13 @@
         }
     }
 
-    public String post(String item) {
+    public String post(Item item) {
         String key = "cart-" + UUID.randomUUID().toString();
         cart.put(key, item);
         return key;
     }
 
-    public void put(String key, String item) throws NotFoundException {
+    public void put(String key, Item item) throws NotFoundException {
         if (!cart.containsKey(key)) {
             throw new NotFoundException(key);
         }
@@ -60,13 +66,13 @@
         if (key == null || key.equals("")) {
             cart.clear();
         } else {
-            String item = cart.remove(key);
+            Item item = cart.remove(key);
             if (item == null)
                 throw new NotFoundException(key);
         }
     }
 
-    public Map<String, String> query(String queryString) {
+    public Map<String, Item> query(String queryString) {
         // Implement queries later
         return null;
     }
@@ -75,11 +81,11 @@
         double total = 0;
         String currencySymbol = "";
         if (!cart.isEmpty()) {
-            String item = cart.values().iterator().next();
-            currencySymbol = item.substring(item.indexOf("-") + 2, 
item.indexOf("-") + 3);
+            Item item = cart.values().iterator().next();
+            currencySymbol = item.getPrice().substring(0, 1);
         }
-        for (String item : cart.values()) {
-            total += Double.valueOf(item.substring(item.indexOf("-") + 3));
+        for (Item item : cart.values()) {
+            total += Double.valueOf(item.getPrice().substring(1));
         }
         return currencySymbol + String.valueOf(total);
     }

Modified: 
incubator/tuscany/java/sca/tutorial/assets/services/VegetablesCatalogImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/assets/services/VegetablesCatalogImpl.java?rev=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/tutorial/assets/services/VegetablesCatalogImpl.java 
(original)
+++ 
incubator/tuscany/java/sca/tutorial/assets/services/VegetablesCatalogImpl.java 
Mon Nov 12 08:53:29 2007
@@ -25,17 +25,17 @@
 import org.osoa.sca.annotations.Init;
 
 public class VegetablesCatalogImpl implements Catalog {
-    private List<String> catalog = new ArrayList<String>();
+    private List<Item> catalog = new ArrayList<Item>();
 
     @Init
     public void init() {
-        catalog.add("Broccoli - $2.99");
-        catalog.add("Asparagus - $3.55");
-        catalog.add("Cauliflower - $1.55");
+        catalog.add(new Item("Broccoli", "$2.99"));
+        catalog.add(new Item("Asparagus", "$3.55"));
+        catalog.add(new Item("Cauliflower", "$1.55"));
     }
 
-    public String[] get() {
-        String[] catalogArray = new String[catalog.size()];
+    public Item[] get() {
+        Item[] catalogArray = new Item[catalog.size()];
         catalog.toArray(catalogArray);
         return catalogArray;
     }

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=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/tutorial/assets/services/db/ShoppingCartTableImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/tutorial/assets/services/db/ShoppingCartTableImpl.java
 Mon Nov 12 08:53:29 2007
@@ -28,15 +28,16 @@
 import java.util.Map;
 import java.util.UUID;
 
-import org.apache.tuscany.sca.implementation.data.collection.Collection;
 import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
 import org.osoa.sca.ServiceRuntimeException;
 import org.osoa.sca.annotations.Init;
 import org.osoa.sca.annotations.Property;
 
+import services.Cart;
+import services.Item;
 import services.Total;
 
-public class ShoppingCartTableImpl implements Collection<String, String>, 
Total {
+public class ShoppingCartTableImpl implements Cart, Total {
     
     @Property
     public String database;
@@ -49,26 +50,26 @@
         connection = DriverManager.getConnection("jdbc:derby:target/" + 
database, "", "");
     }
 
-    public Map<String, String> getAll() {
+    public Map<String, Item> getAll() {
         try {
             Statement statement = connection.createStatement();
-            ResultSet resultSet = statement.executeQuery("select * from Cart");
-            Map<String, String> result = new HashMap<String, String>();
-            while (resultSet.next()) {
-                result.put(resultSet.getString("id"), 
resultSet.getString("item"));
+            ResultSet results = statement.executeQuery("select * from Cart");
+            Map<String, Item> items = new HashMap<String, Item>();
+            while (results.next()) {
+                items.put(results.getString("id"), new 
Item(results.getString("name"), results.getString("price")));
             }
-            return result;
+            return items;
         } catch (SQLException e) {
             throw new ServiceRuntimeException(e);
         }
     }
 
-    public String get(String key) throws NotFoundException {
+    public Item get(String key) throws NotFoundException {
         try {
             Statement statement = connection.createStatement();
-            ResultSet resultSet = statement.executeQuery("select * from Cart 
where id = '" + key + "'");
-            if (resultSet.next()) {
-                return resultSet.getString("item");
+            ResultSet results = statement.executeQuery("select * from Cart 
where id = '" + key + "'");
+            if (results.next()) {
+                return new Item(results.getString("name"), 
results.getString("price"));
             } else {
                 throw new NotFoundException(key);
             }
@@ -77,11 +78,11 @@
         }
     }
 
-    public String post(String item) {
+    public String post(Item item) {
         String key = "cart-" + UUID.randomUUID().toString();
         try {
             Statement statement = connection.createStatement();
-            String query = "insert into Cart values ('" + key + "', '" + item 
+ "')";
+            String query = "insert into Cart values ('" + key + "', '" + 
item.getName() + "', '" + item.getPrice() + "')";
             System.out.println(query);
             statement.executeUpdate(query);
         } catch (SQLException e) {
@@ -90,10 +91,10 @@
         return key;
     }
 
-    public void put(String key, String item) throws NotFoundException {
+    public void put(String key, Item item) throws NotFoundException {
         try {
             Statement statement = connection.createStatement();
-            String query = "update into Cart set item = '" + item + "' where 
id = '" + key + "'";
+            String query = "update into Cart set name = '" + item.getName() + 
"', price = '" + item.getPrice() + "' where id = '" + key + "'";
             System.out.println(query);
             int count = statement.executeUpdate(query);
             if (count == 0)
@@ -122,31 +123,31 @@
         }
     }
 
-    public Map<String, String> query(String queryString) {
+    public Map<String, Item> query(String queryString) {
         try {
             Statement statement = connection.createStatement();
-            ResultSet resultSet = statement.executeQuery("select * from Cart 
where " + queryString);
-            Map<String, String> result = new HashMap<String, String>();
-            while (resultSet.next()) {
-                result.put(resultSet.getString("id"), 
resultSet.getString("item"));
+            ResultSet results = statement.executeQuery("select * from Cart 
where " + queryString);
+            Map<String, Item> items = new HashMap<String, Item>();
+            while (results.next()) {
+                items.put(results.getString("id"), new 
Item(results.getString("name"), results.getString("price")));
             }
-            return result;
+            return items;
         } catch (SQLException e) {
             throw new ServiceRuntimeException(e);
         }
     }
     
     public String getTotal() {
-        Map<String, String> cart = getAll(); 
+        Map<String, Item> cart = getAll(); 
         double total = 0;
         String currencySymbol = "";
         if (!cart.isEmpty()) {
-            String item = cart.values().iterator().next();
-            currencySymbol = item.substring(item.indexOf("-") + 2, 
item.indexOf("-") + 3);
+            Item item = cart.values().iterator().next();
+            currencySymbol = item.getPrice().substring(0, 1);
         }
-        for (String item : cart.values()) {
-            total += Double.valueOf(item.substring(item.indexOf("-") + 3));
+        for (Item item : cart.values()) {
+            total += Double.valueOf(item.getPrice().substring(1));
         }
-        return currencySymbol + String.valueOf(total);
+        return currencySymbol + total;
     }
 }

Modified: incubator/tuscany/java/sca/tutorial/assets/services/db/cart.sql
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/assets/services/db/cart.sql?rev=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/assets/services/db/cart.sql (original)
+++ incubator/tuscany/java/sca/tutorial/assets/services/db/cart.sql Mon Nov 12 
08:53:29 2007
@@ -2,6 +2,7 @@
 
 CREATE TABLE CART(
    id VARCHAR(50) NOT NULL,
-   item VARCHAR(50),
+   name VARCHAR(50),
+   price VARCHAR(10),
    primary key (id)
 );

Modified: 
incubator/tuscany/java/sca/tutorial/assets/services/merger/MergedCatalogImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/assets/services/merger/MergedCatalogImpl.java?rev=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/tutorial/assets/services/merger/MergedCatalogImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/tutorial/assets/services/merger/MergedCatalogImpl.java
 Mon Nov 12 08:53:29 2007
@@ -24,6 +24,7 @@
 
 import services.Catalog;
 import services.CurrencyConverter;
+import services.Item;
 
 public class MergedCatalogImpl implements Catalog {
 
@@ -39,26 +40,24 @@
     @Reference
     public Catalog vegetablesCatalog;
     
-    public String[] get() {
+    public Item[] get() {
         String currencySymbol = 
currencyConverter.getCurrencySymbol(currencyCode);
         
-        String[] fruits = fruitsCatalog.get();
-        String[] vegetables = vegetablesCatalog.get();
+        Item[] fruits = fruitsCatalog.get();
+        Item[] vegetables = vegetablesCatalog.get();
         
-        String[] catalog = new String[fruits.length + vegetables.length];
+        Item[] catalog = new Item[fruits.length + vegetables.length];
         int i =0;
-        for (String item: fruits) {
-            String name = item.substring(0, item.indexOf('-') - 1);
-            double price = Double.valueOf(item.substring(item.indexOf("-") + 
3));
+        for (Item item: fruits) {
+            double price = Double.valueOf(item.getPrice().substring(1));  
             price = currencyConverter.getConversion("USD", currencyCode, 
price);
-            catalog[i++] = name + " - " + currencySymbol + price;
+            catalog[i++] = new Item(item.getName(), currencySymbol + price);
         }
         
-        for (String item: vegetables) {
-            String name = item.substring(0, item.indexOf('-') - 1);
-            double price = Double.valueOf(item.substring(item.indexOf("-") + 
3));
+        for (Item item: vegetables) {
+            double price = Double.valueOf(item.getPrice().substring(1));  
             price = currencyConverter.getConversion("USD", currencyCode, 
price);
-            catalog[i++] = name + " - " + currencySymbol + price;
+            catalog[i++] = new Item(item.getName(), currencySymbol + price);
         }
         
         return catalog;

Modified: incubator/tuscany/java/sca/tutorial/store-eu/store-eu.composite
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-eu/store-eu.composite?rev=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-eu/store-eu.composite (original)
+++ incubator/tuscany/java/sca/tutorial/store-eu/store-eu.composite Mon Nov 12 
08:53:29 2007
@@ -30,10 +30,10 @@
                <reference name="catalog" target="Catalog">
                        <t:binding.jsonrpc/>
                 </reference>
-                <reference name="shoppingCartCollection" 
target="ShoppingCart/Collection">
+                <reference name="shoppingCart" target="ShoppingCart/Cart">
                        <t:binding.atom/>
                 </reference>
-                <reference name="shoppingCartTotal" 
target="ShoppingCart/Total">
+                <reference name="shoppingTotal" target="ShoppingCart/Total">
                        <t:binding.jsonrpc/>
                 </reference>
     </component>
@@ -53,7 +53,7 @@
        <component name="ShoppingCart">
                <implementation.java class="services.db.ShoppingCartTableImpl"/>
                <property name="database">cart-eu-db</property>
-               <service name="Collection">
+               <service name="Cart">
                        <t:binding.atom/>
                </service>      
                <service name="Total">

Modified: incubator/tuscany/java/sca/tutorial/store-eu/uiservices/store.html
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-eu/uiservices/store.html?rev=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-eu/uiservices/store.html 
(original)
+++ incubator/tuscany/java/sca/tutorial/store-eu/uiservices/store.html Mon Nov 
12 08:53:29 2007
@@ -28,43 +28,48 @@
        var catalog = new Reference("catalog");
        
        //@Reference
-       var shoppingCartCollection = new Reference("shoppingCartCollection");
+       var shoppingCart = new Reference("shoppingCart");
 
        //@Reference
-       var shoppingCartTotal = new Reference("shoppingCartTotal");
-
+       var shoppingTotal = new Reference("shoppingTotal");
+       
+       var catalogItems;
 
        function catalog_getResponse(items) {
                var catalog = "";
                for (var i=0; i<items.length; i++) {
+                       var item = items[i].name + ' - ' + items[i].price;
                        catalog += '<input name="items" type="checkbox" 
value="' + 
-                                               items[i] + '">' + items[i] + ' 
<br>';
+                                               item + '">' + item + ' <br>';
                }
                document.getElementById('catalog').innerHTML=catalog;
+               catalogItems = items;
        }
        
-       function shoppingCartCollection_getResponse(feed) {
+       function shoppingCart_getResponse(feed) {
                if (feed != null) {
                        var entries = feed.getElementsByTagName("entry");       
       
                        var list = "";
                        for (var i=0; i<entries.length; i++) {
-                               var item = 
entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
-                               list += item + ' <br>';
+                               var content = 
entries[i].getElementsByTagName("content")[0];
+                               var name = 
content.getElementsByTagName("name")[0].firstChild.nodeValue;
+                               var price = 
content.getElementsByTagName("price")[0].firstChild.nodeValue;
+                               list += name + ' - ' + price + ' <br>';
                        }
                        document.getElementById("shoppingCart").innerHTML = 
list;
 
                        if (entries.length != 0) {                      
-                               
shoppingCartTotal.getTotal(shoppingCartTotal_getTotalResponse);
+                               
shoppingTotal.getTotal(shoppingTotal_getTotalResponse);
                        }
                }
        }
        
-       function shoppingCartTotal_getTotalResponse(total) {
+       function shoppingTotal_getTotalResponse(total) {
                document.getElementById('total').innerHTML = total;
        }
        
-       function shoppingCartCollection_postResponse(entry) {
-               shoppingCartCollection.get("", 
shoppingCartCollection_getResponse);
+       function shoppingCart_postResponse(entry) {
+               shoppingCart.get("", shoppingCart_getResponse);
        }                               
 
        function addToCart() {
@@ -72,8 +77,11 @@
                var j = 0;
                for (var i=0; i<items.length; i++)
                        if (items[i].checked) {
-                               var entry = '<entry 
xmlns="http://www.w3.org/2005/Atom";><title>cart-item</title><content 
type="text">'+items[i].value+'</content></entry>'
-                               shoppingCartCollection.post(entry, 
shoppingCartCollection_postResponse);
+                               var entry = '<entry 
xmlns="http://www.w3.org/2005/Atom";><title>item</title><content 
type="text/xml">' +
+                       '<Item xmlns="http://services/";>' +
+                       '<name>' + catalogItems[i].name + '</name>' + '<price>' 
+ catalogItems[i].price + '</price>' +
+                       '</Item>' + '</content></entry>';
+                               shoppingCart.post(entry, 
shoppingCart_postResponse);
                                items[i].checked = false;
                        }
        }
@@ -89,16 +97,16 @@
                                        '<br>'+
                                        '<input type="submit" value="Continue 
Shopping">'+ 
                                '</form>';
-               shoppingCartCollection.del("", null);
+               shoppingCart.del("", null);
        }
        function deleteCart() {
-               shoppingCartCollection.del("", null);
+               shoppingCart.del("", null);
                document.getElementById('shoppingCart').innerHTML = "";
                document.getElementById('total').innerHTML = "";        
        }       
 
        catalog.get(catalog_getResponse);
-       shoppingCartCollection.get("", shoppingCartCollection_getResponse);
+       shoppingCart.get("", shoppingCart_getResponse);
 </script>
 
 </head>
@@ -124,7 +132,7 @@
                <br>            
                <input type="button" onClick="checkoutCart()" value="Checkout"> 
                <input type="button" onClick="deleteCart()" value="Empty">     
-               <a href="../ShoppingCart/Collection/">(feed)</a>
+               <a href="../ShoppingCart/Cart/">(feed)</a>
        </form>    
   </div>
 </body>

Modified: incubator/tuscany/java/sca/tutorial/store/store-db.composite
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store/store-db.composite?rev=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store/store-db.composite (original)
+++ incubator/tuscany/java/sca/tutorial/store/store-db.composite Mon Nov 12 
08:53:29 2007
@@ -30,10 +30,10 @@
                <reference name="catalog" target="Catalog">
                        <t:binding.jsonrpc/>
                 </reference>
-                <reference name="shoppingCartCollection" 
target="ShoppingCart/Collection">
+                <reference name="shoppingCart" target="ShoppingCart/Cart">
                        <t:binding.atom/>
                 </reference>
-                <reference name="shoppingCartTotal" 
target="ShoppingCart/Total">
+                <reference name="shoppingTotal" target="ShoppingCart/Total">
                        <t:binding.jsonrpc/>
                 </reference>
     </component>
@@ -59,7 +59,7 @@
        <component name="ShoppingCart">
                <implementation.java class="services.db.ShoppingCartTableImpl"/>
                <property name="database">cart-db</property>
-               <service name="Collection">
+               <service name="Cart">
                        <t:binding.atom/>
                </service>      
                <service name="Total">

Modified: incubator/tuscany/java/sca/tutorial/store/store-merger.composite
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store/store-merger.composite?rev=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store/store-merger.composite (original)
+++ incubator/tuscany/java/sca/tutorial/store/store-merger.composite Mon Nov 12 
08:53:29 2007
@@ -30,10 +30,10 @@
                <reference name="catalog" target="Catalog">
                        <t:binding.jsonrpc/>
                 </reference>
-                <reference name="shoppingCartCollection" 
target="ShoppingCart/Collection">
+                <reference name="shoppingCart" target="ShoppingCart/Cart">
                        <t:binding.atom/>
                 </reference>
-                <reference name="shoppingCartTotal" 
target="ShoppingCart/Total">
+                <reference name="shoppingTotal" target="ShoppingCart/Total">
                        <t:binding.jsonrpc/>
                 </reference>
     </component>
@@ -58,7 +58,7 @@
        
        <component name="ShoppingCart">
                <implementation.java class="services.ShoppingCartImpl"/>
-               <service name="Collection">
+               <service name="Cart">
                        <t:binding.atom/>
                </service>      
                <service name="Total">

Modified: incubator/tuscany/java/sca/tutorial/store/store.composite
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store/store.composite?rev=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store/store.composite (original)
+++ incubator/tuscany/java/sca/tutorial/store/store.composite Mon Nov 12 
08:53:29 2007
@@ -30,10 +30,10 @@
                <reference name="catalog" target="Catalog">
                        <t:binding.jsonrpc/>
                 </reference>
-                <reference name="shoppingCartCollection" 
target="ShoppingCart/Collection">
+                <reference name="shoppingCart" target="ShoppingCart/Cart">
                        <t:binding.atom/>
                 </reference>
-                <reference name="shoppingCartTotal" 
target="ShoppingCart/Total">
+                <reference name="shoppingTotal" target="ShoppingCart/Total">
                        <t:binding.jsonrpc/>
                 </reference>
     </component>
@@ -49,7 +49,7 @@
        
        <component name="ShoppingCart">
                <implementation.java class="services.ShoppingCartImpl"/>
-               <service name="Collection">
+               <service name="Cart">
                        <t:binding.atom/>
                </service>      
                <service name="Total">

Modified: incubator/tuscany/java/sca/tutorial/store/uiservices/store.html
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store/uiservices/store.html?rev=594211&r1=594210&r2=594211&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store/uiservices/store.html (original)
+++ incubator/tuscany/java/sca/tutorial/store/uiservices/store.html Mon Nov 12 
08:53:29 2007
@@ -28,43 +28,48 @@
        var catalog = new Reference("catalog");
        
        //@Reference
-       var shoppingCartCollection = new Reference("shoppingCartCollection");
+       var shoppingCart = new Reference("shoppingCart");
 
        //@Reference
-       var shoppingCartTotal = new Reference("shoppingCartTotal");
-
+       var shoppingTotal = new Reference("shoppingTotal");
+       
+       var catalogItems;
 
        function catalog_getResponse(items) {
                var catalog = "";
                for (var i=0; i<items.length; i++) {
+                       var item = items[i].name + ' - ' + items[i].price;
                        catalog += '<input name="items" type="checkbox" 
value="' + 
-                                               items[i] + '">' + items[i] + ' 
<br>';
+                                               item + '">' + item + ' <br>';
                }
                document.getElementById('catalog').innerHTML=catalog;
+               catalogItems = items;
        }
        
-       function shoppingCartCollection_getResponse(feed) {
+       function shoppingCart_getResponse(feed) {
                if (feed != null) {
                        var entries = feed.getElementsByTagName("entry");       
       
                        var list = "";
                        for (var i=0; i<entries.length; i++) {
-                               var item = 
entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
-                               list += item + ' <br>';
+                               var content = 
entries[i].getElementsByTagName("content")[0];
+                               var name = 
content.getElementsByTagName("name")[0].firstChild.nodeValue;
+                               var price = 
content.getElementsByTagName("price")[0].firstChild.nodeValue;
+                               list += name + ' - ' + price + ' <br>';
                        }
                        document.getElementById("shoppingCart").innerHTML = 
list;
 
                        if (entries.length != 0) {                      
-                               
shoppingCartTotal.getTotal(shoppingCartTotal_getTotalResponse);
+                               
shoppingTotal.getTotal(shoppingTotal_getTotalResponse);
                        }
                }
        }
        
-       function shoppingCartTotal_getTotalResponse(total) {
+       function shoppingTotal_getTotalResponse(total) {
                document.getElementById('total').innerHTML = total;
        }
        
-       function shoppingCartCollection_postResponse(entry) {
-               shoppingCartCollection.get("", 
shoppingCartCollection_getResponse);
+       function shoppingCart_postResponse(entry) {
+               shoppingCart.get("", shoppingCart_getResponse);
        }                               
 
        function addToCart() {
@@ -72,8 +77,11 @@
                var j = 0;
                for (var i=0; i<items.length; i++)
                        if (items[i].checked) {
-                               var entry = '<entry 
xmlns="http://www.w3.org/2005/Atom";><title>cart-item</title><content 
type="text">'+items[i].value+'</content></entry>'
-                               shoppingCartCollection.post(entry, 
shoppingCartCollection_postResponse);
+                               var entry = '<entry 
xmlns="http://www.w3.org/2005/Atom";><title>item</title><content 
type="text/xml">' +
+                       '<Item xmlns="http://services/";>' +
+                       '<name>' + catalogItems[i].name + '</name>' + '<price>' 
+ catalogItems[i].price + '</price>' +
+                       '</Item>' + '</content></entry>';
+                               shoppingCart.post(entry, 
shoppingCart_postResponse);
                                items[i].checked = false;
                        }
        }
@@ -89,16 +97,16 @@
                                        '<br>'+
                                        '<input type="submit" value="Continue 
Shopping">'+ 
                                '</form>';
-               shoppingCartCollection.del("", null);
+               shoppingCart.del("", null);
        }
        function deleteCart() {
-               shoppingCartCollection.del("", null);
+               shoppingCart.del("", null);
                document.getElementById('shoppingCart').innerHTML = "";
                document.getElementById('total').innerHTML = "";        
        }       
 
        catalog.get(catalog_getResponse);
-       shoppingCartCollection.get("", shoppingCartCollection_getResponse);
+       shoppingCart.get("", shoppingCart_getResponse);
 </script>
 
 </head>
@@ -123,7 +131,7 @@
                <br>            
                <input type="button" onClick="checkoutCart()" value="Checkout"> 
                <input type="button" onClick="deleteCart()" value="Empty">     
-               <a href="../ShoppingCart/Collection/">(feed)</a>
+               <a href="../ShoppingCart/Cart/">(feed)</a>
        </form>    
   </div>
 </body>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to