summaryrefslogtreecommitdiffstats
path: root/sandbox/lresende/sca/samples/store-catalog-appengine-webapp/src/services/FruitsCatalogImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/lresende/sca/samples/store-catalog-appengine-webapp/src/services/FruitsCatalogImpl.java')
-rw-r--r--sandbox/lresende/sca/samples/store-catalog-appengine-webapp/src/services/FruitsCatalogImpl.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/sandbox/lresende/sca/samples/store-catalog-appengine-webapp/src/services/FruitsCatalogImpl.java b/sandbox/lresende/sca/samples/store-catalog-appengine-webapp/src/services/FruitsCatalogImpl.java
new file mode 100644
index 0000000000..5290623487
--- /dev/null
+++ b/sandbox/lresende/sca/samples/store-catalog-appengine-webapp/src/services/FruitsCatalogImpl.java
@@ -0,0 +1,38 @@
+package services;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.oasisopen.sca.annotation.Init;
+import org.oasisopen.sca.annotation.Property;
+import org.oasisopen.sca.annotation.Reference;
+import org.oasisopen.sca.annotation.Scope;
+import org.oasisopen.sca.annotation.Service;
+
+@Service(Catalog.class)
+@Scope("COMPOSITE")
+public class FruitsCatalogImpl implements Catalog {
+ @Property
+ public String currencyCode = "USD";
+ @Reference
+ public CurrencyConverter currencyConverter;
+
+ private List<Item> catalog = new ArrayList<Item>();
+
+ @Init
+ public void init() {
+ String currencySymbol = currencyConverter.getCurrencySymbol(currencyCode);
+ 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 Item[] get() {
+ Item[] catalogArray = new Item[catalog.size()];
+ catalog.toArray(catalogArray);
+ return catalogArray;
+ }
+}