Author: jsdelfino
Date: Sun Jan 13 00:34:52 2008
New Revision: 611547
URL: http://svn.apache.org/viewvc?rev=611547&view=rev
Log:
Changed the data collection getAll method to return an array of Entry objects
instead of a Map as a Map can't be easily described using WSDL and XSD and
won't work with Web Service interactions.
Modified:
incubator/tuscany/java/sca/tutorial/assets/services/ShoppingCartImpl.java
incubator/tuscany/java/sca/tutorial/assets/services/db/ShoppingCartTableImpl.java
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=611547&r1=611546&r2=611547&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/assets/services/ShoppingCartImpl.java
(original)
+++ incubator/tuscany/java/sca/tutorial/assets/services/ShoppingCartImpl.java
Sun Jan 13 00:34:52 2008
@@ -23,6 +23,7 @@
import java.util.Map;
import java.util.UUID;
+import org.apache.tuscany.sca.implementation.data.collection.Entry;
import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
import org.osoa.sca.annotations.Init;
import org.osoa.sca.annotations.Scope;
@@ -30,14 +31,20 @@
@Scope("COMPOSITE")
public class ShoppingCartImpl implements Cart, Total {
- private Map<String, Item> cart = new HashMap<String, Item>();
+ private Map<String, Item> cart;
@Init
protected void init() {
+ cart = new HashMap<String, Item>();
}
- public Map<String, Item> getAll() {
- return cart;
+ public Entry<String, Item>[] getAll() {
+ Entry<String, Item>[] entries = new Entry[cart.size()];
+ int i = 0;
+ for (Map.Entry<String, Item> e: cart.entrySet()) {
+ entries[i++] = new Entry<String, Item>(e.getKey(), e.getValue());
+ }
+ return entries;
}
public Item get(String key) throws NotFoundException {
@@ -72,7 +79,7 @@
}
}
- public Map<String, Item> query(String queryString) {
+ public Entry<String, Item>[] query(String queryString) {
// Implement queries later
return null;
}
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=611547&r1=611546&r2=611547&view=diff
==============================================================================
---
incubator/tuscany/java/sca/tutorial/assets/services/db/ShoppingCartTableImpl.java
(original)
+++
incubator/tuscany/java/sca/tutorial/assets/services/db/ShoppingCartTableImpl.java
Sun Jan 13 00:34:52 2008
@@ -24,10 +24,11 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.ArrayList;
+import java.util.List;
import java.util.UUID;
+import org.apache.tuscany.sca.implementation.data.collection.Entry;
import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
import org.osoa.sca.ServiceRuntimeException;
import org.osoa.sca.annotations.Init;
@@ -50,15 +51,16 @@
connection = DriverManager.getConnection("jdbc:derby:target/" +
database, "", "");
}
- public Map<String, Item> getAll() {
+ public Entry<String, Item>[] getAll() {
try {
Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery("select * from Cart");
- Map<String, Item> items = new HashMap<String, Item>();
+ List<Entry<String, Item>> entries = new ArrayList<Entry<String,
Item>>();
while (results.next()) {
- items.put(results.getString("id"), new
Item(results.getString("name"), results.getString("price")));
+ Item item = new Item(results.getString("name"),
results.getString("price"));
+ entries.add(new Entry<String, Item>(results.getString("id"),
item));
}
- return items;
+ return entries.toArray(new Entry[entries.size()]);
} catch (SQLException e) {
throw new ServiceRuntimeException(e);
}
@@ -123,29 +125,31 @@
}
}
- public Map<String, Item> query(String queryString) {
+ public Entry<String, Item>[] query(String queryString) {
try {
Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery("select * from Cart
where " + queryString);
- Map<String, Item> items = new HashMap<String, Item>();
+ List<Entry<String, Item>> entries = new ArrayList<Entry<String,
Item>>();
while (results.next()) {
- items.put(results.getString("id"), new
Item(results.getString("name"), results.getString("price")));
+ Item item = new Item(results.getString("name"),
results.getString("price"));
+ entries.add(new Entry<String, Item>(results.getString("id"),
item));
}
- return items;
+ return entries.toArray(new Entry[entries.size()]);
} catch (SQLException e) {
throw new ServiceRuntimeException(e);
}
}
public String getTotal() {
- Map<String, Item> cart = getAll();
+ Entry<String, Item>[] entries = getAll();
double total = 0;
String currencySymbol = "";
- if (!cart.isEmpty()) {
- Item item = cart.values().iterator().next();
+ if (entries.length > 0) {
+ Item item = entries[0].getData();
currencySymbol = item.getPrice().substring(0, 1);
}
- for (Item item : cart.values()) {
+ for (Entry<String, Item> entry : entries) {
+ Item item = entry.getData();
total += Double.valueOf(item.getPrice().substring(1));
}
return currencySymbol + total;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]