From b5eb79d95ec261c8c5572a23b3eb3133a8c1f664 Mon Sep 17 00:00:00 2001 From: lresende Date: Fri, 3 Apr 2009 08:40:45 +0000 Subject: TUSCANY-2878 - Moving tests to implementation-widget-runtime-tuscany and minor pom adjusts git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@761570 13f79535-47bb-0310-9956-ffa450edef68 --- .../implementation-widget-runtime-dojo/pom.xml | 2 +- .../implementation-widget-runtime-tuscany/pom.xml | 44 +++- .../widget/WidgetImplementationTestCase.java | 48 ++++ .../src/test/java/store/Catalog.java | 32 +++ .../src/test/java/store/CatalogImpl.java | 47 ++++ .../src/test/java/store/ShoppingCartImpl.java | 124 ++++++++++ .../src/test/resources/content/store.html | 127 +++++++++++ .../src/test/resources/content/storeJS.html | 152 +++++++++++++ .../src/test/resources/content/unitTests.html | 250 +++++++++++++++++++++ .../src/test/resources/widget.composite | 54 +++++ .../src/test/resources/widgetJS.composite | 58 +++++ .../modules/implementation-widget-runtime/pom.xml | 36 --- .../widget/WidgetImplementationTestCase.java | 48 ---- .../src/test/java/store/Catalog.java | 32 --- .../src/test/java/store/CatalogImpl.java | 47 ---- .../src/test/java/store/ShoppingCartImpl.java | 124 ---------- .../src/test/resources/content/store.html | 127 ----------- .../src/test/resources/content/storeJS.html | 152 ------------- .../src/test/resources/content/unitTests.html | 250 --------------------- .../src/test/resources/widget.composite | 54 ----- .../src/test/resources/widgetJS.composite | 58 ----- 21 files changed, 936 insertions(+), 930 deletions(-) create mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationTestCase.java create mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/store/Catalog.java create mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/store/CatalogImpl.java create mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/store/ShoppingCartImpl.java create mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/store.html create mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/storeJS.html create mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/unitTests.html create mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widget.composite create mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widgetJS.composite delete mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationTestCase.java delete mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/store/Catalog.java delete mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/store/CatalogImpl.java delete mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/store/ShoppingCartImpl.java delete mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/content/store.html delete mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/content/storeJS.html delete mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/content/unitTests.html delete mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/widget.composite delete mode 100644 branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/widgetJS.composite diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-dojo/pom.xml b/branches/sca-java-1.x/modules/implementation-widget-runtime-dojo/pom.xml index 3406586522..a9bbff3409 100644 --- a/branches/sca-java-1.x/modules/implementation-widget-runtime-dojo/pom.xml +++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-dojo/pom.xml @@ -27,7 +27,7 @@ tuscany-implementation-widget-runtime-dojo - Apache Tuscany SCA Atom Feed Binding JavaScript + Apache Tuscany SCA Widget Implementation Runtime (Dojo) diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/pom.xml b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/pom.xml index 5a2e5927d1..68200733f4 100644 --- a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/pom.xml +++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/pom.xml @@ -27,7 +27,7 @@ tuscany-implementation-widget-runtime-tuscany - Apache Tuscany SCA Atom Feed Binding JavaScript + Apache Tuscany SCA Widget Implementation Runtime (Tuscany) @@ -35,7 +35,49 @@ tuscany-implementation-widget-runtime 1.5-SNAPSHOT + + org.apache.tuscany.sca + tuscany-binding-http-runtime + 1.5-SNAPSHOT + test + + + org.apache.tuscany.sca + tuscany-binding-atom-abdera + 1.5-SNAPSHOT + test + + + + org.apache.tuscany.sca + tuscany-binding-jsonrpc-runtime + 1.5-SNAPSHOT + test + + + + javax.servlet + servlet-api + 2.4 + provided + + + + + org.apache.tuscany.sca + tuscany-host-embedded + 1.5-SNAPSHOT + test + + + + org.apache.tuscany.sca + tuscany-host-jetty + 1.5-SNAPSHOT + test + + junit junit diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationTestCase.java b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationTestCase.java new file mode 100644 index 0000000000..3b5c6f89b2 --- /dev/null +++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationTestCase.java @@ -0,0 +1,48 @@ +/* + * 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 org.apache.tuscany.sca.implementation.widget; + +import java.net.Socket; + +import junit.framework.TestCase; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * @version $Rev$ $Date$ + */ +public class WidgetImplementationTestCase extends TestCase { + + private SCADomain scaDomain; + + @Override + protected void setUp() throws Exception { + scaDomain = SCADomain.newInstance("widget.composite"); + } + + @Override + protected void tearDown() throws Exception { + scaDomain.close(); + } + + public void testPing() throws Exception { + new Socket("127.0.0.1", 8085); + } + +} diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/store/Catalog.java b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/store/Catalog.java new file mode 100644 index 0000000000..370474f29f --- /dev/null +++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/store/Catalog.java @@ -0,0 +1,32 @@ +/* + * 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 store; + +import org.osoa.sca.annotations.Remotable; + +/** + * Interface for the Catalog Service. + * + * @version $Rev$ $Date$ + */ +@Remotable +public interface Catalog { + String[] get(); +} diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/store/CatalogImpl.java b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/store/CatalogImpl.java new file mode 100644 index 0000000000..bed053eeee --- /dev/null +++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/store/CatalogImpl.java @@ -0,0 +1,47 @@ +/* + * 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 store; + +import java.util.ArrayList; +import java.util.List; + +import org.osoa.sca.annotations.Init; + +/** + * Implementation of the Catalog Service. + * + * @version $Rev$ $Date$ + */ +public class CatalogImpl implements Catalog { + private List catalog = new ArrayList(); + + @Init + public void init() { + catalog.add("Apple - $ 2.99"); + catalog.add("Orange - $ 3.55"); + catalog.add("Pear - $ 1.55"); + } + + public String[] get() { + String[] catalogArray = new String[catalog.size()]; + catalog.toArray(catalogArray); + return catalogArray; + } +} diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/store/ShoppingCartImpl.java b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/store/ShoppingCartImpl.java new file mode 100644 index 0000000000..37e8d0161a --- /dev/null +++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/java/store/ShoppingCartImpl.java @@ -0,0 +1,124 @@ +/* + * 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 store; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import org.apache.abdera.Abdera; +import org.apache.abdera.model.Entry; +import org.apache.abdera.model.Feed; +import org.apache.tuscany.sca.binding.atom.collection.Collection; +import org.apache.tuscany.sca.binding.atom.collection.NotFoundException; + +/** + * Implementation of a Shopping Cart. + * + * @version $Rev$ $Date$ + */ +public class ShoppingCartImpl implements Collection { + + private static Map cart = new HashMap(); + + public Feed getFeed() { + Feed feed = Abdera.getNewFactory().newFeed(); + feed.setTitle("shopping cart"); + feed.setSubtitle("Total : " + getTotal()); + + for (Entry entry : cart.values()) { + feed.addEntry(entry); + } + return feed; + } + + public Feed query(String queryString) { + if (queryString.startsWith("name=")) { + String name = queryString.substring(5); + + Feed feed = Abdera.getNewFactory().newFeed(); + feed.setTitle("shopping cart"); + feed.setSubtitle("Total : " + getTotal()); + + for (Entry entry : cart.values()) { + if (entry.getTitle().contains(name)) { + feed.addEntry(entry); + } + } + return feed; + + } else { + return getFeed(); + } + } + + public Entry get(String id) throws NotFoundException { + return cart.get(id); + } + + public Entry post(Entry entry) { + System.out.println("post" + entry); + String id = "cart-" + UUID.randomUUID().toString(); + entry.setId(id); + + entry.addLink(id, "edit"); + entry.addLink(id, "alternate"); + + entry.setUpdated(new Date()); + + cart.put(id, entry); + return entry; + } + + public void put(String id, Entry entry) throws NotFoundException { + entry.setUpdated(new Date()); + cart.put(id, entry); + } + + public void delete(String id) throws NotFoundException { + if (id.equals("")) + cart.clear(); + else + cart.remove(id); + } + + private String getTotal() { + float total = 0; + String currencySymbol = ""; + if (!cart.isEmpty()) { + String item = ((Entry)cart.values().iterator().next()).getContent(); + // Select first symbol after dash. + currencySymbol = item.substring(item.indexOf("-") + 2, item.indexOf("-") + 3); + } + for (Entry entry : cart.values()) { + String item = entry.getContent(); + + int index = item.length()-1; + char digit; + while ((digit = item.charAt(index)) == '.' || Character.isDigit(digit)) { + index--; + } + + total += Float.valueOf(item.substring(index)); + } + return currencySymbol + String.valueOf(total); + } +} diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/store.html b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/store.html new file mode 100644 index 0000000000..95b0d10a15 --- /dev/null +++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/store.html @@ -0,0 +1,127 @@ + + + +Store + + + + + + + + + +

Store

+
+

Catalog

+
+
+
+ +
+ +
+ +

Your Shopping Cart

+
+
+
+
+
+ + + (feed) +
+
+ + diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/storeJS.html b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/storeJS.html new file mode 100644 index 0000000000..2e3d76d9a3 --- /dev/null +++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/storeJS.html @@ -0,0 +1,152 @@ + + + +Store + + + + + + + + + + +

Store

+
+

Catalog

+
+
+
+ +
+ +
+ +

Your Shopping Cart

+
+
+
+
+
+ + + (feed) +
+
+ + diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/unitTests.html b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/unitTests.html new file mode 100644 index 0000000000..352dd85508 --- /dev/null +++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/content/unitTests.html @@ -0,0 +1,250 @@ + + + +Atom JavaScript Client Unit Tests + + + + + + + + +

Atom JavaScript Client Unit Tests

+

This document tests the serialization and deserialization of the Atom JavaScript client. +

Model to XML Tests

+
+
+
+
+
+
+
+
+
+
+
+

Results

+ + + + diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widget.composite b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widget.composite new file mode 100644 index 0000000000..f23d6a20f5 --- /dev/null +++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widget.composite @@ -0,0 +1,54 @@ + + + + + + + en + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widgetJS.composite b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widgetJS.composite new file mode 100644 index 0000000000..e44a56e520 --- /dev/null +++ b/branches/sca-java-1.x/modules/implementation-widget-runtime-tuscany/src/test/resources/widgetJS.composite @@ -0,0 +1,58 @@ + + + + + + + + en + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime/pom.xml b/branches/sca-java-1.x/modules/implementation-widget-runtime/pom.xml index b90c156183..dd2d082277 100644 --- a/branches/sca-java-1.x/modules/implementation-widget-runtime/pom.xml +++ b/branches/sca-java-1.x/modules/implementation-widget-runtime/pom.xml @@ -54,27 +54,6 @@ 1.5-SNAPSHOT
- - org.apache.tuscany.sca - tuscany-binding-http-runtime - 1.5-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-binding-atom-abdera - 1.5-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-binding-jsonrpc-runtime - 1.5-SNAPSHOT - test - - javax.servlet servlet-api @@ -82,21 +61,6 @@ provided - - - org.apache.tuscany.sca - tuscany-host-embedded - 1.5-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-jetty - 1.5-SNAPSHOT - test - - junit junit diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationTestCase.java b/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationTestCase.java deleted file mode 100644 index 3b5c6f89b2..0000000000 --- a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationTestCase.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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 org.apache.tuscany.sca.implementation.widget; - -import java.net.Socket; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - * @version $Rev$ $Date$ - */ -public class WidgetImplementationTestCase extends TestCase { - - private SCADomain scaDomain; - - @Override - protected void setUp() throws Exception { - scaDomain = SCADomain.newInstance("widget.composite"); - } - - @Override - protected void tearDown() throws Exception { - scaDomain.close(); - } - - public void testPing() throws Exception { - new Socket("127.0.0.1", 8085); - } - -} diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/store/Catalog.java b/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/store/Catalog.java deleted file mode 100644 index 370474f29f..0000000000 --- a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/store/Catalog.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * 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 store; - -import org.osoa.sca.annotations.Remotable; - -/** - * Interface for the Catalog Service. - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface Catalog { - String[] get(); -} diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/store/CatalogImpl.java b/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/store/CatalogImpl.java deleted file mode 100644 index bed053eeee..0000000000 --- a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/store/CatalogImpl.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * 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 store; - -import java.util.ArrayList; -import java.util.List; - -import org.osoa.sca.annotations.Init; - -/** - * Implementation of the Catalog Service. - * - * @version $Rev$ $Date$ - */ -public class CatalogImpl implements Catalog { - private List catalog = new ArrayList(); - - @Init - public void init() { - catalog.add("Apple - $ 2.99"); - catalog.add("Orange - $ 3.55"); - catalog.add("Pear - $ 1.55"); - } - - public String[] get() { - String[] catalogArray = new String[catalog.size()]; - catalog.toArray(catalogArray); - return catalogArray; - } -} diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/store/ShoppingCartImpl.java b/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/store/ShoppingCartImpl.java deleted file mode 100644 index 37e8d0161a..0000000000 --- a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/java/store/ShoppingCartImpl.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * 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 store; - -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -import org.apache.abdera.Abdera; -import org.apache.abdera.model.Entry; -import org.apache.abdera.model.Feed; -import org.apache.tuscany.sca.binding.atom.collection.Collection; -import org.apache.tuscany.sca.binding.atom.collection.NotFoundException; - -/** - * Implementation of a Shopping Cart. - * - * @version $Rev$ $Date$ - */ -public class ShoppingCartImpl implements Collection { - - private static Map cart = new HashMap(); - - public Feed getFeed() { - Feed feed = Abdera.getNewFactory().newFeed(); - feed.setTitle("shopping cart"); - feed.setSubtitle("Total : " + getTotal()); - - for (Entry entry : cart.values()) { - feed.addEntry(entry); - } - return feed; - } - - public Feed query(String queryString) { - if (queryString.startsWith("name=")) { - String name = queryString.substring(5); - - Feed feed = Abdera.getNewFactory().newFeed(); - feed.setTitle("shopping cart"); - feed.setSubtitle("Total : " + getTotal()); - - for (Entry entry : cart.values()) { - if (entry.getTitle().contains(name)) { - feed.addEntry(entry); - } - } - return feed; - - } else { - return getFeed(); - } - } - - public Entry get(String id) throws NotFoundException { - return cart.get(id); - } - - public Entry post(Entry entry) { - System.out.println("post" + entry); - String id = "cart-" + UUID.randomUUID().toString(); - entry.setId(id); - - entry.addLink(id, "edit"); - entry.addLink(id, "alternate"); - - entry.setUpdated(new Date()); - - cart.put(id, entry); - return entry; - } - - public void put(String id, Entry entry) throws NotFoundException { - entry.setUpdated(new Date()); - cart.put(id, entry); - } - - public void delete(String id) throws NotFoundException { - if (id.equals("")) - cart.clear(); - else - cart.remove(id); - } - - private String getTotal() { - float total = 0; - String currencySymbol = ""; - if (!cart.isEmpty()) { - String item = ((Entry)cart.values().iterator().next()).getContent(); - // Select first symbol after dash. - currencySymbol = item.substring(item.indexOf("-") + 2, item.indexOf("-") + 3); - } - for (Entry entry : cart.values()) { - String item = entry.getContent(); - - int index = item.length()-1; - char digit; - while ((digit = item.charAt(index)) == '.' || Character.isDigit(digit)) { - index--; - } - - total += Float.valueOf(item.substring(index)); - } - return currencySymbol + String.valueOf(total); - } -} diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/content/store.html b/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/content/store.html deleted file mode 100644 index 95b0d10a15..0000000000 --- a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/content/store.html +++ /dev/null @@ -1,127 +0,0 @@ - - - -Store - - - - - - - - - -

Store

-
-

Catalog

-
-
-
- -
- -
- -

Your Shopping Cart

-
-
-
-
-
- - - (feed) -
-
- - diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/content/storeJS.html b/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/content/storeJS.html deleted file mode 100644 index 2e3d76d9a3..0000000000 --- a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/content/storeJS.html +++ /dev/null @@ -1,152 +0,0 @@ - - - -Store - - - - - - - - - - -

Store

-
-

Catalog

-
-
-
- -
- -
- -

Your Shopping Cart

-
-
-
-
-
- - - (feed) -
-
- - diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/content/unitTests.html b/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/content/unitTests.html deleted file mode 100644 index 352dd85508..0000000000 --- a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/content/unitTests.html +++ /dev/null @@ -1,250 +0,0 @@ - - - -Atom JavaScript Client Unit Tests - - - - - - - - -

Atom JavaScript Client Unit Tests

-

This document tests the serialization and deserialization of the Atom JavaScript client. -

Model to XML Tests

-
-
-
-
-
-
-
-
-
-
-
-

Results

- - - - diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/widget.composite b/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/widget.composite deleted file mode 100644 index f23d6a20f5..0000000000 --- a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/widget.composite +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - en - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/widgetJS.composite b/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/widgetJS.composite deleted file mode 100644 index e44a56e520..0000000000 --- a/branches/sca-java-1.x/modules/implementation-widget-runtime/src/test/resources/widgetJS.composite +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - en - - - - - - - - - - - - - - - - - - - - - - - - - - -- cgit v1.2.3