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]