diff options
Diffstat (limited to 'sandbox/sca-cloud-tutorial/store-catalog-appengine-webapp/src/services/FruitsCatalogImpl.java')
-rw-r--r-- | sandbox/sca-cloud-tutorial/store-catalog-appengine-webapp/src/services/FruitsCatalogImpl.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/sandbox/sca-cloud-tutorial/store-catalog-appengine-webapp/src/services/FruitsCatalogImpl.java b/sandbox/sca-cloud-tutorial/store-catalog-appengine-webapp/src/services/FruitsCatalogImpl.java new file mode 100644 index 0000000000..5290623487 --- /dev/null +++ b/sandbox/sca-cloud-tutorial/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; + } +} |