diff options
Diffstat (limited to 'sca-java-2.x/tags/2.0-Beta3-RC2/samples')
196 files changed, 0 insertions, 10131 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/README deleted file mode 100644 index 49e0b2893f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/README +++ /dev/null @@ -1,4 +0,0 @@ -Apache Tuscany Samples
-======================
-
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/README deleted file mode 100644 index d31e4c59b7..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/README +++ /dev/null @@ -1,28 +0,0 @@ -Store Sample -====================================== - -This is a sample store scenario that is used as a getting started guide -for Tuscany SCA. For detailed information, please see: - -http://tuscany.apache.org/getting-started-with-tuscany.html - -or - -http://tuscany.apache.org/getting-started-with-tuscany-using-tuscany-eclipse-plugin.html - - -Building And Running The Sample Using Ant ------------------------------------------ -With the binary distribution the sample can be built using Ant as follows: - -cd store -ant compile - -and then, to run: - -ant run - -Once the store application is running use your browser to visit the following -URL: - -http://localhost:8080/store diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/build.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/build.xml deleted file mode 100644 index e28e7c87be..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/build.xml +++ /dev/null @@ -1,82 +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. ---> -<project name="store" default="compile"> - <property name="tuscany.home" value="../../.."/> - <property name="test.class" value="launch.Launch" /> - <property name="test.jar" value="sample-store.jar" /> - - <import file="${tuscany.home}/features/tuscany-base-runtime-pom/build-path.xml"/> - - <target name="init"> - <mkdir dir="target/classes"/> - </target> - - <target name="compile" depends="init"> - <javac srcdir="src/main/java" - destdir="target/classes" - debug="on" - source="1.5" - target="1.5"> - <classpath> - <fileset dir="${tuscany.home}/lib"> - <include name="tuscany-base-*.jar"/> - </fileset> - </classpath> - </javac> - <copy todir="target/classes"> - <fileset dir="src/main/resources"/> - </copy> - <jar destfile="target/${test.jar}" basedir="target/classes"> - <manifest> - <attribute name="Main-Class" value="${test.class}" /> - </manifest> - </jar> - </target> - - <target name="run-classes"> - <java classname="${test.class}" - fork="true"> - <classpath> - <pathelement path="target/classes"/> - <fileset dir="${tuscany.home}/features"> - <include name="tuscany-sca-manifest.jar"/> - </fileset> - </classpath> - </java> - </target> - - <target name="run"> - <java classname="${test.class}" - fork="true"> - <classpath> - <pathelement path="target/${test.jar}"/> - <fileset dir="${tuscany.home}/features"> - <include name="tuscany-sca-manifest.jar"/> - </fileset> - </classpath> - </java> - </target> - - <target name="clean"> - <delete quiet="true" includeemptydirs="true"> - <fileset dir="target"/> - </delete> - </target> - -</project> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/pom.xml deleted file mode 100644 index 6f10202e93..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/pom.xml +++ /dev/null @@ -1,115 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca.samples</groupId> - <artifactId>tuscany-samples</artifactId> - <version>2.0-Beta3</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>sample-store</artifactId> - <name>Apache Tuscany SCA Sample Getting Started Online Store</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-base-runtime-pom</artifactId> - <version>2.0-Beta3</version> - <type>pom</type> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-data-api</artifactId> - <version>2.0-Beta3</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-binding-atom-runtime</artifactId> - <version>2.0-Beta3</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-binding-http-runtime</artifactId> - <version>2.0-Beta3</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-binding-jsonrpc-runtime</artifactId> - <version>2.0-Beta3</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-widget-runtime</artifactId> - <version>2.0-Beta3</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-widget-runtime-dojo</artifactId> - <version>2.0-Beta3</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-web-javascript-dojo</artifactId> - <version>2.0-Beta3</version> - </dependency> - <dependency> - <groupId>org.mortbay.jetty</groupId> - <artifactId>jetty</artifactId> - <version>6.1.19</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>net.sourceforge.htmlunit</groupId> - <artifactId>htmlunit</artifactId> - <version>2.6</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.8.1</version> - <scope>test</scope> - </dependency> - </dependencies> - - <build> - <finalName>${project.artifactId}</finalName> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <version>1.1.1</version> - <executions> - <execution> - <goals> - <goal>java</goal> - </goals> - </execution> - </executions> - <configuration> - <classpathScope>test</classpathScope> - <mainClass>store.StoreTestCase</mainClass> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/launch/Launch.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/launch/Launch.java deleted file mode 100644 index 8e4b5839e4..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/launch/Launch.java +++ /dev/null @@ -1,39 +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 launch; - -import org.apache.tuscany.sca.node.Contribution; -import org.apache.tuscany.sca.node.ContributionLocationHelper; -import org.apache.tuscany.sca.node.Node; -import org.apache.tuscany.sca.node.NodeFactory; - -public class Launch { - public static void main(String[] args) throws Exception { - System.out.println("Starting ..."); - String contribution = ContributionLocationHelper.getContributionLocation(Launch.class); - Node node = NodeFactory.newInstance().createNode("store.composite", new Contribution("test", contribution)); - node.start(); - System.out.println("store.composite ready for big business !!!"); - System.in.read(); - System.out.println("Stopping ..."); - node.stop(); - System.out.println(); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/Cart.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/Cart.java deleted file mode 100644 index 3fb5439bc3..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/Cart.java +++ /dev/null @@ -1,28 +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 services; - -import org.apache.tuscany.sca.data.collection.Collection; -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface Cart extends Collection<String, Item> { - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/Catalog.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/Catalog.java deleted file mode 100644 index b5e504fe11..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/Catalog.java +++ /dev/null @@ -1,27 +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 services; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface Catalog { - Item[] get(); -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/CurrencyConverter.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/CurrencyConverter.java deleted file mode 100644 index a064f3dd69..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/CurrencyConverter.java +++ /dev/null @@ -1,29 +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 services; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface CurrencyConverter { - public double getConversion(String fromCurrenycCode, String toCurrencyCode, double amount); - - public String getCurrencySymbol(String currencyCode); -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/CurrencyConverterImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/CurrencyConverterImpl.java deleted file mode 100644 index c354aed447..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/CurrencyConverterImpl.java +++ /dev/null @@ -1,38 +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 services; - -public class CurrencyConverterImpl implements CurrencyConverter { - public double getConversion(String fromCurrencyCode, String toCurrencyCode, double amount) { - if (toCurrencyCode.equals("USD")) - return amount; - else if (toCurrencyCode.equals("EUR")) - return ((double)Math.round(amount * 0.7256 * 100)) /100; - return 0; - } - - public String getCurrencySymbol(String currencyCode) { - if (currencyCode.equals("USD")) - return "$"; - else if (currencyCode.equals("EUR")) - return "E"; //"€"; - return "?"; - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/FruitsCatalogImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/FruitsCatalogImpl.java deleted file mode 100644 index d132a24b00..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/FruitsCatalogImpl.java +++ /dev/null @@ -1,52 +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 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; - -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; - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/Item.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/Item.java deleted file mode 100644 index 0a9dcb2ffc..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/Item.java +++ /dev/null @@ -1,54 +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 services; - -public class Item { - 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; - } - - public String toString() { - return "Item name: " + name + ", price: " + price; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/ShoppingCartImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/ShoppingCartImpl.java deleted file mode 100644 index 698614212d..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/ShoppingCartImpl.java +++ /dev/null @@ -1,112 +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 services; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -import org.apache.tuscany.sca.data.collection.Entry; -import org.apache.tuscany.sca.data.collection.NotFoundException; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Scope; - -@Scope("COMPOSITE") -public class ShoppingCartImpl implements Cart, Total { - - private Map<String, Item> cart; - - @Init - public void init() { - cart = new HashMap<String, Item>(); - } - - 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 { - Item item = cart.get(key); - if (item == null) { - throw new NotFoundException(key); - } else { - return item; - } - } - - public String post(String key, Item item) { - if (key == null) { - key ="cart-" + UUID.randomUUID().toString(); - } - cart.put(key, item); - return key; - } - - public void put(String key, Item item) throws NotFoundException { - if (!cart.containsKey(key)) { - throw new NotFoundException(key); - } - cart.put(key, item); - } - - public void delete(String key) throws NotFoundException { - if (key == null || key.equals("")) { - cart.clear(); - } else { - Item item = cart.remove(key); - if (item == null) - throw new NotFoundException(key); - } - } - - public Entry<String, Item>[] query(String queryString) { - List<Entry<String, Item>> entries = new ArrayList<Entry<String,Item>>(); - if (queryString.startsWith("name=")) { - String name = queryString.substring(5); - for (Map.Entry<String, Item> e: cart.entrySet()) { - Item item = e.getValue(); - if (item.getName().equals(name)) { - entries.add(new Entry<String, Item>(e.getKey(), e.getValue())); - } - } - } - return entries.toArray(new Entry[entries.size()]); - } - - public String getTotal() { - double total = 0; - String currencySymbol = ""; - if (!cart.isEmpty()) { - Item item = cart.values().iterator().next(); - currencySymbol = item.getPrice().substring(0, 1); - } - for (Item item : cart.values()) { - total += Double.valueOf(item.getPrice().substring(1)); - } - return currencySymbol + String.valueOf(total); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/Total.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/Total.java deleted file mode 100644 index b77cc1c7ac..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/java/services/Total.java +++ /dev/null @@ -1,29 +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 services; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface Total { - - String getTotal(); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/resources/store.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/resources/store.composite deleted file mode 100644 index 9c3b79c508..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/resources/store.composite +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://store" - name="store"> - - <component name="Store"> - <tuscany:implementation.widget location="uiservices/store.html"/> - <service name="Widget"> - <tuscany:binding.http uri="/store"/> - </service> - <reference name="catalog" target="Catalog"/> - <reference name="shoppingCart" target="ShoppingCart/Cart"/> - <reference name="shoppingTotal" target="ShoppingCart/Total"/> - </component> - - <component name="Catalog"> - <implementation.java class="services.FruitsCatalogImpl"/> - <property name="currencyCode">USD</property> - <service name="Catalog"> - <tuscany:binding.jsonrpc uri="/Catalog"/> - </service> - <reference name="currencyConverter" target="CurrencyConverter"/> - </component> - - <component name="ShoppingCart"> - <implementation.java class="services.ShoppingCartImpl"/> - <service name="Cart"> - <tuscany:binding.atom uri="/ShoppingCart/Cart"/> - </service> - <service name="Total"> - <tuscany:binding.jsonrpc uri="/ShoppingCart/Total"/> - </service> - </component> - - <component name="CurrencyConverter"> - <implementation.java class="services.CurrencyConverterImpl"/> - </component> - -</composite> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/resources/uiservices/store.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/resources/uiservices/store.html deleted file mode 100644 index be3efea327..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/main/resources/uiservices/store.html +++ /dev/null @@ -1,162 +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. ---> -<html> -<head> -<title>Store</title> - -<script type="text/javascript" src="../dojo/dojo.js"></script> -<script type="text/javascript" src="store.js"></script> - -<script language="JavaScript"> - - //@Reference - var catalog = new tuscany.sca.Reference("catalog"); - - //@Reference - var shoppingCart = new tuscany.sca.Reference("shoppingCart"); - - //@Reference - var shoppingTotal = new tuscany.sca.Reference("shoppingTotal"); - - var catalogItems; - - function catalog_getResponse(items,exception) { - if(exception){ - alert(exception.message); - return; - } - 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="' + - item + '">' + item + ' <br>'; - } - document.getElementById('catalog').innerHTML=catalog; - catalogItems = items; - } - - function shoppingCart_getResponse(feed) { - if (feed != null) { - var entries = feed.getElementsByTagName("entry"); - var list = ""; - for (var i=0; i<entries.length; i++) { - 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) { - try { - shoppingTotal.getTotal().addCallback(shoppingTotal_getTotalResponse); - } - catch(e){ - alert(e); - } - } - } - } - - function shoppingTotal_getTotalResponse(total,exception) { - if(exception) { - alert(exception.message); - return; - } - document.getElementById('total').innerHTML = total; - } - - function shoppingCart_postResponse(entry) { - shoppingCart.get("").addCallback(shoppingCart_getResponse); - } - - function addToCart() { - var items = document.catalogForm.items; - 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>item</title><content type="text/xml">' + - '<Item xmlns="http://services/">' + - '<name xmlns="">' + catalogItems[i].name + '</name>' + '<price xmlns="">' + catalogItems[i].price + '</price>' + - '</Item>' + '</content></entry>'; - shoppingCart.post(entry).addCallback(shoppingCart_postResponse); - items[i].checked = false; - } - } - } - function checkoutCart() { - document.getElementById('store').innerHTML='<h2>' + - 'Thanks for Shopping With Us!</h2>'+ - '<h2>Your Order</h2>'+ - '<form name="orderForm">'+ - document.getElementById('shoppingCart').innerHTML+ - '<br>'+ - document.getElementById('total').innerHTML+ - '<br>'+ - '<br>'+ - '<input type="submit" value="Continue Shopping">'+ - '</form>'; - shoppingCart.del(""); - } - function deleteCart() { - shoppingCart.del(""); - document.getElementById('shoppingCart').innerHTML = ""; - document.getElementById('total').innerHTML = ""; - } - - function init() { - try { - catalog.get().addCallback(catalog_getResponse); - shoppingCart.get("").addCallback(shoppingCart_getResponse); - } - catch(e){ - alert(e); - } - } - -</script> - -</head> - -<body onload="init()"> -<h1>Store</h1> - <div id="store"> - <h2>Catalog</h2> - <form name="catalogForm"> - <div id="catalog" ></div> - <br> - <input type="button" onClick="addToCart()" value="Add to Cart"> - </form> - - <br> - - <h2>Your Shopping Cart</h2> - <form name="shoppingCartForm"> - <div id="shoppingCart"></div> - <br> - <div id="total"></div> - <br> - <input type="button" onClick="checkoutCart()" value="Checkout"> - <input type="button" onClick="deleteCart()" value="Empty"> - <a href="../ShoppingCart/Cart/">(feed)</a> - </form> - </div> -</body> -</html> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/test/java/client/Shopper.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/test/java/client/Shopper.java deleted file mode 100644 index 4e2fa63493..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/test/java/client/Shopper.java +++ /dev/null @@ -1,29 +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 client; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface Shopper { - - String shop(String itemName, int quantity); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/test/java/client/ShopperImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/test/java/client/ShopperImpl.java deleted file mode 100644 index 05b1800d4f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/test/java/client/ShopperImpl.java +++ /dev/null @@ -1,64 +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 client; - -import org.apache.tuscany.sca.data.collection.NotFoundException; -import org.oasisopen.sca.annotation.Reference; - -import services.Cart; -import services.Catalog; -import services.Item; -import services.Total; - -public class ShopperImpl implements Shopper { - - @Reference - public Catalog catalog; - - @Reference - public Cart shoppingCart; - - @Reference - public Total shoppingTotal; - - public String shop(String itemName, int quantity) { - - Item[] items = catalog.get(); - for (Item item: items) { - if (item.getName().startsWith(itemName)) { - - try { - shoppingCart.delete(""); - } catch (NotFoundException e) { - // ignore - } - - for (int i = 0; i < quantity; i++) { - shoppingCart.post("item" + i, item); - } - - return shoppingTotal.getTotal(); - } - } - - return ""; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/test/java/store/StoreTestCase.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/test/java/store/StoreTestCase.java deleted file mode 100644 index 7fa866d1c6..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/test/java/store/StoreTestCase.java +++ /dev/null @@ -1,121 +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.io.IOException; -import java.net.MalformedURLException; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.node.Contribution; -import org.apache.tuscany.sca.node.ContributionLocationHelper; -import org.apache.tuscany.sca.node.Node; -import org.apache.tuscany.sca.node.NodeFactory; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -import client.Shopper; - -import com.gargoylesoftware.htmlunit.BrowserVersion; -import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException; -import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController; -import com.gargoylesoftware.htmlunit.WebClient; -import com.gargoylesoftware.htmlunit.html.HtmlCheckBoxInput; -import com.gargoylesoftware.htmlunit.html.HtmlForm; -import com.gargoylesoftware.htmlunit.html.HtmlPage; - - -/** - * Test the store-merger. - * - * @version $Rev$ $Date$ - */ -public class StoreTestCase { - private static Node nodeStore; - - public static void main(String[] args) throws Exception { - setUp(); - testWaitForInput(); - tearDown(); - } - - @BeforeClass - public static void setUp() throws Exception { - String storeLocation = ContributionLocationHelper.getContributionLocation("store.composite"); - String storeClientLocation = ContributionLocationHelper.getContributionLocation("store-client.composite"); - - nodeStore = NodeFactory.newInstance().createNode(new Contribution("store", storeLocation), new Contribution("storeClient", storeClientLocation)); - nodeStore.start(); - } - - @AfterClass - public static void tearDown() throws Exception { - nodeStore.stop(); - } - - public static void testWaitForInput() { - try { - System.out.println("press enter to continue)"); - System.in.read(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Test - public void testShop() { - Shopper shopper = nodeStore.getService(Shopper.class, "StoreClient"); - - String total = shopper.shop("Orange", 5); - System.out.println("Total: " + total); - - Assert.assertEquals("$17.75", total); - - } - - @Test - public void testStoreWidget() throws FailingHttpStatusCodeException, MalformedURLException, IOException { - WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3); - webClient.setRedirectEnabled(true); - webClient.setThrowExceptionOnScriptError(false); - //webClient.waitForBackgroundJavaScript(100000); - //webClient.waitForBackgroundJavaScriptStartingBefore(100000); - webClient.setAjaxController(new NicelyResynchronizingAjaxController()); - - HtmlPage page = (HtmlPage) webClient.getPage("http://localhost:8080/store/store.html"); - - HtmlForm form = (HtmlForm) page.getFormByName("catalogForm"); - - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - } - - HtmlCheckBoxInput catalogItems = (HtmlCheckBoxInput) form.getInputByName("items"); - - System.out.println(">>>" + catalogItems.getAttribute("value")); - Assert.assertEquals("Apple - $2.99", catalogItems.getAttribute("value")); - - webClient.closeAllWindows(); - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/test/resources/store-client.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/test/resources/store-client.composite deleted file mode 100644 index c9abe8e996..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/src/test/resources/store-client.composite +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://store" - name="store-client"> - - <component name="StoreClient"> - <implementation.java class="client.ShopperImpl"/> - <reference name="catalog"> - <tuscany:binding.jsonrpc uri="http://localhost:8080/Catalog"/> - </reference> - <reference name="shoppingCart"> - <tuscany:binding.atom uri="http://localhost:8080/ShoppingCart/Cart"/> - </reference> - <reference name="shoppingTotal"> - <tuscany:binding.jsonrpc uri="http://localhost:8080/ShoppingCart/Total"/> - </reference> - </component> - -</composite> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/store.png b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/store.png Binary files differdeleted file mode 100644 index da413edeee..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/store.png +++ /dev/null diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/store.svg b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/store.svg deleted file mode 100644 index 74f8ecd36d..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/applications/store/store.svg +++ /dev/null @@ -1,304 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - * 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. ---> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="1052.3622" - height="744.09448" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.45.1" - sodipodi:docbase="C:\simon\tuscany\java-head\sca\samples\store" - sodipodi:docname="store.svg" - version="1.0" - inkscape:output_extension="org.inkscape.output.svg.inkscape" - inkscape:export-filename="C:\simon\tuscany\java-head\sca\samples\store\store.png" - inkscape:export-xdpi="52.84" - inkscape:export-ydpi="52.84"> - <defs - id="defs4" /> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - gridtolerance="10000" - guidetolerance="10" - objecttolerance="10" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="1.4" - inkscape:cx="538.06165" - inkscape:cy="341.69129" - inkscape:document-units="px" - inkscape:current-layer="g2997" - inkscape:window-width="1466" - inkscape:window-height="831" - inkscape:window-x="117" - inkscape:window-y="80" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <g - id="g2997"> - <rect - rx="14.335117" - ry="17.743465" - y="197.1973" - x="447.35422" - height="419.39099" - width="464.23727" - id="rect2067" - style="opacity:1;fill:#90baf4;fill-opacity:1;stroke:#060000;stroke-width:2.28840661;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> - <flowRoot - id="flowRoot2954" - xml:space="preserve" - transform="translate(189.90868,1.0101522)"><flowRegion - id="flowRegion2956"><rect - y="212.66591" - x="281.42856" - height="61.42857" - width="170" - id="rect2958" /></flowRegion><flowPara - id="flowPara2171">store</flowPara></flowRoot> <rect - style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2.30182266;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect2175" - width="118.21779" - height="111.27543" - x="491.60019" - y="247.75989" - rx="7.1507306" - ry="9.2311935" /> - <flowRoot - xml:space="preserve" - id="flowRoot2177" - transform="translate(223.8585,41.670449)"><flowRegion - id="flowRegion2179"><rect - id="rect2181" - width="170" - height="61.42857" - x="281.42856" - y="212.66591" /></flowRegion><flowPara - id="flowPara2183">ufs</flowPara></flowRoot> <path - style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 474.29877,279.45598 L 507.63381,279.45598 L 513.69472,292.58796 L 506.62366,304.7098 L 474.29877,304.7098 L 481.87492,292.58796 L 474.29877,279.45598 z " - id="path2187" /> - <rect - style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect2191" - width="115.66247" - height="85.862968" - x="493.07068" - y="503.27759" - rx="6.9961648" - ry="7.1230249" /> - <flowRoot - xml:space="preserve" - id="flowRoot2193" - transform="translate(225.47992,297.33908)"><flowRegion - id="flowRegion2195"><rect - id="rect2197" - width="170" - height="61.42857" - x="281.42856" - y="212.66591" /></flowRegion><flowPara - id="flowPara2199">ShoppingCart</flowPara></flowRoot> <path - style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 475.92019,535.12461 L 509.25523,535.12461 L 515.31614,548.25659 L 508.24508,560.37843 L 475.92019,560.37843 L 483.49634,548.25659 L 475.92019,535.12461 z " - id="path2203" /> - <rect - style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect2207" - width="115.66247" - height="85.862968" - x="761.44415" - y="391.31604" - rx="6.9961648" - ry="7.1230249" /> - <flowRoot - xml:space="preserve" - id="flowRoot2209" - transform="translate(487.8534,185.37751)"><flowRegion - id="flowRegion2211"><rect - id="rect2213" - width="170" - height="61.42857" - x="281.42856" - y="212.66591" /></flowRegion><flowPara - id="flowPara2215">CurrencyConverter</flowPara></flowRoot> <path - style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 744.29367,423.16304 L 777.62871,423.16304 L 783.68962,436.29502 L 776.61856,448.41686 L 744.29367,448.41686 L 751.86982,436.29502 L 744.29367,423.16304 z " - id="path2219" /> - <rect - style="opacity:1;fill:#0064ff;fill-opacity:1;stroke:#000000;stroke-width:0.9612025;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect2223" - width="104.08451" - height="113.17588" - x="138.37151" - y="350.1156" - rx="0" - ry="0.048917599" /> - <path - style="fill:#1a73fe;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" - d="M 138.21429,462.66591 L 115.35714,479.80877 L 267.85714,479.80877 L 241.78571,463.02305 L 138.21429,462.66591 z " - id="path3197" /> - <rect - style="opacity:1;fill:#f1f4f8;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect3199" - width="92.5" - height="97.14286" - x="143.57143" - y="358.38019" - ry="3.6203461" - rx="3.9285715" /> - <image - y="366.6889" - x="156.24066" - id="image3323" - height="78.571434" - width="58.57143" - sodipodi:absref="C:\simon\tuscany\evangelism\whitepapers\shoppingcart.png" - xlink:href="C:\simon\tuscany\evangelism\whitepapers\shoppingcart.png" /> - <image - y="270.52304" - x="526.42859" - id="image3342" - height="78.571434" - width="58.57143" - sodipodi:absref="C:\simon\tuscany\evangelism\whitepapers\shoppingcart.png" - xlink:href="C:\simon\tuscany\evangelism\whitepapers\shoppingcart.png" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 242.85714,374.80877 C 245.71429,374.80877 345.71429,374.80877 345.71429,374.80877 L 345.71429,291.95162 L 481.42858,291.95162" - id="path3348" - sodipodi:nodetypes="cccc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 210.71429,406.95163 L 345,406.95163 L 345,437.66591 L 481.42857,437.66591" - id="path3350" - sodipodi:nodetypes="cccc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 210.71429,439.09448 L 325.71429,439.09448 L 325.71429,548.3802 L 482.85714,548.3802" - id="path3352" - sodipodi:nodetypes="cccc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 626.42857,436.23734 C 750,437.66591 752.14286,436.23734 752.14286,436.23734" - id="path3354" - sodipodi:nodetypes="cc" /> - <flowRoot - xml:space="preserve" - id="flowRoot3356" - transform="translate(-94.285714,25)"><flowRegion - id="flowRegion3358"><rect - id="rect3360" - width="142.14285" - height="21.428572" - x="655" - y="349.80878" /></flowRegion><flowPara - id="flowPara3362">CurrenyCode</flowPara></flowRoot> <flowRoot - xml:space="preserve" - id="flowRoot3364" - transform="translate(-250.76562,-76.210859)"><flowRegion - id="flowRegion3366"><rect - id="rect3368" - width="142.14285" - height="21.428572" - x="655" - y="349.80878" /></flowRegion><flowPara - id="flowPara3370">HTTP</flowPara></flowRoot> <flowRoot - xml:space="preserve" - id="flowRoot3372" - transform="translate(-273.62277,70.931998)"><flowRegion - id="flowRegion3374"><rect - id="rect3376" - width="142.14285" - height="21.428572" - x="655" - y="349.80878" /></flowRegion><flowPara - id="flowPara3378">JSONRPC</flowPara></flowRoot> <flowRoot - xml:space="preserve" - id="flowRoot3380" - transform="translate(-243.62277,183.07485)"><flowRegion - id="flowRegion3382"><rect - id="rect3384" - width="142.14285" - height="21.428572" - x="655" - y="349.80878" /></flowRegion><flowPara - id="flowPara3386">Atom</flowPara></flowRoot> </g> - <rect - style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect2988" - width="115.66247" - height="85.862968" - x="491.56897" - y="392.70135" - rx="6.9961648" - ry="7.1230249" /> - <flowRoot - xml:space="preserve" - id="flowRoot2966" - transform="translate(223.97819,186.76283)"><flowRegion - id="flowRegion2968"><rect - id="rect2970" - width="170" - height="61.42857" - x="281.42856" - y="212.66591" /></flowRegion><flowPara - id="flowPara2972">Catalog</flowPara></flowRoot> <rect - style="opacity:1;fill:#fff62c;fill-opacity:1;stroke:#060000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect3006" - width="21.718224" - height="20.708065" - x="537.53094" - y="377.04398" - rx="10.859112" - ry="0" /> - <path - style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 474.41846,424.54836 L 507.7535,424.54836 L 513.81441,437.68034 L 506.74335,449.80218 L 474.41846,449.80218 L 481.99461,437.68034 L 474.41846,424.54836 z " - id="path3017" /> - <path - style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 587.6709,422.71008 L 621.00594,422.71008 L 627.06685,435.84206 L 619.99579,447.9639 L 587.6709,447.9639 L 595.24705,435.84206 L 587.6709,422.71008 z " - id="path3019" /> - </g> -</svg> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/getting-started.odt b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/getting-started.odt Binary files differdeleted file mode 100644 index 078cce7478..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/getting-started.odt +++ /dev/null diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/getting-started.pdf b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/getting-started.pdf Binary files differdeleted file mode 100644 index 23f272d0c2..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/getting-started.pdf +++ /dev/null diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/README deleted file mode 100644 index ae2a0101e0..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/README +++ /dev/null @@ -1,22 +0,0 @@ -Tuscany - Getting Started - Helloworld JAX-RS Sample
-----------------------------------------------------
-
-This sample extends the helloworld sample to make the helloworld service available as an HTTP endpoint by using JAX-RS and the Tuscany REST binding.
-
-The changes to the helloworld sample are:
-- update the pom.xml with the additional dependencies
-- add a new Java interface which uses JAX-RS annotations
-- update the composite to use the new interface and binding
-
-As with all the getting-started samples you can run this sample with:
-
- mvn tuscany:run
-
-Then at a web browser enter the following URL:
-
-http://localhost:8080/HelloworldComponent/Helloworld/sayHello?name=world
-
-which should return a page saying:
-
-Hello world
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/pom.xml deleted file mode 100644 index f869929204..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/pom.xml +++ /dev/null @@ -1,120 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0-Beta3</version>
- <relativePath />
- </parent>
- <artifactId>helloworld-jaxrs</artifactId>
- <version>2.0-Beta3</version>
-
- <name>Apache Tuscany SCA Samples Helloworld JAX-RS</name>
-
- <properties>
- <tuscany.version>${project.version}</tuscany.version>
- </properties>
-
- <!-- ASF repositories so sample can be built from SVN without building trunk-->
- <repositories><repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </repository></repositories>
- <pluginRepositories><pluginRepository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </pluginRepository></pluginRepositories>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>${tuscany.version}</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- <version>1.1.1</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime</artifactId>
- <version>${tuscany.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-rest-runtime</artifactId>
- <version>${tuscany.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
- <version>6.1.26</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
-
- <plugins>
-
- <!-- to support running the composite with mvn tuscany:run -->
- <plugin>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-maven-plugin</artifactId>
- <version>${tuscany.version}</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-rest-runtime</artifactId>
- <version>${tuscany.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
-
- </build>
-
-</project>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/java/sample/Helloworld.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/java/sample/Helloworld.java deleted file mode 100644 index f4e8c50448..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/java/sample/Helloworld.java +++ /dev/null @@ -1,28 +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 sample;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-@Remotable
-public interface Helloworld {
-
- String sayHello(String name);
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/java/sample/HelloworldImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/java/sample/HelloworldImpl.java deleted file mode 100644 index 089b1a4290..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/java/sample/HelloworldImpl.java +++ /dev/null @@ -1,27 +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 sample;
-
-public class HelloworldImpl implements Helloworld {
-
- public String sayHello(String name) {
- return "Hello " + name;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/java/sample/JaxrsHelloworld.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/java/sample/JaxrsHelloworld.java deleted file mode 100644 index a944736144..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/java/sample/JaxrsHelloworld.java +++ /dev/null @@ -1,36 +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 sample;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-@Remotable
-public interface JaxrsHelloworld {
-
- @GET
- @Path("sayHello")
- @Produces(MediaType.TEXT_PLAIN)
- String sayHello(@QueryParam("name") String name);
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/resources/META-INF/sca-contribution.xml deleted file mode 100644 index 95c32fb5bf..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/resources/META-INF/sca-contribution.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:sample="http://sample">
-
- <deployable composite="sample:helloworld-contribution" />
-
-</contribution>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/resources/helloworld.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/resources/helloworld.composite deleted file mode 100644 index 88df3636c3..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/main/resources/helloworld.composite +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
- targetNamespace="http://sample"
- name="helloworld-contribution">
-
- <component name="HelloworldComponent">
- <implementation.java class="sample.HelloworldImpl"/>
- <service name="Helloworld">
- <interface.java interface="sample.JaxrsHelloworld"/>
- <tuscany:binding.rest/>
- </service>
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/test/java/sample/HelloworldTestCase.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/test/java/sample/HelloworldTestCase.java deleted file mode 100644 index 93a9a0e719..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jaxrs/src/test/java/sample/HelloworldTestCase.java +++ /dev/null @@ -1,71 +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 sample;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-
-import org.apache.tuscany.sca.Node;
-import org.apache.tuscany.sca.TuscanyRuntime;
-import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
-import org.apache.tuscany.sca.monitor.ValidationException;
-import org.apache.tuscany.sca.runtime.ActivationException;
-import org.junit.Assert;
-import org.junit.Test;
-import org.oasisopen.sca.NoSuchServiceException;
-
-public class HelloworldTestCase {
-
- @Test
- public void testSayHello() throws NoSuchServiceException, IOException, ContributionReadException, ActivationException, ValidationException {
-
- // Run the SCA composite in a Tuscany runtime
- Node node = TuscanyRuntime.runComposite("helloworld.composite", "target/classes");
- try {
-
- // test that has exposed an HTTP endpoint that works as expected
- URL url = new URL("http://localhost:8080/HelloworldComponent/Helloworld/sayHello?name=Amelia");
- Assert.assertEquals("Hello Amelia", read(url.openStream()));
-
- } finally {
- // Stop the Tuscany runtime Node
- node.stop();
- }
- }
-
- private static String read(InputStream is) throws IOException {
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new InputStreamReader(is));
- StringBuffer sb = new StringBuffer();
- String str;
- while ((str = reader.readLine()) != null) {
- sb.append(str);
- }
- return sb.toString();
- } finally {
- if (reader != null) {
- reader.close();
- }
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/README deleted file mode 100644 index 5a99f91036..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/README +++ /dev/null @@ -1,23 +0,0 @@ -Tuscany - Getting Started - Helloworld JSONP Sample
----------------------------------------------------
-
-This sample extends the helloworld sample to make the helloworld service available as an HTTP endpoint using JSONP.
-JSONP is a protocol supported by many Web clients that enables client requests to a server in a different domain.
-
-The changes to the helloworld sample are:
-- update the pom.xml with the additional dependencies
-- update the composite to use the JSONP binding
-
-As with all the getting-started samples you can run this sample with:
-
- mvn tuscany:run
-
-Then at a web browser enter the following URL:
-
-http://localhost:8080/HelloworldComponent/Helloworld/sayHello?name=world&callback=respFunc
-
-which should return a page saying:
-
-respFunc("Hello world");
-
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/pom.xml deleted file mode 100644 index 6b9a2251bc..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/pom.xml +++ /dev/null @@ -1,113 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0-Beta3</version>
- <relativePath />
- </parent>
-
- <artifactId>helloworld-jsonp</artifactId>
- <version>2.0-Beta3</version>
-
- <name>Apache Tuscany SCA Samples Helloworld JSONP</name>
-
- <properties>
- <tuscany.version>${project.version}</tuscany.version>
- </properties>
-
- <!-- ASF repositories so sample can be built from SVN without building trunk-->
- <repositories><repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </repository></repositories>
- <pluginRepositories><pluginRepository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </pluginRepository></pluginRepositories>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>${tuscany.version}</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime</artifactId>
- <version>${tuscany.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-jsonp-runtime</artifactId>
- <version>${tuscany.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
- <version>6.1.26</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
-
- <plugins>
-
- <!-- to support running the composite with mvn tuscany:run -->
- <plugin>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-maven-plugin</artifactId>
- <version>${tuscany.version}</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-jsonp-runtime</artifactId>
- <version>${tuscany.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
-
- </build>
-
-</project>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/main/java/sample/Helloworld.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/main/java/sample/Helloworld.java deleted file mode 100644 index f4e8c50448..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/main/java/sample/Helloworld.java +++ /dev/null @@ -1,28 +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 sample;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-@Remotable
-public interface Helloworld {
-
- String sayHello(String name);
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/main/java/sample/HelloworldImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/main/java/sample/HelloworldImpl.java deleted file mode 100644 index 089b1a4290..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/main/java/sample/HelloworldImpl.java +++ /dev/null @@ -1,27 +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 sample;
-
-public class HelloworldImpl implements Helloworld {
-
- public String sayHello(String name) {
- return "Hello " + name;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/main/resources/META-INF/sca-contribution.xml deleted file mode 100644 index 95c32fb5bf..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/main/resources/META-INF/sca-contribution.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:sample="http://sample">
-
- <deployable composite="sample:helloworld-contribution" />
-
-</contribution>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/main/resources/helloworld.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/main/resources/helloworld.composite deleted file mode 100644 index 4c33fd2b70..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/main/resources/helloworld.composite +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
- targetNamespace="http://sample"
- name="helloworld-contribution">
-
- <component name="HelloworldComponent">
- <implementation.java class="sample.HelloworldImpl"/>
- <service name="Helloworld">
- <tuscany:binding.jsonp/>
- </service>
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/test/java/sample/HelloworldTestCase.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/test/java/sample/HelloworldTestCase.java deleted file mode 100644 index 7951e4d6e8..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonp/src/test/java/sample/HelloworldTestCase.java +++ /dev/null @@ -1,74 +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 sample;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-
-import org.apache.tuscany.sca.Node;
-import org.apache.tuscany.sca.TuscanyRuntime;
-import org.junit.Assert;
-import org.junit.Test;
-import org.oasisopen.sca.NoSuchServiceException;
-
-public class HelloworldTestCase {
-
- @Test
- public void testSayHello() throws NoSuchServiceException, IOException {
-
- // Run the SCA composite in a Tuscany runtime
- Node node = TuscanyRuntime.runComposite("helloworld.composite", "target/classes");
- try {
-
- // Get the Helloworld service proxy
- Helloworld helloworld = node.getService(Helloworld.class, "HelloworldComponent");
-
- // test that it works as expected
- Assert.assertEquals("Hello Amelia", helloworld.sayHello("Amelia"));
-
- // test that has exposed an HTTP endpoint that works as expected
- URL url = new URL("http://localhost:8080/HelloworldComponent/Helloworld/sayHello?name=Amelia&callback=someFunc");
- Assert.assertEquals("someFunc(\"Hello Amelia\");", read(url.openStream()));
-
- } finally {
- // Stop the Tuscany runtime Node
- node.stop();
- }
- }
-
- private static String read(InputStream is) throws IOException {
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new InputStreamReader(is));
- StringBuffer sb = new StringBuffer();
- String str;
- while ((str = reader.readLine()) != null) {
- sb.append(str);
- }
- return sb.toString();
- } finally {
- if (reader != null) {
- reader.close();
- }
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/README deleted file mode 100644 index c197ddcd95..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/README +++ /dev/null @@ -1,27 +0,0 @@ -Tuscany - Getting Started - Helloworld JSONRPC Sample
------------------------------------------------------
-
-This sample extends the helloworld sample to make the helloworld service available as a JSON-RPC endpoint.
-JSON-RPC is a protocol for doing remote procedure calls encoded in JSON.
-
-The changes to the helloworld sample are:
-- update the pom.xml with the additional dependencies
-- update the composite to use the JSON-RPC binding
-
-As with all the getting-started samples you can run this sample with:
-
- mvn tuscany:run
-
-Then at a web browser enter the following URL:
-(JSON-RPC aruguments are base64 encoded, so in this URL "WyJXb3JsZCJd" unecoded is "["World"]")
-
- http://localhost:8080/HelloworldComponent/Helloworld?method=sayHello¶ms=WyJXb3JsZCJd&id=1
-
-which should return a page saying:
-
- {"id":1,"result":"Hello World"}
-
-
-
-
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/pom.xml deleted file mode 100644 index 34ec42a5c8..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/pom.xml +++ /dev/null @@ -1,113 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0-Beta3</version>
- <relativePath />
- </parent>
-
- <artifactId>helloworld-jsonrpc</artifactId>
- <version>2.0-Beta3</version>
-
- <name>Apache Tuscany SCA Samples Helloworld JSON-RPC</name>
-
- <properties>
- <tuscany.version>${project.version}</tuscany.version>
- </properties>
-
- <!-- ASF repositories so sample can be built from SVN without building trunk-->
- <repositories><repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </repository></repositories>
- <pluginRepositories><pluginRepository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </pluginRepository></pluginRepositories>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>${tuscany.version}</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime</artifactId>
- <version>${tuscany.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
- <version>${tuscany.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
- <version>6.1.26</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
-
- <plugins>
-
- <!-- to support running the composite with mvn tuscany:run -->
- <plugin>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-maven-plugin</artifactId>
- <version>${tuscany.version}</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
- <version>${tuscany.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
-
- </build>
-
-</project>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/main/java/sample/Helloworld.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/main/java/sample/Helloworld.java deleted file mode 100644 index f4e8c50448..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/main/java/sample/Helloworld.java +++ /dev/null @@ -1,28 +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 sample;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-@Remotable
-public interface Helloworld {
-
- String sayHello(String name);
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/main/java/sample/HelloworldImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/main/java/sample/HelloworldImpl.java deleted file mode 100644 index 089b1a4290..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/main/java/sample/HelloworldImpl.java +++ /dev/null @@ -1,27 +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 sample;
-
-public class HelloworldImpl implements Helloworld {
-
- public String sayHello(String name) {
- return "Hello " + name;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/main/resources/META-INF/sca-contribution.xml deleted file mode 100644 index 95c32fb5bf..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/main/resources/META-INF/sca-contribution.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:sample="http://sample">
-
- <deployable composite="sample:helloworld-contribution" />
-
-</contribution>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/main/resources/helloworld.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/main/resources/helloworld.composite deleted file mode 100644 index 5b37e6f3db..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/main/resources/helloworld.composite +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
- targetNamespace="http://sample"
- name="helloworld-contribution">
-
- <component name="HelloworldComponent">
- <implementation.java class="sample.HelloworldImpl"/>
- <service name="Helloworld">
- <tuscany:binding.jsonrpc/>
- </service>
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java deleted file mode 100644 index 61e53a6939..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java +++ /dev/null @@ -1,75 +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 sample;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-
-import org.apache.tuscany.sca.Node;
-import org.apache.tuscany.sca.TuscanyRuntime;
-import org.junit.Assert;
-import org.junit.Test;
-import org.oasisopen.sca.NoSuchServiceException;
-
-public class HelloworldTestCase {
-
- @Test
- public void testSayHello() throws NoSuchServiceException, IOException {
-
- // Run the SCA composite in a Tuscany runtime
- Node node = TuscanyRuntime.runComposite("helloworld.composite", "target/classes");
- try {
-
- // Get the Helloworld service proxy
- Helloworld helloworld = node.getService(Helloworld.class, "HelloworldComponent");
-
- // test that it works as expected
- Assert.assertEquals("Hello Amelia", helloworld.sayHello("Amelia"));
-
- // test that has exposed an HTTP endpoint that works as expected
- // JSONRPC args are base64 encoded, ["World"] = WyJXb3JsZCJd
- URL url = new URL("http://localhost:8080/HelloworldComponent/Helloworld?method=sayHello¶ms=WyJXb3JsZCJd&id=1");
- Assert.assertEquals("{\"id\":1,\"result\":\"Hello World\"}", read(url.openStream()));
-
- } finally {
- // Stop the Tuscany runtime Node
- node.stop();
- }
- }
-
- private static String read(InputStream is) throws IOException {
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new InputStreamReader(is));
- StringBuffer sb = new StringBuffer();
- String str;
- while ((str = reader.readLine()) != null) {
- sb.append(str);
- }
- return sb.toString();
- } finally {
- if (reader != null) {
- reader.close();
- }
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/README deleted file mode 100644 index 5672944c8f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/README +++ /dev/null @@ -1,25 +0,0 @@ -Tuscany - Getting Started - Helloworld SCAClient Sample
--------------------------------------------------------
-
-This sample demonstrates using the OASIS SCAClient API to invoke a service in a remote SCA domain.
-
-See the README in the top-level samples folder for general information on the Tuscany samples.
-
-This project has a plain Java SE class with a main method which uses the OASIS SCAClient API to invoke a Helloworld service in a remote SCA domain.
-
-Before running this sample you must have a helloworld service running in a SCA domain somewhere, for example, you can do that by using a separate command prompt to run one of the Tuscany "Getting Started" samples which provide a helloworld service, for examaple, helloworld, or helloworld-spring.
-
-You can then run this SCAClient sample with the Maven command:
-
- mvn tuscany:run
-
-As this sample uses a standard Java SE main class you can also run it with the maven exec java plugin:
-
- mvn exec:java
-
-You should see the following output:
-
- HelloworldSCAClient, using domainURI uri:default
- Calling HelloworldComponent.sayHello("world")
- Hello world
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/pom.xml deleted file mode 100644 index 46bc4d4c1e..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/pom.xml +++ /dev/null @@ -1,121 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.tuscany.sca.samples</groupId> - <artifactId>tuscany-samples</artifactId> - <version>2.0-Beta3</version> - <relativePath /> - </parent> - - <artifactId>helloworld-scaclient</artifactId> - <version>2.0-Beta3</version> - - <name>Apache Tuscany SCA Samples Helloworld SCAClient</name> - - <properties> - <tuscany.version>${project.version}</tuscany.version> - </properties> - - <!-- ASF repositories so sample can be built from SVN without building trunk--> - <repositories><repository> - <id>apache.snapshots</id> - <name>Apache Snapshot Repository</name> - <url>http://repository.apache.org/snapshots</url> - <releases><enabled>false</enabled></releases> - </repository></repositories> - <pluginRepositories><pluginRepository> - <id>apache.snapshots</id> - <name>Apache Snapshot Repository</name> - <url>http://repository.apache.org/snapshots</url> - <releases><enabled>false</enabled></releases> - </pluginRepository></pluginRepositories> - - <dependencies> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-api</artifactId> - <version>${tuscany.version}</version> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.8.1</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-base-runtime</artifactId> - <version>${tuscany.version}</version> - <scope>test</scope> - </dependency> - - <!-- this is for the Tuscany distributed domain support --> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-domain-hazelcast</artifactId> - <version>${tuscany.version}</version> - <scope>test</scope> - </dependency> - - </dependencies> - - <build> - - <plugins> - - <!-- to support running the application with mvn tuscany:run --> - <plugin> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-maven-plugin</artifactId> - <version>${tuscany.version}</version> - <configuration> - <mainClass>sample.HelloworldSCAClient</mainClass> - </configuration> - </plugin> - - <!-- to support running the application with mvn exec:java --> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <version>1.1.1</version> - <executions> - <execution> - <goals> - <goal>java</goal> - </goals> - </execution> - </executions> - <configuration> - <mainClass>sample.HelloworldSCAClient</mainClass> - <classpathScope>test</classpathScope> - </configuration> - </plugin> - - </plugins> - </build> -</project> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/src/main/java/sample/Helloworld.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/src/main/java/sample/Helloworld.java deleted file mode 100644 index 1eeb8be9fd..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/src/main/java/sample/Helloworld.java +++ /dev/null @@ -1,28 +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 sample; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface Helloworld { - - String sayHello(String name); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/src/main/java/sample/HelloworldSCAClient.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/src/main/java/sample/HelloworldSCAClient.java deleted file mode 100644 index 0a91fdb70f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/src/main/java/sample/HelloworldSCAClient.java +++ /dev/null @@ -1,45 +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 sample; - -import java.net.URI; - -import org.oasisopen.sca.NoSuchDomainException; -import org.oasisopen.sca.NoSuchServiceException; -import org.oasisopen.sca.client.SCAClientFactory; - -public class HelloworldSCAClient { - - public static void main(String[] args) throws NoSuchDomainException, NoSuchServiceException { - - String domainURI = System.getProperties().getProperty("domainURI"); - if (domainURI == null || domainURI.length() < 1) { - domainURI = "uri:default"; - } - - System.out.println("HelloworldSCAClient, using domainURI " + domainURI); - SCAClientFactory factory = SCAClientFactory.newInstance(URI.create(domainURI)); - - String name = args.length < 1 ? "world" : args[0]; - System.out.println("Calling HelloworldComponent.sayHello(\"" + name + "\"):"); - Helloworld service = factory.getService(Helloworld.class, "HelloworldComponent"); - System.out.println(service.sayHello(name)); - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/src/test/java/sample/HelloworldTestCase.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/src/test/java/sample/HelloworldTestCase.java deleted file mode 100644 index d983c25b61..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-scaclient/src/test/java/sample/HelloworldTestCase.java +++ /dev/null @@ -1,56 +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 sample; - -import org.apache.tuscany.sca.Node; -import org.apache.tuscany.sca.TuscanyRuntime; -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.monitor.ValidationException; -import org.apache.tuscany.sca.runtime.ActivationException; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.oasisopen.sca.NoSuchDomainException; -import org.oasisopen.sca.NoSuchServiceException; - -public class HelloworldTestCase { - - static Node node; - - @Test - public void testSayHello() throws NoSuchDomainException, NoSuchServiceException { - System.setProperty("domainURI", "uri:default?wka=127.0.0.1:7654"); - HelloworldSCAClient.main(new String[0]); - } - - @BeforeClass - public static void start() throws ContributionReadException, ActivationException, ValidationException { - node = TuscanyRuntime.newInstance().createNode("uri:default?bind=127.0.0.1:7654"); - String curi = node.installContribution(null, "../helloworld/target/classes", null, null); - node.startDeployables(curi); - } - - @AfterClass - public static void stop() { - if (node != null) { - node.stop(); - } - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/README deleted file mode 100644 index 5fb675b502..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/README +++ /dev/null @@ -1,18 +0,0 @@ -Tuscany - Getting Started - Helloworld Spring Sample
-----------------------------------------------------
-
-This sample is an alternative version of the helloworld sample which uses the Spring Framework instead of an SCA Java component.
-
-The changes to the helloworld sample are:
-- update the pom.xml with the additional Spring dependencies
-- add a Spring context xml file to define the Spring application
-- update the composite to use <implementation.spring>
-
-As with all the getting-started samples you can run this sample with:
-
- mvn tuscany:run
-
-And then as with the original helloworld sample you may test the service by using the Shell "invoke" command:
-
- invoke HelloworldComponent sayHello yourName
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/pom.xml deleted file mode 100644 index 2c5e83a06a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/pom.xml +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0-Beta3</version>
- <relativePath />
- </parent>
- <artifactId>helloworld-spring</artifactId>
- <version>2.0-Beta3</version>
-
- <name>Apache Tuscany SCA Samples Helloworld Spring</name>
-
- <properties>
- <tuscany.version>${project.version}</tuscany.version>
- </properties>
-
- <!-- ASF repositories so sample can be built from SVN without building trunk-->
- <repositories><repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </repository></repositories>
- <pluginRepositories><pluginRepository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </pluginRepository></pluginRepositories>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>${tuscany.version}</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime</artifactId>
- <version>${tuscany.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-spring-runtime</artifactId>
- <version>${tuscany.version}</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
-
- <plugins>
-
- <!-- to support running the composite with mvn tuscany:run -->
- <plugin>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-maven-plugin</artifactId>
- <version>${tuscany.version}</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-spring-runtime</artifactId>
- <version>${tuscany.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
-
- </build>
-
-</project>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/java/sample/Helloworld.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/java/sample/Helloworld.java deleted file mode 100644 index f4e8c50448..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/java/sample/Helloworld.java +++ /dev/null @@ -1,28 +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 sample;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-@Remotable
-public interface Helloworld {
-
- String sayHello(String name);
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/java/sample/HelloworldImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/java/sample/HelloworldImpl.java deleted file mode 100644 index 089b1a4290..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/java/sample/HelloworldImpl.java +++ /dev/null @@ -1,27 +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 sample;
-
-public class HelloworldImpl implements Helloworld {
-
- public String sayHello(String name) {
- return "Hello " + name;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/resources/META-INF/sca-contribution.xml deleted file mode 100644 index 95c32fb5bf..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/resources/META-INF/sca-contribution.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:sample="http://sample">
-
- <deployable composite="sample:helloworld-contribution" />
-
-</contribution>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/resources/helloworld-context.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/resources/helloworld-context.xml deleted file mode 100644 index a6b11d2399..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/resources/helloworld-context.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca-j/spring/200810" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/sca http://www.osoa.org/xmlns/sca/1.0/spring-sca.xsd">
-
- <sca:service name="HelloworldService" target="HelloworldBean"/>
-
- <bean id="HelloworldBean" class="sample.HelloworldImpl">
- </bean>
-
-</beans>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/resources/helloworld.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/resources/helloworld.composite deleted file mode 100644 index 4ed0fb51dc..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/main/resources/helloworld.composite +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
- targetNamespace="http://sample"
- name="helloworld-contribution">
-
- <component name="HelloworldComponent">
- <implementation.spring location="helloworld-context.xml"/>
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/test/java/sample/HelloworldTestCase.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/test/java/sample/HelloworldTestCase.java deleted file mode 100644 index be27aa68ef..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-spring/src/test/java/sample/HelloworldTestCase.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 sample;
-
-import org.junit.Assert;
-
-import org.apache.tuscany.sca.Node;
-import org.apache.tuscany.sca.TuscanyRuntime;
-import org.junit.Test;
-import org.oasisopen.sca.NoSuchServiceException;
-
-public class HelloworldTestCase {
-
- @Test
- public void testSayHello() throws NoSuchServiceException {
-
- // Run the SCA composite in a Tuscany runtime
- Node node = TuscanyRuntime.runComposite("helloworld.composite", "target/classes");
- try {
-
- // Get the Helloworld service proxy
- Helloworld helloworld = node.getService(Helloworld.class, "HelloworldComponent");
-
- // test that it works as expected
- Assert.assertEquals("Hello Amelia", helloworld.sayHello("Amelia"));
-
- } finally {
- // Stop the Tuscany runtime Node
- node.stop();
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/README deleted file mode 100644 index bcf11d9886..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/README +++ /dev/null @@ -1,32 +0,0 @@ -Tuscany - Getting Started - Helloworld WebApp Sample
-----------------------------------------------------
-
-This sample demonstrates how to use SCA contributions with Web Applications
-
-See the README in the top-level samples folder for general information on the Tuscany samples.
-
-This sample project creates a .war web application which includes Tuscany. The SCA contribution
-from the helloworld sample is included within the war and its SCA composite started by the webapp,
-and there is a JSP page which shows how to invoke SCA services by using the SCA taglib.
-
-As this sample creates a web application .war archive there is a manual step to deploy the WAR file
-to your web application server. The archive is the helloworld-webapp-<version>.war in the target folder.
-Alternatively, you can run it by using the Maven Tomcat plugin by using the following command:
-
- mvn tomcat:run
-
-or if you prefer Jetty then:
-
- mvn jetty:run
-
-Once the web app is running use your browser to visit the following URL;
-
-http://localhost:8080/helloworld-webapp
-
-(The port and hostname will of course vary depending on your local installation)
-
-You should then see the web page return the following:
-
- Calling HelloworldService sayHello("world") returns:
-
- Hello world
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/pom.xml deleted file mode 100644 index cc53818a7b..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/pom.xml +++ /dev/null @@ -1,181 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.tuscany.sca.samples</groupId> - <artifactId>tuscany-samples</artifactId> - <version>2.0-Beta3</version> - <relativePath /> - </parent> - - <artifactId>helloworld-webapp</artifactId> - <version>2.0-Beta3</version> - - <name>Apache Tuscany SCA Samples Helloworld WebApp</name> - <packaging>war</packaging> - - <properties> - <tuscany.version>${project.version}</tuscany.version> - </properties> - - <!-- ASF repositories so sample can be built from SVN without building trunk--> - <repositories><repository> - <id>apache.snapshots</id> - <name>Apache Snapshot Repository</name> - <url>http://repository.apache.org/snapshots</url> - <releases><enabled>false</enabled></releases> - </repository></repositories> - <pluginRepositories><pluginRepository> - <id>apache.snapshots</id> - <name>Apache Snapshot Repository</name> - <url>http://repository.apache.org/snapshots</url> - <releases><enabled>false</enabled></releases> - </pluginRepository></pluginRepositories> - - <dependencies> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-base-runtime</artifactId> - <version>${tuscany.version}</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.8.1</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>net.sourceforge.htmlunit</groupId> - <artifactId>htmlunit</artifactId> - <version>2.6</version> - <scope>test</scope> - <exclusions> - <exclusion> - <groupId>xalan</groupId> - <artifactId>xalan</artifactId> - </exclusion> - </exclusions> - </dependency> - - <!-- replace HTMLUnit dependency with verstion that Tuscany is using --> - <dependency> - <groupId>xalan</groupId> - <artifactId>xalan</artifactId> - <version>2.7.0</version> - <scope>test</scope> - <exclusions> - <exclusion> - <groupId>xml-apis</groupId> - <artifactId>xml-apis</artifactId> - </exclusion> - </exclusions> - </dependency> - - </dependencies> - - <build> - <plugins> - - <!-- this copies the SCA contribution from the helloworld sample into this webapp --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> - <executions> - <execution> - <id>copy</id> - <phase>compile</phase> - <goals> - <goal>copy</goal> - </goals> - <configuration> - <artifactItems> - <artifactItem> - <groupId>org.apache.tuscany.sca.samples</groupId> - <artifactId>helloworld</artifactId> - <version>${project.version}</version> - <!-- should really go in the target folder but i can't get jetty:run or tomcat:run to work using that --> - <outputDirectory>src/main/webapp/WEB-INF/sca-contributions</outputDirectory> - </artifactItem> - </artifactItems> - </configuration> - </execution> - </executions> - </plugin> - - <!-- to support running thw webapp with mvn tuscany:run --> - <plugin> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-maven-plugin</artifactId> - <version>${tuscany.version}</version> - </plugin> - - <!-- to support using mvn jetty:run and also to run the webapp for the integration test --> - <plugin> - <groupId>org.mortbay.jetty</groupId> - <artifactId>maven-jetty-plugin</artifactId> - <version>6.1.26</version> - <configuration> - <contextPath>helloworld-webapp</contextPath> - <stopKey>foo</stopKey> - <stopPort>9999</stopPort> - </configuration> - <executions> - <execution> - <id>start-jetty</id> - <phase>process-test-classes</phase> - <goals> - <goal>run</goal> - </goals> - <configuration> - <scanIntervalSeconds>0</scanIntervalSeconds> - <daemon>true</daemon> - <connectors> - <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> - <port>8085</port> - </connector> - </connectors> - </configuration> - </execution> - <execution> - <id>stop-jetty</id> - <phase>prepare-package</phase> - <goals> - <goal>stop</goal> - </goals> - </execution> - </executions> - </plugin> - - <!-- to support using mvn tomcat:run --> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>tomcat-maven-plugin</artifactId> - <version>1.1</version> - </plugin> - - </plugins> - </build> -</project> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/main/java/sample/Helloworld.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/main/java/sample/Helloworld.java deleted file mode 100644 index 1eeb8be9fd..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/main/java/sample/Helloworld.java +++ /dev/null @@ -1,28 +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 sample; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface Helloworld { - - String sayHello(String name); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index 0c03826f99..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
- targetNamespace="http://samples"
- name="Helloworld">
-
- <component name="foo">
- <implementation.web web-uri=""/>
- <reference name="service" target="HelloworldComponent"/>
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index b83a9c3417..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<web-app version="2.4" - xmlns="http://java.sun.com/xml/ns/j2ee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" > - - <display-name>Apache Tuscany Helloworld Sample</display-name> - - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - </filter> - - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - - <welcome-file-list id="WelcomeFileList"> - <welcome-file>hello.jsp</welcome-file> - </welcome-file-list> - -</web-app> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/main/webapp/hello.jsp b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/main/webapp/hello.jsp deleted file mode 100644 index 57abb08ca2..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/main/webapp/hello.jsp +++ /dev/null @@ -1,37 +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.
--->
-
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="http://www.osoa.org/sca/sca_jsp.tld" prefix="sca" %>
-
-<sca:reference name="service" type="sample.Helloworld" />
-
-<html>
- <body >
-
- <h2>Apache Tuscany Helloworld JSP Sample</h2>
-
- Calling HelloworldService sayHello("world") returns:
-
- <p>
-
- <%= service.sayHello("world") %>
-
- </body>
-</html>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/test/java/itest/HelloworldTestCase.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/test/java/itest/HelloworldTestCase.java deleted file mode 100644 index 40da70b98d..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/test/java/itest/HelloworldTestCase.java +++ /dev/null @@ -1,53 +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 itest; - -import static org.junit.Assert.assertEquals; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.util.Iterator; - -import org.junit.Test; - -import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException; -import com.gargoylesoftware.htmlunit.WebClient; -import com.gargoylesoftware.htmlunit.html.HtmlElement; -import com.gargoylesoftware.htmlunit.html.HtmlPage; -import com.gargoylesoftware.htmlunit.html.HtmlParagraph; - -/** - */ -public class HelloworldTestCase { - - @Test - public void testA() throws FailingHttpStatusCodeException, MalformedURLException, IOException { - HtmlPage page = (HtmlPage)new WebClient().getPage("http://localhost:8085/helloworld-webapp"); - Iterator<?> ss = page.getAllHtmlChildElements().iterator(); - while(ss.hasNext()) { - HtmlElement htmlElement = (HtmlElement) ss.next(); - if( htmlElement instanceof HtmlParagraph) { - assertEquals("Hello world", htmlElement.asText()); - break; - } - } - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/test/resources/test-web.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/test/resources/test-web.xml deleted file mode 100644 index 4ca1c962a0..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webapp/src/test/resources/test-web.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<web-app version="2.4" - xmlns="http://java.sun.com/xml/ns/j2ee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" > - - <context-param> - <param-name>org.apache.tuscany.sca.config</param-name> - <param-value>uri:default?bind=127.0.0.1:54321</param-value> - </context-param> - -</web-app> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/README deleted file mode 100644 index b61a694fa9..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/README +++ /dev/null @@ -1,18 +0,0 @@ -Tuscany - Getting Started - Helloworld Web Service Sample
----------------------------------------------------------
-
-This sample extends the helloworld sample to make the helloworld service available as a SOAP based Web Service endpoint.
-
-The changes to the helloworld sample are:
-- update the pom.xml with the additional dependencies
-- update the composite to use the Web Service binding
-
-As with all the getting-started samples you can run this sample with:
-
- mvn tuscany:run
-
-You really need a Web Service client to invoke the service but you can get the WSDL description for the service by using a web browser with the following URL:
-
- http://localhost:8080/HelloworldComponent/Helloworld?wsdl
-
-which should return the WSDL document for the service.
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/pom.xml deleted file mode 100644 index d6fdd2c349..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/pom.xml +++ /dev/null @@ -1,113 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0-Beta3</version>
- <relativePath />
- </parent>
-
- <artifactId>helloworld-webservice</artifactId>
- <version>2.0-Beta3</version>
-
- <name>Apache Tuscany SCA Samples Helloworld Web Service</name>
-
- <properties>
- <tuscany.version>${project.version}</tuscany.version>
- </properties>
-
- <!-- ASF repositories so sample can be built from SVN without building trunk-->
- <repositories><repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </repository></repositories>
- <pluginRepositories><pluginRepository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </pluginRepository></pluginRepositories>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>${tuscany.version}</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime</artifactId>
- <version>${tuscany.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-ws-runtime-axis2</artifactId>
- <version>${tuscany.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
- <version>6.1.26</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
-
- <plugins>
-
- <!-- to support running the composite with mvn tuscany:run -->
- <plugin>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-maven-plugin</artifactId>
- <version>${tuscany.version}</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-ws-runtime-axis2</artifactId>
- <version>${tuscany.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
-
- </build>
-
-</project>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/main/java/sample/Helloworld.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/main/java/sample/Helloworld.java deleted file mode 100644 index f4e8c50448..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/main/java/sample/Helloworld.java +++ /dev/null @@ -1,28 +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 sample;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-@Remotable
-public interface Helloworld {
-
- String sayHello(String name);
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/main/java/sample/HelloworldImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/main/java/sample/HelloworldImpl.java deleted file mode 100644 index 089b1a4290..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/main/java/sample/HelloworldImpl.java +++ /dev/null @@ -1,27 +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 sample;
-
-public class HelloworldImpl implements Helloworld {
-
- public String sayHello(String name) {
- return "Hello " + name;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/main/resources/META-INF/sca-contribution.xml deleted file mode 100644 index 95c32fb5bf..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/main/resources/META-INF/sca-contribution.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:sample="http://sample">
-
- <deployable composite="sample:helloworld-contribution" />
-
-</contribution>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/main/resources/helloworld.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/main/resources/helloworld.composite deleted file mode 100644 index 5f001c05a9..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/main/resources/helloworld.composite +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
- targetNamespace="http://sample"
- name="helloworld-contribution">
-
- <component name="HelloworldComponent">
- <implementation.java class="sample.HelloworldImpl"/>
- <service name="Helloworld">
- <binding.ws/>
- </service>
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/test/java/sample/HelloworldTestCase.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/test/java/sample/HelloworldTestCase.java deleted file mode 100644 index 0680e8cd01..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-webservice/src/test/java/sample/HelloworldTestCase.java +++ /dev/null @@ -1,76 +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 sample;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.apache.tuscany.sca.Node;
-import org.apache.tuscany.sca.TuscanyRuntime;
-import org.junit.Assert;
-import org.junit.Test;
-import org.oasisopen.sca.NoSuchServiceException;
-
-public class HelloworldTestCase {
-
- @Test
- public void testSayHello() throws NoSuchServiceException, IOException {
-
- // Run the SCA composite in a Tuscany runtime
- Node node = TuscanyRuntime.runComposite("helloworld.composite", "target/classes");
- try {
-
- // Get the Helloworld service proxy
- Helloworld helloworld = node.getService(Helloworld.class, "HelloworldComponent");
-
- // test that it works as expected
- Assert.assertEquals("Hello Amelia", helloworld.sayHello("Amelia"));
-
- // test that has exposed an HTTP endpoint that works as expected
- // to keep this test simple just do ?wsdl on the endpoint
- URL url = new URL("http://localhost:8080/HelloworldComponent/Helloworld?wsdl");
- Assert.assertTrue(read(url.openStream()).contains("address location="));
-
- } finally {
- // Stop the Tuscany runtime Node
- node.stop();
- }
- }
-
- private static String read(InputStream is) throws IOException {
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new InputStreamReader(is));
- StringBuffer sb = new StringBuffer();
- String str;
- while ((str = reader.readLine()) != null) {
- sb.append(str);
- }
- return sb.toString();
- } finally {
- if (reader != null) {
- reader.close();
- }
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/README deleted file mode 100644 index 3401f90795..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/README +++ /dev/null @@ -1,35 +0,0 @@ -Tuscany - Getting Started - Helloworld With Dependencies Sample
----------------------------------------------------------------
-
-This sample extends the helloworld sample to show how to use ZIP format contributions which include dependencys jar which are made available on the contribution classpath. To demonstrate this the Helloworld service is updated to use a Apache Commons Lang 3.0 utility to capatalize the first letter of the name.
-
-The changes to the helloworld sample are:
-- update sample.HelloworldImpl class is updated to use the Apache Commons Lang 3.0 WordUtils utility
-- the Maven build is updated to use the Assembly plugin to create a ZIP archive of the contrubution which includes the dependency jars
-
-Presently the Tuscany Shell does not work "as is" to run this sample with "mvn tuscany:run". Instead you need to do the following in the helloworld-withdeps directory:
-
-- build the ZIP contribution
-
- mvn clean install
-
-- start the Tuscany Shell
-
- mvn tuscany:shell
-
-- install the sample contribution
-
- install target\helloworld-withdeps-2.0-Beta3.zip
-
-- start the SCA composite
-
- start helloworld-withdeps META-INF/helloworld.composite
-
-And then as with the original helloworld sample you may test the service by using the Shell "invoke" command:
-
- invoke HelloworldComponent sayHello yourName
-
-which should return a hello text with the name capatilized:
-
- Hello YourName
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/pom.xml deleted file mode 100644 index 03e58bebab..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/pom.xml +++ /dev/null @@ -1,120 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0-Beta3</version>
- <relativePath />
- </parent>
- <artifactId>helloworld-withdeps</artifactId>
- <version>2.0-Beta3</version>
-
- <name>Apache Tuscany SCA Samples Helloworld With Dependencies</name>
-
- <properties>
- <tuscany.version>${project.version}</tuscany.version>
- </properties>
-
- <!-- ASF repositories so sample can be built from SVN without building trunk-->
- <repositories><repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </repository></repositories>
- <pluginRepositories><pluginRepository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </pluginRepository></pluginRepositories>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>${tuscany.version}</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>3.0</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime</artifactId>
- <version>${tuscany.version}</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
-
- <plugins>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.2.1</version>
- <executions>
- <execution>
- <id>zip</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- <configuration>
- <appendAssemblyId>false</appendAssemblyId>
- <descriptors>
- <descriptor>src/main/assembly/zip.xml</descriptor>
- </descriptors>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <!-- to support running the composite with mvn tuscany:run -->
- <plugin>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-maven-plugin</artifactId>
- <version>${tuscany.version}</version>
- </plugin>
-
- </plugins>
-
- </build>
-
-</project>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/assembly/resources/META-INF/helloworld.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/assembly/resources/META-INF/helloworld.composite deleted file mode 100644 index 8e23a93895..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/assembly/resources/META-INF/helloworld.composite +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
- targetNamespace="http://sample"
- name="helloworld-withdeps">
-
- <component name="HelloworldComponent">
- <implementation.java class="sample.HelloworldImpl"/>
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/assembly/resources/META-INF/sca-contribution.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/assembly/resources/META-INF/sca-contribution.xml deleted file mode 100644 index 9112e02cbe..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/assembly/resources/META-INF/sca-contribution.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:sample="http://sample">
-
- <deployable composite="sample:helloworld-withdeps" />
-
-</contribution>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/assembly/zip.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/assembly/zip.xml deleted file mode 100644 index 1d71d28a6f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/assembly/zip.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<assembly>
- <id>zip</id>
- <includeBaseDirectory>false</includeBaseDirectory>
-
- <formats>
- <format>zip</format>
- </formats>
-
- <fileSets>
- <fileSet>
- <directory>src/main/assembly/resources</directory>
- <outputDirectory>.</outputDirectory>
- </fileSet>
- </fileSets>
-
- <dependencySets>
- <dependencySet>
- <outputDirectory>lib</outputDirectory>
- </dependencySet>
- </dependencySets>
-
-</assembly>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/java/sample/Helloworld.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/java/sample/Helloworld.java deleted file mode 100644 index f4e8c50448..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/java/sample/Helloworld.java +++ /dev/null @@ -1,28 +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 sample;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-@Remotable
-public interface Helloworld {
-
- String sayHello(String name);
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/java/sample/HelloworldImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/java/sample/HelloworldImpl.java deleted file mode 100644 index 1852632429..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/main/java/sample/HelloworldImpl.java +++ /dev/null @@ -1,29 +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 sample;
-
-import org.apache.commons.lang3.text.WordUtils;
-
-public class HelloworldImpl implements Helloworld {
-
- public String sayHello(String name) {
- return "Hello " + WordUtils.capitalize(name);
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/test/java/sample/HelloworldTestCase.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/test/java/sample/HelloworldTestCase.java deleted file mode 100644 index 6770d288fd..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld-withdeps/src/test/java/sample/HelloworldTestCase.java +++ /dev/null @@ -1,49 +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 sample;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.oasisopen.sca.NoSuchServiceException;
-
-public class HelloworldTestCase {
-
- @Test
- public void testSayHello() throws NoSuchServiceException {
-
-// // Run the SCA composite in a Tuscany runtime
-// Node node = TuscanyRuntime.runComposite(null, "target/helloworld-withdeps-2.0-SNAPSHOT.zip");
-// try {
-//
-// // Get the Helloworld service proxy
-// Helloworld helloworld = node.getService(Helloworld.class, "HelloworldComponent");
-//
-// // test that it works as expected
-// Assert.assertEquals("Hello Amelia", helloworld.sayHello("amelia"));
-//
-// } finally {
-// // Stop the Tuscany runtime Node
-// node.stop();
-// }
- Helloworld helloworld = new HelloworldImpl();
-
- // Test that a lower case name does get capitalized
- Assert.assertEquals("Hello Amelia", helloworld.sayHello("amelia"));
- }
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/README deleted file mode 100644 index ec04ac3ab6..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/README +++ /dev/null @@ -1,43 +0,0 @@ -Tuscany - Getting Started - Helloworld Sample
----------------------------------------------
-
-This sample demonstrates a simple helloworld style SCA application and how to run that with Tuscany.
-
-See the README in the top-level samples folder for general information on the Tuscany samples.
-
-This project creates an SCA contribution with a deployable composite named helloworld.composite.
-The composite defines an SCA component, HelloworldComponent, which provides a Helloworld service,
-the component is implemented by a Java class.
-
-You can use the contribution by starting the composite in the Tuscany Shell. To do that run the
-following command in the helloworld folder:
-
- mvn tuscany:run
-
-Alternatively, the Tuscany Shell can be started with the scripts in the Tuscany binary distribution
-bin folder. To do that run the following command at the root of a Tuscany binary distribution:
-
- bin\tuscany.bat samples\getting-started\helloworld
-
-Once the Shell has been started with one of those methods you can use Shell commands to explore
-the SCA domain, for example, use the "installed" command to get the status of installed contributions,
-"services" to see the available component services, and you may test calling the helloworld service by
-using the "invoke" command:
-
- invoke HelloworldComponent sayHello yourName
-
----
-
-This sample was created by the Tuscany contribution-jar Maven archetype. You can use that archetype to
-create your own SCA contribution projects by running the following Maven command:
-
- mvn archetype:generate -DarchetypeCatalog=http://tuscany.apache.org
-
-then at the prompt select 1 to choose the contribution-jar archetype and then answer the questions.
-This project used the following answers:
-
- Define value for property 'groupId': : org.apache.tuscany.sca.samples
- Define value for property 'artifactId': : helloworld-contribution
- Define value for property 'version': 1.0-SNAPSHOT: 2.0-Beta3
- Define value for property 'package': org.apache.tuscany.sca.samples: sample
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/pom.xml deleted file mode 100644 index 97e3eb3e69..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/pom.xml +++ /dev/null @@ -1,92 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0-Beta3</version>
- <relativePath />
- </parent>
- <artifactId>helloworld</artifactId>
- <version>2.0-Beta3</version>
-
- <name>Apache Tuscany SCA Samples Helloworld</name>
-
- <properties>
- <tuscany.version>${project.version}</tuscany.version>
- </properties>
-
- <!-- ASF repositories so sample can be built from SVN without building trunk-->
- <repositories><repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </repository></repositories>
- <pluginRepositories><pluginRepository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </pluginRepository></pluginRepositories>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>${tuscany.version}</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime</artifactId>
- <version>${tuscany.version}</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
-
- <plugins>
-
- <!-- to support running the composite with mvn tuscany:run -->
- <plugin>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-maven-plugin</artifactId>
- <version>${tuscany.version}</version>
- </plugin>
- </plugins>
-
- </build>
-
-</project>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/main/java/sample/Helloworld.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/main/java/sample/Helloworld.java deleted file mode 100644 index f4e8c50448..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/main/java/sample/Helloworld.java +++ /dev/null @@ -1,28 +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 sample;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-@Remotable
-public interface Helloworld {
-
- String sayHello(String name);
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/main/java/sample/HelloworldImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/main/java/sample/HelloworldImpl.java deleted file mode 100644 index 089b1a4290..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/main/java/sample/HelloworldImpl.java +++ /dev/null @@ -1,27 +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 sample;
-
-public class HelloworldImpl implements Helloworld {
-
- public String sayHello(String name) {
- return "Hello " + name;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/main/resources/META-INF/sca-contribution.xml deleted file mode 100644 index 95c32fb5bf..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/main/resources/META-INF/sca-contribution.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:sample="http://sample">
-
- <deployable composite="sample:helloworld-contribution" />
-
-</contribution>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/main/resources/helloworld.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/main/resources/helloworld.composite deleted file mode 100644 index e0206cd6e8..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/main/resources/helloworld.composite +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
- targetNamespace="http://sample"
- name="helloworld-contribution">
-
- <component name="HelloworldComponent">
- <implementation.java class="sample.HelloworldImpl"/>
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/test/java/sample/HelloworldTestCase.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/test/java/sample/HelloworldTestCase.java deleted file mode 100644 index be27aa68ef..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/helloworld/src/test/java/sample/HelloworldTestCase.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 sample;
-
-import org.junit.Assert;
-
-import org.apache.tuscany.sca.Node;
-import org.apache.tuscany.sca.TuscanyRuntime;
-import org.junit.Test;
-import org.oasisopen.sca.NoSuchServiceException;
-
-public class HelloworldTestCase {
-
- @Test
- public void testSayHello() throws NoSuchServiceException {
-
- // Run the SCA composite in a Tuscany runtime
- Node node = TuscanyRuntime.runComposite("helloworld.composite", "target/classes");
- try {
-
- // Get the Helloworld service proxy
- Helloworld helloworld = node.getService(Helloworld.class, "HelloworldComponent");
-
- // test that it works as expected
- Assert.assertEquals("Hello Amelia", helloworld.sayHello("Amelia"));
-
- } finally {
- // Stop the Tuscany runtime Node
- node.stop();
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/pom.xml deleted file mode 100644 index 8ba4de76f3..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/getting-started/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca.samples</groupId> - <artifactId>tuscany-samples</artifactId> - <version>2.0-Beta3</version> - </parent> - - <artifactId>tuscany-samples-getting-started</artifactId> - <version>2.0-Beta3</version> - <packaging>pom</packaging> - <name>Apache Tuscany SCA Samples Getting Started</name> - - <modules> - <module>helloworld</module> - <module>helloworld-jaxrs</module> - <module>helloworld-jsonp</module> - <module>helloworld-jsonrpc</module> - <module>helloworld-scaclient</module> - <module>helloworld-spring</module> - <module>helloworld-webapp</module> - <module>helloworld-webservice</module> - <module>helloworld-withdeps</module> - </modules> - -</project> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/README deleted file mode 100644 index 57702664d7..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/README +++ /dev/null @@ -1,79 +0,0 @@ -Tuscany - Learning More - Binding Comet - Autocomplete Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via Comet techniques -as well as how to interact with them using Tuscany's javascript API. - -This project contains a service (CountryService) that handles requests asking -for country names starting with a certain prefix. The service implementation -uses a country repository to fetch the necessary data. - -By adding <tuscany:binding.comet/> to a service definition, the Tuscany runtime -will handle the communication between the browser client and the service -implementation using Comet techniques. This enables bidirectional communication -over HTTP, therefore enabling server push. For more information, check -http://en.wikipedia.org/wiki/Comet_(programming). - -The comet binding is using the Atmosphere Framework under the hood to acomodate -as many deployment envorinments as possible. Basically, it checks if the -application server supports Servlet 3.0 falling back to a number of native -comet solutions provided by vendors (Jetty, Tomcat, WebLogic, GlassFish and -others). If none is available, Atmosphere will fallback to blocking IO. - -Invoking comet services can be done using Tuscany's javascript API which simulates -SCA in the browser. It uses the Atmosphere jQuery plugin under the hood. In order -to use it, the following script has to be included in the client page: - <script type="text/javascript" - src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"> - </script> - -The javascript toolkit permits choosing between two comet techniques: HTTP streaming -and long polling. More detailed information about them can be found on the previously -mentioned wikipedia page. - -First, a connect operation has to be issued in order to initiate communication -with the server side using the technique of your choice. This is done using the -connection method as follows: - SCA.TuscanyComet.connect('streaming'); // for HTTP streaming - SCA.TuscanyComet.connect('long-polling'); // for long polling - SCA.TuscanyComet.connect(); // starts with HTTP streaming and falls back to long polling if necessary - -The Tuscany Comet toolkit will inject proxies for all services defined in the composite -that are using binding.comet. All invocation and connection management is handled -under the hood so in order to invoke a comet service, the following should be called: - SCA.CometComponentContext.<service name>.<operation name>(<parameters>, callback); - -The callback parameter is the function that will handle responses received for a -certain service operation. It has a single argument which is the response: - function callback(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so the -parameters should have the same structure as the data types defined in the method -definition. Also, the response will have the same data type as the return type of -the service method. Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single HTTP -connection to handle communication between a browser client and all services -defined using binding.comet in the same composite. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. This is done in order to avoid -the 2 HTTP connection limit imposed by browsers. For more info, check -http://www.openajax.org/runtime/wiki/The_Two_HTTP_Connection_Limit_Issue. - -In order to run the sample, you can execute "mvn clean install t7:run" which will -start a Tomcat 7 instance automatically or use "mvn package" and deploy the resulting -war to the application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-comet-autocomplete-webapp/ - -You can see how suggestions are being received in real time when characters are -entered in the text field. You can see the persistent HTTP streaming connection -or long polling subsequent connections using the developer tools provided by -your browser. - -The comet binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/pom.xml deleted file mode 100644 index 64209aad3d..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/pom.xml +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-comet</artifactId>
- <version>2.0-Beta3</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-comet-autocomplete-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0-Beta3</version>
- <name>Apache Tuscany SCA Sample binding.comet Real-Time Suggestions Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-comet-runtime</artifactId>
- <version>2.0-Beta3</version>
- </dependency>
- <dependency>
- <groupId>javax</groupId>
- <artifactId>javaee-web-api</artifactId>
- <version>6.0</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0-Beta3</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>r09</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.t7mp</groupId>
- <artifactId>maven-t7-plugin</artifactId>
- <version>0.9.6</version>
- <configuration>
- <webapps>
- <webappArtifact>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>sample-binding-comet-autocomplete-webapp</artifactId>
- <version>2.0-Beta3</version>
- </webappArtifact>
- </webapps>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Country.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Country.java deleted file mode 100644 index eedacf01d0..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Country.java +++ /dev/null @@ -1,40 +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.sample.comet; - -import java.io.Serializable; - -public class Country implements Serializable { - - private String name; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String toString() { - return name; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryRepository.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryRepository.java deleted file mode 100644 index 12cdfb4235..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryRepository.java +++ /dev/null @@ -1,30 +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.sample.comet; - -import java.util.List; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface CountryRepository { - - List<Country> findStartingWith(String text); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryRepositoryImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryRepositoryImpl.java deleted file mode 100644 index 57e2d3e214..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryRepositoryImpl.java +++ /dev/null @@ -1,80 +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.sample.comet; - -import java.io.BufferedReader; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.List; - -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@EagerInit -@Scope("COMPOSITE") -@Service(CountryRepository.class) -public class CountryRepositoryImpl implements CountryRepository { - - private String fileName; - private List<Country> countries; - - @Constructor - public CountryRepositoryImpl(@Property(name = "fileName") String fileName) { - this.fileName = fileName; - countries = new ArrayList<Country>(); - } - - @Init - public void start() { - try { - BufferedReader reader = new BufferedReader(new InputStreamReader(getClass().getClassLoader() - .getResourceAsStream(fileName))); - String line; - while ((line = reader.readLine()) != null) { - if (!line.startsWith("#")) { - Country c = new Country(); - c.setName(line); - countries.add(c); - } - } - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public List<Country> findStartingWith(String text) { - List<Country> result = new ArrayList<Country>(); - for (Country c : countries) { - if (c.getName().toLowerCase().startsWith(text.toLowerCase())) { - result.add(c); - } - } - return result; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryService.java deleted file mode 100644 index e916ecb98b..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryService.java +++ /dev/null @@ -1,30 +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.sample.comet; - -import java.util.List; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface CountryService { - - List<Country> getCountriesStartingWith(String text); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryServiceImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryServiceImpl.java deleted file mode 100644 index ad0786be59..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryServiceImpl.java +++ /dev/null @@ -1,36 +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.sample.comet; - -import java.util.List; - -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(CountryService.class) -public class CountryServiceImpl implements CountryService { - - @Reference - protected CountryRepository repository; - - @Override - public List<Country> getCountriesStartingWith(String text) { - return repository.findStartingWith(text); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/resources/countries.txt b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/resources/countries.txt deleted file mode 100644 index 0ce76f8167..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/resources/countries.txt +++ /dev/null @@ -1,211 +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. -Afghanistan -Albania -Algeria -Andorra -Angola -Antigua & Barbuda -Argentina -Armenia -Australia -Austria -Azerbaijan -Bahamas -Bahrain -Bangladesh -Barbados -Belarus -Belgium -Belize -Benin -Bhutan -Bolivia -Bosnia & Herzegovina -Botswana -Brazil -Brunei -Bulgaria -Burkina Faso -Burundi -Cambodia -Cameroon -Canada -Cape Verde -Central African Republic -Chad -Chile -China -Colombia -Comoros -Congo -Congo Democratic Republic of -Costa Rica -Cote d'Ivoire -Croatia -Cuba -Cyprus -Czech Republic -Denmark -Djibouti -Dominica -Dominican Republic -Ecuador -East Timor -Egypt -El Salvador -Equatorial Guinea -Eritrea -Estonia -Ethiopia -Fiji -Finland -France -Gabon -Gambia -Georgia -Germany -Ghana -Greece -Grenada -Guatemala -Guinea -Guinea-Bissau -Guyana -Haiti -Honduras -Hungary -Iceland -India -Indonesia -Iran -Iraq -Ireland -Israel -Italy -Jamaica -Japan -Jordan -Kazakhstan -Kenya -Kiribati -Korea North -Korea South -Kosovo -Kuwait -Kyrgyzstan -Laos -Latvia -Lebanon -Lesotho -Liberia -Libya -Liechtenstein -Lithuania -Luxembourg -Macedonia -Madagascar -Malawi -Malaysia -Maldives -Mali -Malta -Marshall Islands -Mauritania -Mauritius -Mexico -Micronesia -Moldova -Monaco -Mongolia -Montenegro -Morocco -Mozambique -Myanmar (Burma) -Namibia -Nauru -Nepal -The Netherlands -New Zealand -Nicaragua -Niger -Nigeria -Norway -Oman -Pakistan -Palau -Palestinian State* -Panama -Papua New Guinea -Paraguay -Peru -The Philippines -Poland -Portugal -Qatar -Romania -Russia -Rwanda -St. Kitts & Nevis -St. Lucia -St. Vincent & The Grenadines -Samoa -San Marino -Sao Tome & Principe -Saudi Arabia -Senegal -Serbia -Seychelles -Sierra Leone -Singapore -Slovakia -Slovenia -Solomon Islands -Somalia -South Africa -Spain -Sri Lanka -Sudan -Suriname -Swaziland -Sweden -Switzerland -Syria -Taiwan -Tajikistan -Tanzania -Thailand -Togo -Tonga -Trinidad & Tobago -Tunisia -Turkey -Turkmenistan -Tuvalu -Uganda -Ukraine -United Arab Emirates -United Kingdom -United States of America -Uruguay -Uzbekistan -Vanuatu -Vatican City (Holy See) -Venezuela -Yemen -Zambia -Zimbabwe diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index f7cee35452..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" - targetNamespace="http://samples" name="Chat"> - - <component name="CountryServiceComponent"> - <implementation.java - class="org.apache.tuscany.sca.sample.comet.CountryServiceImpl" /> - <service name="CountryService"> - <interface.java interface="org.apache.tuscany.sca.sample.comet.CountryService" /> - <tuscany:binding.comet /> - </service> - <reference name="repository" target="CountryRepositoryComponent" /> - </component> - - <component name="CountryRepositoryComponent"> - <implementation.java - class="org.apache.tuscany.sca.sample.comet.CountryRepositoryImpl" /> - <property name="fileName">countries.txt</property> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/index.html deleted file mode 100644 index 115ca7bbdb..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,69 +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. ---> -<html> - <head> - <title>Apache Tuscany Comet Sample</title> - <!-- Tuscany Comet Javascript Toolkit is dependent on jQuery --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"></script> - <script type="text/javascript"> - var user = ""; - - $(document).ready(function() - { - // Tuscany Comet specific API - SCA.TuscanyComet.connect(); - - $("#country").keyup(function() { - var text = $("#country").val(); - if (text != "") { - SCA.CometComponentContext.CountryService.getCountriesStartingWith(text, callback); - } else { - $("#suggestions").html(""); - } - }); - - $("#country").focus(); - }); - - function callback(response) { - var html = '<ul>'; - $.each(response, function(index, country) { - html += '<li>' + country.name + "</li>" - }); - html += '</ul>' - $("#suggestions").html(html); - } - - </script> - </head> - <body> - <h2>Apache Tuscany Comet Sample</h2> - <h3>Real-time suggestions</h3> - <table> - <tr> - <td>Enter a country name</td> - <td><input type="text" id='country'/></td> - </tr> - </table> - </div> - <div id="suggestions"> - </div> - </body> -</html> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/README deleted file mode 100644 index 303c63146a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/README +++ /dev/null @@ -1,99 +0,0 @@ -Tuscany - Learning More - Binding Comet - Chat Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via Comet techniques -as well as how to interact with them using Tuscany's javascript toolkit. It -also demonstrates how to push multiple responses for a single request using -SCA callbacks via comet techniques. - -This project contains a service (ChatService) that handles chat operations like -register and postMessage. Once a client is registered it will receive messages -that are sent to the chat room. - -By adding <tuscany:binding.comet/> to a service definition, the Tuscany runtime -will handle the communication between the browser client and the service -implementation using Comet techniques. This enables bidirectional communication -over HTTP, therefore enabling server push. For more information, check -http://en.wikipedia.org/wiki/Comet_(programming). - -The comet binding is using the Atmosphere Framework under the hood to acomodate -as many deployment envorinments as possible. Basically, it checks if the -application server supports Servlet 3.0 falling back to a number of native -comet solutions provided by vendors (Jetty, Tomcat, WebLogic, GlassFish and -others). If none is available, Atmosphere will fallback to blocking IO. - -In order to enable callbacks to push multiple responses, you need to declare the -CometCallback in the service definition as follows: - <interface.java interface="org.apache.tuscany.sca.sample.comet.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback" /> - <tuscany:binding.comet /> - <callback> - <tuscany:binding.comet /> - </callback> - -The callback object has methods that facilitate sending messages back to the -calling client. It can be injected in the service implementation using the @Callback -annotation. However, the service implementation for this sample has the COMPOSITE -scope so the callback reference has to be obtained from the ComponentContext. - -One requirement that service methods have to meet to enable multiple response -support is that they have to be annotated with @OneWay to enable non-blocking -support. Without it, methods are treated synchronously sending a single response -which is the object returned by the method call. - -Invoking comet services can be done using Tuscany's javascript API which simulates -SCA in the browser. It uses the Atmosphere jQuery plugin under the hood. In order -to use it, the following script has to be included in the client page: - <script type="text/javascript" - src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"> - </script> - -The javascript toolkit permits choosing between two comet techniques: HTTP streaming -and long polling. More detailed information about them can be found on the previously -mentioned wikipedia page. - -First, a connect operation has to be issued in order to initiate communication -with the server side using the technique of your choice. This is done using the -connection method as follows: - SCA.TuscanyComet.connect('streaming'); // for HTTP streaming - SCA.TuscanyComet.connect('long-polling'); // for long polling - SCA.TuscanyComet.connect(); // starts with HTTP streaming and falls back to long polling if necessary - -The Tuscany Comet toolkit will inject proxies for all services defined in the composite -that are using binding.comet. All invocation and connection management is handled -under the hood so in order to invoke a comet service, the following should be called: - SCA.CometComponentContext.<service name>.<operation name>(<parameters>, callback); - -The callback parameter is the function that will handle responses received for a -certain service operation. It has a single argument which is the response: - function callback(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so parameters -will be mapped to the data types defined in the method definition. Also, the response -will have the same data type as the server side object used to wrap the response. -Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single HTTP -connection to handle communication between a browser client and all services -defined using binding.comet in the same composite. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. This is done in order to avoid -the 2 HTTP connection limit imposed by browsers. For more info, check -http://www.openajax.org/runtime/wiki/The_Two_HTTP_Connection_Limit_Issue. - -In order to run the sample, you can execute "mvn clean install t7:run" which will -start a Tomcat 7 instance automatically or use "mvn package" and deploy the resulting -war to the application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-comet-chat-webapp/ - -You can now chat using multiple tabs or browsers. You can see the persistent HTTP -streaming connection or long polling subsequent connections using the developer tools -provided by your browser. - -The comet binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/pom.xml deleted file mode 100644 index e21068fd06..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/pom.xml +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-comet</artifactId>
- <version>2.0-Beta3</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-comet-chat-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0-Beta3</version>
- <name>Apache Tuscany SCA Sample binding.comet Chat Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-comet-runtime</artifactId>
- <version>2.0-Beta3</version>
- </dependency>
- <dependency>
- <groupId>javax</groupId>
- <artifactId>javaee-web-api</artifactId>
- <version>6.0</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0-Beta3</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>r09</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.t7mp</groupId>
- <artifactId>maven-t7-plugin</artifactId>
- <version>0.9.6</version>
- <configuration>
- <webapps>
- <webappArtifact>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>sample-binding-comet-chat-webapp</artifactId>
- <version>2.0-Beta3</version>
- </webappArtifact>
- </webapps>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/ChatService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/ChatService.java deleted file mode 100644 index acb224715a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/ChatService.java +++ /dev/null @@ -1,36 +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.sample.comet; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Callback(CometCallback.class) -@Remotable -public interface ChatService { - - @OneWay - void register(); - - @OneWay - void postMessage(String user, String message); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/ChatServiceImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/ChatServiceImpl.java deleted file mode 100644 index c4f3241c5b..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/ChatServiceImpl.java +++ /dev/null @@ -1,56 +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.sample.comet; - -import java.util.ArrayList; -import java.util.concurrent.CopyOnWriteArrayList; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.binding.comet.runtime.callback.Status; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(ChatService.class) -@Scope("COMPOSITE") -public class ChatServiceImpl implements ChatService { - - @Context - protected ComponentContext context; - - private CopyOnWriteArrayList<CometCallback> clients = new CopyOnWriteArrayList<CometCallback>(); - - @Override - public void postMessage(String user, String message) { - for (CometCallback callback : new ArrayList<CometCallback>(clients)) { - Status status = callback.sendMessage(user + ": " + message); - if (status == Status.CLIENT_DISCONNECTED) { - clients.remove(callback); - } - } - } - - @Override - public void register() { - // saving the callback object during register() method so it will push data back to the client - // using the callback method defined for the register operation in the js when used - clients.add(context.getRequestContext().<CometCallback> getCallback()); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index c535a38116..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://samples" name="Chat"> - - <component name="ChatComponent"> - <implementation.java - class="org.apache.tuscany.sca.sample.comet.ChatServiceImpl" /> - <service name="ChatService"> - <interface.java interface="org.apache.tuscany.sca.sample.comet.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback" /> - <tuscany:binding.comet /> - <callback> - <tuscany:binding.comet /> - </callback> - </service> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/index.html deleted file mode 100644 index 1aa79ed0b6..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,109 +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. ---> -<html> - <head> - <title>Apache Tuscany Comet Sample</title> - <!-- Tuscany Comet Javascript Toolkit is dependent on jQuery --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"></script> - <script type="text/javascript"> - var user = ""; - - $(document).ready(function() - { - $("#chat").hide(); - $("#username").focus(); - - // Tuscany Comet specific API - SCA.TuscanyComet.connect(); - - $("#register").click(function() { - register(messageCallback); - }); - - $("#username").keyup(function(e) { - if(e.keyCode == 13) { - register(messageCallback); - } - }); - - function register(callback) { - SCA.CometComponentContext.ChatService.register(callback); - user = $("#username").val(); - $("#login").hide(); - $("#chat").show(); - $("#message").focus(); - } - - $("#send").click(function() { - postMessage(user, $("#message").val(), postCallback); - }); - - $("#message").keyup(function(e) { - if(e.keyCode == 13) { - postMessage(user, $("#message").val(), postCallback); - } - }); - - function postMessage(user, message, callback) { - SCA.CometComponentContext.ChatService.postMessage(user, message, callback); - $("#message").val(""); - $("#message").focus(); - } - - }); - - // this method is invoked on new messages because the CometCallback object is saved - // during the register call so uses it's callback to push data back - function messageCallback(response) { - var textarea = document.getElementById('textarea'); - textarea.value += response + "\n"; - textarea.scrollTop = textarea.scrollHeight; - } - - function postCallback(response) { - } - - </script> - </head> - <body> - <h2>Apache Tuscany Comet Sample</h2> - <h3>Chat</h3> - <p/> - <div id="login"> - <table> - <tr> - <td>Nickname</td> - <td><input type="text" id='username'/></td> - <td><input type="button" id='register' value='Login'/></td> - </tr> - </table> - </div> - <div id="chat"> - <h3>Server notifications</h3> - <textarea id="textarea" rows="15" cols="30" readonly></textarea> - <table> - <tr> - <td><input type="text" id='message'/></td> - <td><input type="button" id='send' value='Send'/></td> - </tr> - </table> - </div> - </body> -</html> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pom.xml deleted file mode 100644 index f738b2c57f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-learning-more</artifactId>
- <version>2.0-Beta3</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-samples-binding-comet</artifactId>
- <packaging>pom</packaging>
- <name>Apache Tuscany SCA Sample binding.comet</name>
-
- <profiles>
- <profile>
- <id>default</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <module>autocomplete-webapp</module>
- <module>weather-webapp</module>
- <module>pubsub-webapp</module>
- <module>chat-webapp</module>
- </modules>
- </profile>
- </profiles>
-</project>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/README deleted file mode 100644 index 845ff70e58..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/README +++ /dev/null @@ -1,102 +0,0 @@ -Tuscany - Learning More - Binding Comet - PubSub Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via Comet techniques -as well as how to interact with them using Tuscany's javascript toolkit. It -also demonstrates how to push multiple responses for a single request using -SCA callbacks via comet techniques. - -This project contains a component that registers browser clients' interest in a -certain event type. When an event of that type comes in, it notifies all registered -clients. The event processor exposes a service via the websocket binding which -enables server push to clients. Note that Tuscany 2.x doesn't have any conversational -support so this has to be handled at application level by passing ids back and forth -between the client and the server. - -By adding <tuscany:binding.comet/> to a service definition, the Tuscany runtime -will handle the communication between the browser client and the service -implementation using Comet techniques. This enables bidirectional communication -over HTTP, therefore enabling server push. For more information, check -http://en.wikipedia.org/wiki/Comet_(programming). - -The comet binding is using the Atmosphere Framework under the hood to acomodate -as many deployment envorinments as possible. Basically, it checks if the -application server supports Servlet 3.0 falling back to a number of native -comet solutions provided by vendors (Jetty, Tomcat, WebLogic, GlassFish and -others). If none is available, Atmosphere will fallback to blocking IO. - -In order to enable callbacks to push multiple responses, you need to declare the -CometCallback in the service definition as follows: - <interface.java interface="org.apache.tuscany.sca.sample.comet.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback" /> - <tuscany:binding.comet /> - <callback> - <tuscany:binding.comet /> - </callback> - -The callback object has methods that facilitate sending messages back to the -calling client. It can be injected in the service implementation using the @Callback -annotation. - -One requirement that service methods have to meet to enable multiple response -support is that they have to be annotated with @OneWay to enable non-blocking -support. Without it, methods are treated synchronously sending a single response -which is the object returned by the method call. - -Invoking comet services can be done using Tuscany's javascript API which simulates -SCA in the browser. It uses the Atmosphere jQuery plugin under the hood. In order -to use it, the following script has to be included in the client page: - <script type="text/javascript" - src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"> - </script> - -The javascript toolkit permits choosing between two comet techniques: HTTP streaming -and long polling. More detailed information about them can be found on the previously -mentioned wikipedia page. - -First, a connect operation has to be issued in order to initiate communication -with the server side using the technique of your choice. This is done using the -connection method as follows: - SCA.TuscanyComet.connect('streaming'); // for HTTP streaming - SCA.TuscanyComet.connect('long-polling'); // for long polling - SCA.TuscanyComet.connect(); // starts with HTTP streaming and falls back to long polling if necessary - -The Tuscany Comet toolkit will inject proxies for all services defined in the composite -that are using binding.comet. All invocation and connection management is handled -under the hood so in order to invoke a comet service, the following should be called: - SCA.CometComponentContext.<service name>.<operation name>(<parameters>, callback); - -The callback parameter is the function that will handle responses received for a -certain service operation. It has a single argument which is the response: - function callback(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so parameters -will be mapped to the data types defined in the method definition. Also, the response -will have the same data type as the server side object used to wrap the response. -Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single HTTP -connection to handle communication between a browser client and all services -defined using binding.comet in the same composite. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. This is done in order to avoid -the 2 HTTP connection limit imposed by browsers. For more info, check -http://www.openajax.org/runtime/wiki/The_Two_HTTP_Connection_Limit_Issue. - -In order to run the sample, you can execute "mvn clean install t7:run" which will -start a Tomcat 7 instance automatically or use "mvn package" and deploy the resulting -war to the application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-comet-chat-webapp/ - -You can now register or unregister for any of a number of events. When an event is fired -on the server side, the browser client will receive a notification which will be displayed -in the page. You can see the persistent HTTP streaming connection or long polling subsequent -connections using the developer tools provided by your browser. - -The comet binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/pom.xml deleted file mode 100644 index 1d132b420d..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/pom.xml +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-comet</artifactId>
- <version>2.0-Beta3</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-comet-pubsub-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0-Beta3</version>
- <name>Apache Tuscany SCA Sample binding.comet PubSub Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-comet-runtime</artifactId>
- <version>2.0-Beta3</version>
- </dependency>
- <dependency>
- <groupId>javax</groupId>
- <artifactId>javaee-web-api</artifactId>
- <version>6.0</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0-Beta3</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>r09</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.t7mp</groupId>
- <artifactId>maven-t7-plugin</artifactId>
- <version>0.9.6</version>
- <configuration>
- <webapps>
- <webappArtifact>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>sample-binding-comet-pubsub-webapp</artifactId>
- <version>2.0-Beta3</version>
- </webappArtifact>
- </webapps>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Event.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Event.java deleted file mode 100644 index bcc6bea7af..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Event.java +++ /dev/null @@ -1,51 +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.sample.comet; - -public class Event { - - private String id; - private String name; - private String data; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getData() { - return data; - } - - public void setData(String data) { - this.data = data; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessor.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessor.java deleted file mode 100644 index 838d2f317c..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessor.java +++ /dev/null @@ -1,107 +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.sample.comet; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.binding.comet.runtime.callback.Status; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -import com.google.common.collect.HashMultimap; -import com.google.common.collect.Multimap; -import com.google.common.collect.Multimaps; - -@Service({ EventProcessorConsumerService.class, EventProcessorProducerService.class }) -@Scope("COMPOSITE") -public class EventProcessor implements EventProcessorConsumerService, EventProcessorProducerService { - - @Context - protected ComponentContext componentContext; - - private ConcurrentMap<String, CometCallback> clients = new ConcurrentHashMap<String, CometCallback>(); - private Multimap<String, String> eventListeners = Multimaps.synchronizedMultimap(HashMultimap - .<String, String> create()); - - @Override - public void onEvent(String eventName, String eventData) { - // System.out.println("EventProcessor: Received event " + eventName + - // "..."); - List<String> destinations = new ArrayList<String>(); - synchronized (eventListeners) { - destinations.addAll(eventListeners.get(eventName)); - } - Event event = new Event(); - event.setName(eventName); - event.setData(eventData); - for (String registrationId : destinations) { - CometCallback client = clients.get(registrationId); - if (client == null) { - // client has unregistered from this event - synchronized (eventListeners) { - eventListeners.remove(eventName, registrationId); - } - } else { - Status status = client.sendMessage(event); - if (status == Status.CLIENT_DISCONNECTED) { - unregister(registrationId); - } - } - } - } - - @Override - public void register(String eventName) { - String registrationId = UUID.randomUUID().toString(); - CometCallback callback = componentContext.getRequestContext().getCallback(); - clients.put(registrationId, callback); - synchronized (eventListeners) { - eventListeners.put(eventName, registrationId); - } - Event event = new Event(); - event.setId(registrationId); - event.setName(eventName); - event.setData(new Date().toString()); - callback.sendMessage(event); - } - - @Override - public void unregister(String registrationId) { - clients.remove(registrationId); - // unregistration from eventListeners done during onEvent - } - - @Destroy - public void shutdown() { - clients.clear(); - eventListeners.clear(); - clients = null; - eventListeners = null; - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessorConsumerService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessorConsumerService.java deleted file mode 100644 index c8208e862c..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessorConsumerService.java +++ /dev/null @@ -1,37 +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.sample.comet; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Callback(CometCallback.class) -@Remotable -public interface EventProcessorConsumerService { - - @OneWay - void register(String eventName); - - @OneWay - void unregister(String registrationId); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessorProducerService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessorProducerService.java deleted file mode 100644 index 49d760d171..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessorProducerService.java +++ /dev/null @@ -1,28 +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.sample.comet; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface EventProcessorProducerService { - - void onEvent(String eventName, String eventData); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Producer.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Producer.java deleted file mode 100644 index 59307824ce..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Producer.java +++ /dev/null @@ -1,76 +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.sample.comet; - -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; - -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; - -@EagerInit -@Scope("COMPOSITE") -public class Producer { - - @Reference - protected EventProcessorProducerService eventProcessor; - - private String eventName; - private long frequency; - - private Timer timer = new Timer(); - private Object lock = new Object(); - - @Constructor - public Producer(@Property(name = "eventName") String eventName, @Property(name = "frequency") long frequency) { - System.out.println("Producer: In Constructor with eventName=" + eventName + " and frequency=" + frequency); - this.eventName = eventName; - this.frequency = frequency; - } - - @Init - public void start() { - System.out.println("Producer: In Init..."); - timer.schedule(new TimerTask() { - - @Override - public void run() { -// System.out.println("Producer: Producing " + eventName + " event..."); - synchronized (lock) { - eventProcessor.onEvent(Producer.this.eventName, "Event @ " + new Date()); - } - } - }, 0L, this.frequency); - } - - @Destroy - public void stop() { - synchronized (lock) { - timer.cancel(); - } - timer = null; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index 6479e10e99..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,63 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://samples" name="Event"> - - <component name="EventProcessorComponent"> - <implementation.java - class="org.apache.tuscany.sca.sample.comet.EventProcessor" /> - <service name="EventProcessorConsumerService"> - <interface.java - interface="org.apache.tuscany.sca.sample.comet.EventProcessorConsumerService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback" /> - <tuscany:binding.comet /> - <callback> - <tuscany:binding.comet /> - </callback> - </service> - <service name="EventProcessorProducerService"> - <interface.java - interface="org.apache.tuscany.sca.sample.comet.EventProcessorProducerService" /> - </service> - </component> - - <component name="SLOWProducerComponent"> - <implementation.java class="org.apache.tuscany.sca.sample.comet.Producer" /> - <reference name="eventProcessor" target="EventProcessorComponent" /> - <property name="eventName">SLOW</property> - <property name="frequency">6000</property> - </component> - - <component name="MODERATEProducerComponent"> - <implementation.java class="org.apache.tuscany.sca.sample.comet.Producer" /> - <reference name="eventProcessor" target="EventProcessorComponent" /> - <property name="eventName">MODERATE</property> - <property name="frequency">3000</property> - </component> - - <component name="FASTProducerComponent"> - <implementation.java class="org.apache.tuscany.sca.sample.comet.Producer" /> - <reference name="eventProcessor" target="EventProcessorComponent" /> - <property name="eventName">FAST</property> - <property name="frequency">1000</property> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/index.html deleted file mode 100644 index 0488c4cb10..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,107 +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. ---> -<html> -<head> - <title>Apache Tuscany Comet Sample</title> - <!-- Tuscany Comet Javascript Toolkit is dependent on jQuery --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"></script> - <script type="text/javascript"> - $(document).ready(function() - { - // Tuscany Comet specific API - $('#connect').click(function(event) { - /* transport can be : long-polling or streaming */ - SCA.TuscanyComet.connect($('#transport').val()); - $('#connect').val('Switch'); - }); - - - $('#registerEventButton').click(function(event) { - var eventName = $('#registerEventName').val(); - if (registrationIds[eventName] != null) { - alert("Already registered for " + eventName + " events"); - } else { - SCA.CometComponentContext.EventProcessorConsumerService.register(eventName, responseReceived); - } - }); - - $('#unregisterEventButton').click(function(event) { - var eventName = $('#unregisterEventName').val(); - if (registrationIds[eventName] != null) { - SCA.CometComponentContext.EventProcessorConsumerService.unregister(registrationIds[eventName], responseReceived); - registrationIds[eventName] = null; - } else { - alert("Not registered for " + eventName + " events"); - } - }); - - }); - - var registrationIds = {}; - - function responseReceived(event) { - var text = ''; - if (event.id != null) { - // registration notification - registrationIds[event.name] = event.id; - text = "Registered to " + event.name + " with id " + event.id + " at " + event.data; - } else { - // event notification - text = event.name + ": " + event.data; - } - var textarea = $('#textarea'); - $(textarea).val($(textarea).val() + text + "\n"); - $(textarea).scrollTop($(textarea)[0].scrollHeight); - } - - </script> -</head> -<body> - <div id='sidebar'> - <h2>Apache Tuscany Comet Sample</h2> - <label>Select transport</label> <select id="transport"> - <option id="streaming" value="streaming">http streaming</option> - <option id="long-polling" value="long-polling">long-polling</option> - </select> <input id='connect' type='submit' value='Connect' /> - <h3>PubSub for FAST, MODERATE and SLOW events</h3> - <p /> - <table> - <tr> - <td>Event name</td> - <td><input type="text" id='registerEventName' value='FAST' /> - </td> - <td><input type="button" id='registerEventButton' - value='Register' /> - </td> - </tr> - <tr> - <td>Event name</td> - <td><input type="text" id='unregisterEventName' value='FAST' /> - </td> - <td><input type="button" id='unregisterEventButton' - value='Unregister' /> - </td> - </tr> - </table> - <h3>Server notifications</h3> - <textarea id="textarea" rows="15" cols="80" readonly></textarea> - </div> -</body> -</html> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/README deleted file mode 100644 index dc69bcf6fc..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/README +++ /dev/null @@ -1,100 +0,0 @@ -Tuscany - Learning More - Binding Comet - Weather Monitor Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via Comet techniques -as well as how to interact with them using Tuscany's javascript toolkit. It -also demonstrates how to push multiple responses for a single request using -SCA callbacks via comet techniques. - -This project contains multiple services that once called will push notifications -to the client regarding certain weather parameters according to the location of -the user. Of course, the service implementation is a mock that generates random -numbers at a fixed interval of time as weather parameters. - -By adding <tuscany:binding.comet/> to a service definition, the Tuscany runtime -will handle the communication between the browser client and the service -implementation using Comet techniques. This enables bidirectional communication -over HTTP, therefore enabling server push. For more information, check -http://en.wikipedia.org/wiki/Comet_(programming). - -The comet binding is using the Atmosphere Framework under the hood to acomodate -as many deployment envorinments as possible. Basically, it checks if the -application server supports Servlet 3.0 falling back to a number of native -comet solutions provided by vendors (Jetty, Tomcat, WebLogic, GlassFish and -others). If none is available, Atmosphere will fallback to blocking IO. - -In order to enable callbacks to push multiple responses, you need to declare the -CometCallback in the service definition as follows: - <interface.java interface="org.apache.tuscany.sca.sample.comet.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback" /> - <tuscany:binding.comet /> - <callback> - <tuscany:binding.comet /> - </callback> - -The callback object has methods that facilitate sending messages back to the -calling client. It can be injected in the service implementation using the @Callback -annotation. - -One requirement that service methods have to meet to enable multiple response -support is that they have to be annotated with @OneWay to enable non-blocking -support. Without it, methods are treated synchronously sending a single response -which is the object returned by the method call. - -Invoking comet services can be done using Tuscany's javascript API which simulates -SCA in the browser. It uses the Atmosphere jQuery plugin under the hood. In order -to use it, the following script has to be included in the client page: - <script type="text/javascript" - src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"> - </script> - -The javascript toolkit permits choosing between two comet techniques: HTTP streaming -and long polling. More detailed information about them can be found on the previously -mentioned wikipedia page. - -First, a connect operation has to be issued in order to initiate communication -with the server side using the technique of your choice. This is done using the -connection method as follows: - SCA.TuscanyComet.connect('streaming'); // for HTTP streaming - SCA.TuscanyComet.connect('long-polling'); // for long polling - SCA.TuscanyComet.connect(); // starts with HTTP streaming and falls back to long polling if necessary - -The Tuscany Comet toolkit will inject proxies for all services defined in the composite -that are using binding.comet. All invocation and connection management is handled -under the hood so in order to invoke a comet service, the following should be called: - SCA.CometComponentContext.<service name>.<operation name>(<parameters>, callback); - -The callback parameter is the function that will handle responses received for a -certain service operation. It has a single argument which is the response: - function callback(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so parameters -will be mapped to the data types defined in the method definition. Also, the response -will have the same data type as the server side object used to wrap the response. -Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single HTTP -connection to handle communication between a browser client and all services -defined using binding.comet in the same composite. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. This is done in order to avoid -the 2 HTTP connection limit imposed by browsers. For more info, check -http://www.openajax.org/runtime/wiki/The_Two_HTTP_Connection_Limit_Issue. - -In order to run the sample, you can execute "mvn clean install t7:run" which will -start a Tomcat 7 instance automatically or use "mvn package" and deploy the resulting -war to the application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-comet-weather-webapp/ - -You can now set a location and register for various weather parameters. Notifications -will be pushed to the browser when weather parameters change. You can see the persistent -HTTP streaming connection or long polling subsequent connections using the developer -tools provided by your browser. - -The comet binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/pom.xml deleted file mode 100644 index 0e65ff2cec..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/pom.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-comet</artifactId>
- <version>2.0-Beta3</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-comet-weather-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0-Beta3</version>
- <name>Apache Tuscany SCA Sample binding.comet Weather Monitor Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-comet-runtime</artifactId>
- <version>2.0-Beta3</version>
- </dependency>
- <dependency>
- <groupId>javax</groupId>
- <artifactId>javaee-web-api</artifactId>
- <version>6.0</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0-Beta3</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.t7mp</groupId>
- <artifactId>maven-t7-plugin</artifactId>
- <version>0.9.6</version>
- <configuration>
- <webapps>
- <webappArtifact>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>sample-binding-comet-weather-webapp</artifactId>
- <version>2.0-Beta3</version>
- </webappArtifact>
- </webapps>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Helper.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Helper.java deleted file mode 100644 index eecc6044ea..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Helper.java +++ /dev/null @@ -1,34 +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.sample.comet; - -import java.util.Date; -import java.util.Random; - -public final class Helper { - - public static int randomInt(final int max) { - return (new Random(new Date().getTime()).nextInt(100)); - } - - private Helper() { - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java deleted file mode 100644 index 7145e30e03..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java +++ /dev/null @@ -1,35 +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.sample.comet; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.sample.comet.model.Location; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -@Callback(CometCallback.class) -public interface HumidityService { - - @OneWay - void getHumidity(Location location); - -}
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationService.java deleted file mode 100644 index a53fac5ed1..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationService.java +++ /dev/null @@ -1,35 +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.sample.comet; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.sample.comet.model.Location; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -@Callback(CometCallback.class) -public interface PrecipitationService { - - @OneWay - void getPrecipitation(Location location); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java deleted file mode 100644 index 2c064a3ae6..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java +++ /dev/null @@ -1,56 +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.sample.comet; - -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.binding.comet.runtime.callback.Status; -import org.apache.tuscany.sca.sample.comet.model.Location; -import org.apache.tuscany.sca.sample.comet.model.Response; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Service; - -@Service(PrecipitationService.class) -public class PrecipitationServiceImpl implements PrecipitationService { - - @Callback - protected CometCallback client; - - @Override - public void getPrecipitation(final Location location) { - new Timer().scheduleAtFixedRate(new TimerTask() { - - @Override - public void run() { - Response response = new Response(); - response.setDate(new Date()); - response.setData(Helper.randomInt(100) + "%"); - Status status = client.sendMessage(response); - if (status == Status.CLIENT_DISCONNECTED) { - System.out.println("Client disconnected from PrecipitationService."); - this.cancel(); - } - } - }, 0L, 1000L); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java deleted file mode 100644 index 4227667e7f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java +++ /dev/null @@ -1,76 +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.sample.comet; - -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.binding.comet.runtime.callback.Status; -import org.apache.tuscany.sca.sample.comet.model.Location; -import org.apache.tuscany.sca.sample.comet.model.Response; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Service; - -@Service({ TemperatureService.class, HumidityService.class }) -public class TemperatureHumidityServiceImpl implements TemperatureService, HumidityService { - - @Callback - protected CometCallback callback; - - @Override - public void getHumidity(final Location location) { - new Timer().scheduleAtFixedRate(new TimerTask() { - - @Override - public void run() { - final Response response = new Response(); - response.setDate(new Date()); - response.setData(Helper.randomInt(90) + "%"); - Status status = callback.sendMessage(response); - if (status == Status.CLIENT_DISCONNECTED) { - System.out.println("Client disconnected from HumidityService."); - this.cancel(); - } - } - }, 0L, 5000L); - } - - @Override - public void getTemperature(final Location location, final int scale) { - new Timer().scheduleAtFixedRate(new TimerTask() { - - @Override - public void run() { - final Response response = new Response(); - response.setDate(new Date()); - final String data = "" + Helper.randomInt(scale == TemperatureService.CELSIUS ? 40 : 150); - response.setData(data); - Status status = callback.sendMessage(response); - if (status == Status.CLIENT_DISCONNECTED) { - System.out.println("Client disconnected from TemperatureService."); - this.cancel(); - } - } - }, 0L, 3000L); - } - -}
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java deleted file mode 100644 index 83afae696f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java +++ /dev/null @@ -1,38 +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.sample.comet; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.sample.comet.model.Location; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -@Callback(CometCallback.class) -public interface TemperatureService { - - public static final int CELSIUS = 1; - public static final int FAHRENHEIT = 2; - - @OneWay - void getTemperature(Location location, int scale); - -}
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Location.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Location.java deleted file mode 100644 index ff2da3a360..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Location.java +++ /dev/null @@ -1,43 +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.sample.comet.model; - -public class Location { - - private String city; - private String country; - - public String getCity() { - return this.city; - } - - public void setCity(final String city) { - this.city = city; - } - - public String getCountry() { - return this.country; - } - - public void setCountry(final String country) { - this.country = country; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Response.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Response.java deleted file mode 100644 index aaa23f0b8a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Response.java +++ /dev/null @@ -1,45 +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.sample.comet.model; - -import java.util.Date; - -public class Response { - - private Date date; - private String data; - - public Date getDate() { - return this.date; - } - - public void setDate(final Date date) { - this.date = date; - } - - public String getData() { - return this.data; - } - - public void setData(final String data) { - this.data = data; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index 20d25fe527..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://samples" - name="Weather"> - - <component name="c1"> - <implementation.java class="org.apache.tuscany.sca.sample.comet.TemperatureHumidityServiceImpl"/> - <service name="TemperatureService"> - <interface.java interface="org.apache.tuscany.sca.sample.comet.TemperatureService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback"/> - <tuscany:binding.comet/> - <callback> - <tuscany:binding.comet/> - </callback> - </service> - <service name="HumidityService"> - <interface.java interface="org.apache.tuscany.sca.sample.comet.HumidityService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback"/> - <tuscany:binding.comet/> - <callback> - <tuscany:binding.comet/> - </callback> - </service> - </component> - - - <component name="c2"> - <implementation.java class="org.apache.tuscany.sca.sample.comet.PrecipitationServiceImpl"/> - <service name="PrecipitationService"> - <interface.java interface="org.apache.tuscany.sca.sample.comet.PrecipitationService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback"/> - <tuscany:binding.comet/> - <callback> - <tuscany:binding.comet/> - </callback> - </service> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/index.html deleted file mode 100644 index 6c3cf7ab5c..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,159 +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. ---> -<html> - <head> - <title>Apache Tuscany Comet Sample</title> - <!-- Tuscany Comet Javascript Toolkit is dependent on jQuery --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"></script> - <script type="text/javascript"> - $(document).ready(function() - { - // Initialization - var location = new Object(); - location.city = null; - location.country = null; - - $('#locationButton').attr('disabled', 'disabled'); - $('#tempCButton').attr('disabled', 'disabled'); - $('#tempFButton').attr('disabled', 'disabled'); - $('#humButton').attr('disabled', 'disabled'); - $('#precipButton').attr('disabled', 'disabled'); - - $('#locationButton').click(function(event) { - location.city = $('#city').val(); - location.country = $('#country').val(); - $('#locationButton').val('Switch location'); - $('#tempCButton').removeAttr('disabled'); - $('#tempFButton').removeAttr('disabled'); - $('#humButton').removeAttr('disabled'); - $('#precipButton').removeAttr('disabled'); - $('#tempCText').text('N/A'); - $('#tempCDate').text(''); - $('#tempFText').text('N/A'); - $('#tempFDate').text(''); - $('#humText').text('N/A'); - $('#humDate').text(''); - $('#precipText').text('N/A'); - $('#precipDate').textContent(''); - }); - - // Tuscany Comet specific API - $('#connect').click(function(event) { - /* transport can be : long-polling or streaming */ - SCA.TuscanyComet.connect($('#transport').val()); - $('#connect').val('Switch'); - $('#locationButton').removeAttr('disabled'); - }); - - - $('#tempCButton').click(function(event) { - SCA.CometComponentContext.TemperatureService.getTemperature(location, 1, updateTempC); - $('#tempCButton').removeAttr('disabled'); - }); - - $('#tempFButton').click(function(event) { - SCA.CometComponentContext.TemperatureService.getTemperature(location, 2, updateTempF); - $('#tempFButton').removeAttr('disabled'); - }); - - $('#humButton').click(function(event) { - SCA.CometComponentContext.HumidityService.getHumidity(location, updateHum); - $('#humButton').removeAttr('disabled'); - }); - - $('#precipButton').click(function(event) { - SCA.CometComponentContext.PrecipitationService.getPrecipitation(location, updatePrecip); - $('#precipButton').removeAttr('disabled'); - }); - }); - - function updateTempC(response) { - $('#tempCText').text(response.data); - $('#tempCDate').text(response.date); - } - - function updateTempF(response) { - $('#tempFText').text(response.data); - $('#tempFDate').text(response.date); - } - - function updateHum(response) { - $('#humText').text(response.data); - $('#humDate').text(response.date); - } - - function updatePrecip(response) { - $('#precipText').text(response.data); - $('#precipDate').text(response.date); - } - </script> - </head> - <body> - <div id='sidebar'> - <h2>Apache Tuscany Comet Sample</h2> - <label>Select transport</label> - <select id="transport"> - <option id="streaming" value="streaming">http streaming</option> - <option id="long-polling" value="long-polling">long-polling</option> - </select> - <input id='connect' type='submit' value='Connect'/> - <h3>Weather Monitor</h3> - <p/> - <table> - <tr> - <td>City</td> - <td><input type="text" id='city' value='Brasov'/></td> - </tr> - <tr> - <td>Country</td> - <td><input type="text" id ='country' value='Romania'/></td> - </tr> - </table> - <input type="button" id='locationButton' value='Set location'/> - <p/> - <table> - <tr> - <th align="left">Temperature (Celsius):</th> - <td><span id='tempCText'>N/A</span></td> - <td><input type='button' id='tempCButton' value="Update"/></td> - <td><span id='tempCDate'></span> - </tr> - <tr> - <th align="left">Temperature (Fahrenheit):</th> - <td><span id='tempFText'>N/A</span></td> - <td><input type='button' id='tempFButton' value="Update"/></td> - <td><span id='tempFDate'></span> - </tr> - <tr> - <th align="left">Humidity:</th> - <td><span id='humText'>N/A</span></td> - <td><input type='button' id='humButton' value="Update"/></td> - <td><span id='humDate'></span> - </tr> - <tr> - <th align="left">Precipitation probability:</th> - <td><span id='precipText'>N/A</span></td> - <td><input type='button' id='precipButton' value="Update"/></td> - <td><span id='precipDate'></span> - </tr> - </table> - </div> - </body> -</html> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/README deleted file mode 100644 index a0b90cdf2f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/README +++ /dev/null @@ -1,67 +0,0 @@ -Tuscany - Learning More - Binding Websocket - Autocomplete Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via websockets as well -as how to interact with them using Tuscany's javascript API. - -This project contains a service (CountryService) that handles requests asking -for country names starting with a certain prefix. The service implementation -uses a country repository to fetch the necessary data. - -By adding <tuscany:binding.websocket port="8090"/> to a service definition, the -Tuscany runtime will start a websocket server listening for requests coming -in for the exposed service at the specified port. If no port is specified, the -runtime will use port 9000 as a default. - -The websocket binding uses embedded Jetty instances as websocket servers. At the -moment, Jetty 8.0.0-M3 is used which has support for the 00, 01, 06 and 07 -versions of the websocket protocol drafts. - -IN ORDER TO RUN THIS SAMPLE SUCCESSFULLY PLEASE CHECK IF YOUR BROWSER SUPPORTS -THE ABOVE WEBSOCKET PROTOCOL VERSIONS AND THAT THE WEBSOCKET SUPPORT IS ENABLED. - -The websocket binding also features a javascript API to simulate SCA in the -browser. In order to use it, the following script has to be included in the -client page: - <script type="text/javascript" - src="org.apache.tuscany.sca.WebsocketComponentContext.js"> - </script> - -This will inject proxies for all services defined in the composite that are -using binding.websocket. All invocation and connection management is handled -under the hood so in order to invoke a websocket service, the following should -be called: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>(<parameters>); - -Given the asynchornous nature of websockets, a function should be defined in -order to handle responses received for a certain service operation. This should -be done as follows: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>.responseHandler = function(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so the -parameters should have the same structure as the data types defined in the method -definition. Also, the response will have the same data type as the return type of -the service method. Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single websocket -connection to handle communication between a browser client and all services -defined using binding.websocket on the same port. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. - -In order to run the sample, you can execute "mvn jetty:run" which will start a Jetty -instance automatically or use "mvn package" and deploy the resulting war to the -application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-websocket-autocomplete-webapp/ - -You can see how suggestions are being received in real time when characters are -entered in the text field. You can see the persistent websocket connection using -the developer tools provided by your browser. - -The websocket binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/pom.xml deleted file mode 100644 index 22bfdc3140..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/pom.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-websocket</artifactId>
- <version>2.0-Beta3</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-websocket-autocomplete-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0-Beta3</version>
- <name>Apache Tuscany SCA Sample binding.websocket Autocomplete Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-websocket</artifactId>
- <version>2.0-Beta3</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0-Beta3</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <version>6.1.26</version>
- </plugin>
- </plugins>
- </build>
-
-</project>
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/Country.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/Country.java deleted file mode 100644 index 931e205dd7..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/Country.java +++ /dev/null @@ -1,40 +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 sample; - -import java.io.Serializable; - -public class Country implements Serializable { - - private String name; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String toString() { - return name; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryRepository.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryRepository.java deleted file mode 100644 index eb30e6f36a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryRepository.java +++ /dev/null @@ -1,30 +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 sample; - -import java.util.List; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface CountryRepository { - - List<Country> findStartingWith(String text); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryRepositoryImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryRepositoryImpl.java deleted file mode 100644 index 17ce39a10e..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryRepositoryImpl.java +++ /dev/null @@ -1,80 +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 sample; - -import java.io.BufferedReader; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.List; - -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@EagerInit -@Scope("COMPOSITE") -@Service(CountryRepository.class) -public class CountryRepositoryImpl implements CountryRepository { - - private String fileName; - private List<Country> countries; - - @Constructor - public CountryRepositoryImpl(@Property(name = "fileName") String fileName) { - this.fileName = fileName; - countries = new ArrayList<Country>(); - } - - @Init - public void start() { - try { - BufferedReader reader = new BufferedReader(new InputStreamReader(getClass().getClassLoader() - .getResourceAsStream(fileName))); - String line; - while ((line = reader.readLine()) != null) { - if (!line.startsWith("#")) { - Country c = new Country(); - c.setName(line); - countries.add(c); - } - } - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public List<Country> findStartingWith(String text) { - List<Country> result = new ArrayList<Country>(); - for (Country c : countries) { - if (c.getName().toLowerCase().startsWith(text.toLowerCase())) { - result.add(c); - } - } - return result; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryService.java deleted file mode 100644 index 40212d5ba5..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryService.java +++ /dev/null @@ -1,30 +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 sample; - -import java.util.List; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface CountryService { - - List<Country> getCountriesStartingWith(String text); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryServiceImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryServiceImpl.java deleted file mode 100644 index 20ceacd5f0..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryServiceImpl.java +++ /dev/null @@ -1,36 +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 sample; - -import java.util.List; - -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(CountryService.class) -public class CountryServiceImpl implements CountryService { - - @Reference - protected CountryRepository repository; - - @Override - public List<Country> getCountriesStartingWith(String text) { - return repository.findStartingWith(text); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/resources/countries.txt b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/resources/countries.txt deleted file mode 100644 index 0ce76f8167..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/resources/countries.txt +++ /dev/null @@ -1,211 +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. -Afghanistan -Albania -Algeria -Andorra -Angola -Antigua & Barbuda -Argentina -Armenia -Australia -Austria -Azerbaijan -Bahamas -Bahrain -Bangladesh -Barbados -Belarus -Belgium -Belize -Benin -Bhutan -Bolivia -Bosnia & Herzegovina -Botswana -Brazil -Brunei -Bulgaria -Burkina Faso -Burundi -Cambodia -Cameroon -Canada -Cape Verde -Central African Republic -Chad -Chile -China -Colombia -Comoros -Congo -Congo Democratic Republic of -Costa Rica -Cote d'Ivoire -Croatia -Cuba -Cyprus -Czech Republic -Denmark -Djibouti -Dominica -Dominican Republic -Ecuador -East Timor -Egypt -El Salvador -Equatorial Guinea -Eritrea -Estonia -Ethiopia -Fiji -Finland -France -Gabon -Gambia -Georgia -Germany -Ghana -Greece -Grenada -Guatemala -Guinea -Guinea-Bissau -Guyana -Haiti -Honduras -Hungary -Iceland -India -Indonesia -Iran -Iraq -Ireland -Israel -Italy -Jamaica -Japan -Jordan -Kazakhstan -Kenya -Kiribati -Korea North -Korea South -Kosovo -Kuwait -Kyrgyzstan -Laos -Latvia -Lebanon -Lesotho -Liberia -Libya -Liechtenstein -Lithuania -Luxembourg -Macedonia -Madagascar -Malawi -Malaysia -Maldives -Mali -Malta -Marshall Islands -Mauritania -Mauritius -Mexico -Micronesia -Moldova -Monaco -Mongolia -Montenegro -Morocco -Mozambique -Myanmar (Burma) -Namibia -Nauru -Nepal -The Netherlands -New Zealand -Nicaragua -Niger -Nigeria -Norway -Oman -Pakistan -Palau -Palestinian State* -Panama -Papua New Guinea -Paraguay -Peru -The Philippines -Poland -Portugal -Qatar -Romania -Russia -Rwanda -St. Kitts & Nevis -St. Lucia -St. Vincent & The Grenadines -Samoa -San Marino -Sao Tome & Principe -Saudi Arabia -Senegal -Serbia -Seychelles -Sierra Leone -Singapore -Slovakia -Slovenia -Solomon Islands -Somalia -South Africa -Spain -Sri Lanka -Sudan -Suriname -Swaziland -Sweden -Switzerland -Syria -Taiwan -Tajikistan -Tanzania -Thailand -Togo -Tonga -Trinidad & Tobago -Tunisia -Turkey -Turkmenistan -Tuvalu -Uganda -Ukraine -United Arab Emirates -United Kingdom -United States of America -Uruguay -Uzbekistan -Vanuatu -Vatican City (Holy See) -Venezuela -Yemen -Zambia -Zimbabwe diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index fc1c177e9b..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" - targetNamespace="http://samples" name="Chat"> - - <component name="CountryServiceComponent"> - <implementation.java - class="sample.CountryServiceImpl" /> - <service name="CountryService"> - <interface.java interface="sample.CountryService" /> - <tuscany:binding.websocket port="8090" /> - </service> - <reference name="repository" target="CountryRepositoryComponent" /> - </component> - - <component name="CountryRepositoryComponent"> - <implementation.java class="sample.CountryRepositoryImpl" /> - <property name="fileName">countries.txt</property> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/index.html deleted file mode 100644 index 618c772eb6..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,64 +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. ---> -<html> - <head> - <title>Apache Tuscany Websocket Sample</title> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="org.apache.tuscany.sca.WebsocketComponentContext.js"></script> - <script type="text/javascript"> - var user = ""; - - Tuscany.WebsocketComponentContext.CountryServiceComponent.CountryService.getCountriesStartingWith.responseHandler = function(response) { - var html = '<ul>'; - $.each(response, function(index, country) { - html += '<li>' + country.name + "</li>" - }); - html += '</ul>' - $("#suggestions").html(html); - } - - $(document).ready(function() - { - $("#country").keyup(function() { - var text = $("#country").val(); - if (text != "") { - Tuscany.WebsocketComponentContext.CountryServiceComponent.CountryService.getCountriesStartingWith(text); - } else { - $("#suggestions").html(""); - } - }); - $("#country").focus(); - }); - - </script> - </head> - <body> - <h2>Apache Tuscany Websocket Sample</h2> - <h3>Real-time suggestions</h3> - <table> - <tr> - <td>Enter a country name</td> - <td><input type="text" id='country'/></td> - </tr> - </table> - </div> - <div id="suggestions"> - </div> - </body> -</html> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/README deleted file mode 100644 index 5a9381f980..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/README +++ /dev/null @@ -1,88 +0,0 @@ -Tuscany - Learning More - Binding Websocket - Chat Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via websockets as well -as how to interact with them using Tuscany's javascript API. It also demonstrates -how to push multiple responses from the server to the client for a single request -using SCA callbacks. - -This project contains a service (ChatService) that handles chat operations like -register and postMessage. Once a client is registered it will receive messages -that are sent to the chat room. - -By adding <tuscany:binding.websocket port="8090"/> to a service definition, the -Tuscany runtime will start a websocket server listening for requests coming -in for the exposed service at the specified port. If no port is specified, the -runtime will use port 9000 as a default. - -The websocket binding uses embedded Jetty instances as websocket servers. At the -moment, Jetty 8.0.0-M3 is used which has support for the 00, 01, 06 and 07 -versions of the websocket protocol drafts. - -IN ORDER TO RUN THIS SAMPLE SUCCESSFULLY PLEASE CHECK IF YOUR BROWSER SUPPORTS -THE ABOVE WEBSOCKET PROTOCOL VERSIONS AND THAT THE WEBSOCKET SUPPORT IS ENABLED. - -In order to enable callbacks to push multiple responses, you need to declare the -WebsocketBindingCallback in the service definition as follows: - - <interface.java interface="sample.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback" /> - <tuscany:binding.websocket /> - <callback> - <tuscany:binding.websocket /> - </callback> - -The callback object has methods that facilitate sending messages back to the -calling client. It can be injected in the service implementation using the @Callback -annotation. However, the service implementation for this sample has the COMPOSITE -scope so the callback reference has to be obtained from the ComponentContext. - -One requirement that service methods have to meet to enable multiple response -support is that they have to be annotated with @OneWay to enable non-blocking -support. Without it, methods are treated synchronously sending a single response -which is the object returned by the method call. - -The websocket binding also features a javascript API to simulate SCA in the -browser. In order to use it, the following script has to be included in the -client page: - <script type="text/javascript" - src="org.apache.tuscany.sca.WebsocketComponentContext.js"> - </script> - -This will inject proxies for all services defined in the composite that are -using binding.websocket. All invocation and connection management is handled -under the hood so in order to invoke a websocket service, the following should -be called: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>(<parameters>); - -Given the asynchornous nature of websockets, a function should be defined in -order to handle responses received for a certain service operation. This should -be done as follows: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>.responseHandler = function(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so parameters -will be mapped to the data types defined in the method definition. Also, the response -will have the same data type as the server side object used to wrap the response. -Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single persistent -websocket connection to handle communication between a browser client and all services -defined using binding.websocket on the same port. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. - -In order to run the sample, you can execute "mvn jetty:run" which will start a Jetty -instance automatically or use "mvn package" and deploy the resulting war to the -application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-websocket-chat-webapp/ - -You can now chat using multiple tabs or browsers. You can see the persistent websocket -connection using the developer tools provided by your browser. - -The websocket binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/pom.xml deleted file mode 100644 index 935ef1b6e1..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/pom.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-websocket</artifactId>
- <version>2.0-Beta3</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-websocket-chat-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0-Beta3</version>
- <name>Apache Tuscany SCA Sample binding.websocket Chat Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-websocket</artifactId>
- <version>2.0-Beta3</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0-Beta3</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>r09</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <version>6.1.26</version>
- </plugin>
- </plugins>
- </build>
-
-</project>
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/java/sample/ChatService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/java/sample/ChatService.java deleted file mode 100644 index 7ec6a547a9..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/java/sample/ChatService.java +++ /dev/null @@ -1,36 +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 sample; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Callback(WebsocketBindingCallback.class) -@Remotable -public interface ChatService { - - @OneWay - void register(); - - @OneWay - void postMessage(String user, String message); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/java/sample/ChatServiceImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/java/sample/ChatServiceImpl.java deleted file mode 100644 index 6fd4455ba9..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/java/sample/ChatServiceImpl.java +++ /dev/null @@ -1,58 +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 sample; - -import java.util.ArrayList; -import java.util.concurrent.CopyOnWriteArrayList; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketStatus; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(ChatService.class) -@Scope("COMPOSITE") -public class ChatServiceImpl implements ChatService { - - @Context - protected ComponentContext context; - - private CopyOnWriteArrayList<WebsocketBindingCallback> clients = new CopyOnWriteArrayList<WebsocketBindingCallback>(); - - @Override - public void postMessage(String user, String message) { - for (WebsocketBindingCallback callback : new ArrayList<WebsocketBindingCallback>(clients)) { - WebsocketStatus status = callback.sendMessage(user + ": " + message); - if (status == WebsocketStatus.CLOSED) { - clients.remove(callback); - } - } - } - - @Override - public void register() { - // saving the callback object during register() method so it will push - // data back to the client - // using the callback method defined for the register operation in the - // js when used - clients.add(context.getRequestContext().<WebsocketBindingCallback> getCallback()); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index 4e83fee9e8..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://samples" name="Chat"> - - <component name="ChatComponent"> - <implementation.java - class="sample.ChatServiceImpl" /> - <service name="ChatService"> - <interface.java interface="sample.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback" /> - <tuscany:binding.websocket /> - <callback> - <tuscany:binding.websocket /> - </callback> - </service> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/index.html deleted file mode 100644 index 2309be8533..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,99 +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. ---> -<html> - <head> - <title>Apache Tuscany Websocket Sample</title> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="org.apache.tuscany.sca.WebsocketComponentContext.js"></script> - <script type="text/javascript"> - var user = ""; - - $(document).ready(function() - { - $("#chat").hide(); - $("#username").focus(); - - $("#register").click(function() { - register(); - }); - - $("#username").keyup(function(e) { - if(e.keyCode == 13) { - register(); - } - }); - - Tuscany.WebsocketComponentContext.ChatComponent.ChatService.register.responseHandler = function(response) { - var textarea = document.getElementById('textarea'); - textarea.value += response + "\n"; - textarea.scrollTop = textarea.scrollHeight; - } - - function register() { - Tuscany.WebsocketComponentContext.ChatComponent.ChatService.register(); - user = $("#username").val(); - $("#login").hide(); - $("#chat").show(); - $("#message").focus(); - } - - $("#send").click(function() { - postMessage(user, $("#message").val()); - }); - - $("#message").keyup(function(e) { - if(e.keyCode == 13) { - postMessage(user, $("#message").val()); - } - }); - - function postMessage(user, message) { - Tuscany.WebsocketComponentContext.ChatComponent.ChatService.postMessage(user, message); - $("#message").val(""); - $("#message").focus(); - } - - }); - </script> - </head> - <body> - <h2>Apache Tuscany Comet Sample</h2> - <h3>Chat</h3> - <p/> - <div id="login"> - <table> - <tr> - <td>Nickname</td> - <td><input type="text" id='username'/></td> - <td><input type="button" id='register' value='Login'/></td> - </tr> - </table> - </div> - <div id="chat"> - <h3>Server notifications</h3> - <textarea id="textarea" rows="15" cols="30" readonly></textarea> - <table> - <tr> - <td><input type="text" id='message'/></td> - <td><input type="button" id='send' value='Send'/></td> - </tr> - </table> - </div> - </body> -</html> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pom.xml deleted file mode 100644 index e28ba1f6c6..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-learning-more</artifactId>
- <version>2.0-Beta3</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-samples-binding-websocket</artifactId>
- <packaging>pom</packaging>
- <name>Apache Tuscany SCA Sample binding.websocket</name>
-
- <profiles>
- <profile>
- <id>default</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <module>autocomplete-webapp</module>
- <module>weather-webapp</module>
- <module>chat-webapp</module>
- <module>pubsub-webapp</module>
- </modules>
- </profile>
- </profiles>
-</project>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/README deleted file mode 100644 index 1ec7d6b807..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/README +++ /dev/null @@ -1,93 +0,0 @@ -Tuscany - Learning More - Binding Websocket - PubSub Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via websockets as well -as how to interact with them using Tuscany's javascript API. It also demonstrates -how to push multiple responses from the server to the client for a single request -using SCA callbacks. - -This project contains a component that registers browser clients' interest in a -certain event type. When an event of that type comes in, it notifies all registered -clients. The event processor exposes a service via the websocket binding which -enables server push to clients. Note that Tuscany 2.x doesn't have any conversational -support so this has to be handled at application level by passing ids back and forth -between the client and the server. - -By adding <tuscany:binding.websocket port="8090"/> to a service definition, the -Tuscany runtime will start a websocket server listening for requests coming -in for the exposed service at the specified port. If no port is specified, the -runtime will use port 9000 as a default. - -The websocket binding uses embedded Jetty instances as websocket servers. At the -moment, Jetty 8.0.0-M3 is used which has support for the 00, 01, 06 and 07 -versions of the websocket protocol drafts. - -IN ORDER TO RUN THIS SAMPLE SUCCESSFULLY PLEASE CHECK IF YOUR BROWSER SUPPORTS -THE ABOVE WEBSOCKET PROTOCOL VERSIONS AND THAT THE WEBSOCKET SUPPORT IS ENABLED. - -In order to enable callbacks to push multiple responses, you need to declare the -WebsocketBindingCallback in the service definition as follows: - - <interface.java interface="sample.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback" /> - <tuscany:binding.websocket /> - <callback> - <tuscany:binding.websocket /> - </callback> - -The callback object has methods that facilitate sending messages back to the -calling client. It can be injected in the service implementation using the @Callback -annotation. However, the service implementation for this sample has the COMPOSITE -scope so the callback reference has to be obtained from the ComponentContext. - -One requirement that service methods have to meet to enable multiple response -support is that they have to be annotated with @OneWay to enable non-blocking -support. Without it, methods are treated synchronously sending a single response -which is the object returned by the method call. - -The websocket binding also features a javascript API to simulate SCA in the -browser. In order to use it, the following script has to be included in the -client page: - <script type="text/javascript" - src="org.apache.tuscany.sca.WebsocketComponentContext.js"> - </script> - -This will inject proxies for all services defined in the composite that are -using binding.websocket. All invocation and connection management is handled -under the hood so in order to invoke a websocket service, the following should -be called: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>(<parameters>); - -Given the asynchornous nature of websockets, a function should be defined in -order to handle responses received for a certain service operation. This should -be done as follows: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>.responseHandler = function(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so parameters -will be mapped to the data types defined in the method definition. Also, the response -will have the same data type as the server side object used to wrap the response. -Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single persistent -websocket connection to handle communication between a browser client and all services -defined using binding.websocket on the same port. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. - -In order to run the sample, you can execute "mvn jetty:run" which will start a Jetty -instance automatically or use "mvn package" and deploy the resulting war to the -application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-websocket-chat-webapp/ - -You can now register or unregister for any of a number of events. When an event is fired -on the server side, the browser client will receive a notification which will be displayed -in the page. You can see the persistent websocket connection using the developer tools -provided by your browser. - -The websocket binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/pom.xml deleted file mode 100644 index 86a15420c0..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/pom.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-websocket</artifactId>
- <version>2.0-Beta3</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-websocket-pubsub-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0-Beta3</version>
- <name>Apache Tuscany SCA Sample binding.websocket PubSub Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-websocket</artifactId>
- <version>2.0-Beta3</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0-Beta3</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>r09</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <version>6.1.26</version>
- </plugin>
- </plugins>
- </build>
-
-</project>
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/Event.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/Event.java deleted file mode 100644 index c9d9eb54c4..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/Event.java +++ /dev/null @@ -1,51 +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 sample; - -public class Event { - - private String id; - private String name; - private String data; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getData() { - return data; - } - - public void setData(String data) { - this.data = data; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessor.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessor.java deleted file mode 100644 index d289b361cf..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessor.java +++ /dev/null @@ -1,104 +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 sample; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketStatus; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -import com.google.common.collect.HashMultimap; -import com.google.common.collect.Multimap; -import com.google.common.collect.Multimaps; - -@Service({ EventProcessorConsumerService.class, EventProcessorProducerService.class }) -@Scope("COMPOSITE") -public class EventProcessor implements EventProcessorConsumerService, EventProcessorProducerService { - - @Context - protected ComponentContext componentContext; - - private ConcurrentMap<String, WebsocketBindingCallback> clients = new ConcurrentHashMap<String, WebsocketBindingCallback>(); - private Multimap<String, String> eventListeners = Multimaps.synchronizedMultimap(HashMultimap.<String, String> create()); - - @Override - public void onEvent(String eventName, String eventData) { - List<String> destinations = new ArrayList<String>(); - synchronized (eventListeners) { - destinations.addAll(eventListeners.get(eventName)); - } - Event event = new Event(); - event.setName(eventName); - event.setData(eventData); - for (String registrationId : destinations) { - WebsocketBindingCallback client = clients.get(registrationId); - if (client == null) { - // client has unregistered from this event - synchronized (eventListeners) { - eventListeners.remove(eventName, registrationId); - } - } else { - WebsocketStatus status = client.sendMessage(event); - if (status == WebsocketStatus.CLOSED) { - unregister(registrationId); - } - } - } - } - - @Override - public void register(String eventName) { - String registrationId = UUID.randomUUID().toString(); - WebsocketBindingCallback callback = componentContext.getRequestContext().getCallback(); - clients.put(registrationId, callback); - synchronized (eventListeners) { - eventListeners.put(eventName, registrationId); - } - Event event = new Event(); - event.setId(registrationId); - event.setName(eventName); - event.setData(new Date().toString()); - callback.sendMessage(event); - } - - @Override - public void unregister(String registrationId) { - clients.remove(registrationId); - // unregistration from eventListeners done during onEvent - } - - @Destroy - public void shutdown() { - clients.clear(); - eventListeners.clear(); - clients = null; - eventListeners = null; - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessorConsumerService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessorConsumerService.java deleted file mode 100644 index aa9156b088..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessorConsumerService.java +++ /dev/null @@ -1,37 +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 sample; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Callback(WebsocketBindingCallback.class) -@Remotable -public interface EventProcessorConsumerService { - - @OneWay - void register(String eventName); - - @OneWay - void unregister(String registrationId); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessorProducerService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessorProducerService.java deleted file mode 100644 index a9c80cc697..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessorProducerService.java +++ /dev/null @@ -1,28 +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 sample; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface EventProcessorProducerService { - - void onEvent(String eventName, String eventData); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/Producer.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/Producer.java deleted file mode 100644 index 88a214d843..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/Producer.java +++ /dev/null @@ -1,75 +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 sample; - -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; - -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; - -@EagerInit -@Scope("COMPOSITE") -public class Producer { - - @Reference - protected EventProcessorProducerService eventProcessor; - - private String eventName; - private long frequency; - - private Timer timer = new Timer(); - private Object lock = new Object(); - - @Constructor - public Producer(@Property(name = "eventName") String eventName, @Property(name = "frequency") long frequency) { - System.out.println("Producer: In Constructor with eventName=" + eventName + " and frequency=" + frequency); - this.eventName = eventName; - this.frequency = frequency; - } - - @Init - public void start() { - System.out.println("Producer: In Init..."); - timer.schedule(new TimerTask() { - - @Override - public void run() { - synchronized (lock) { - eventProcessor.onEvent(Producer.this.eventName, "Event @ " + new Date()); - } - } - }, 0L, this.frequency); - } - - @Destroy - public void stop() { - synchronized (lock) { - timer.cancel(); - } - timer = null; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index 743e2b418e..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://samples" name="Event"> - - <component name="EventProcessorComponent"> - <implementation.java class="sample.EventProcessor" /> - <service name="EventProcessorConsumerService"> - <interface.java interface="sample.EventProcessorConsumerService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback" /> - <tuscany:binding.websocket /> - <callback> - <tuscany:binding.websocket /> - </callback> - </service> - <service name="EventProcessorProducerService"> - <interface.java interface="sample.EventProcessorProducerService" /> - </service> - </component> - - <component name="SLOWProducerComponent"> - <implementation.java class="sample.Producer" /> - <reference name="eventProcessor" target="EventProcessorComponent" /> - <property name="eventName">SLOW</property> - <property name="frequency">6000</property> - </component> - - <component name="MODERATEProducerComponent"> - <implementation.java class="sample.Producer" /> - <reference name="eventProcessor" target="EventProcessorComponent" /> - <property name="eventName">MODERATE</property> - <property name="frequency">3000</property> - </component> - - <component name="FASTProducerComponent"> - <implementation.java class="sample.Producer" /> - <reference name="eventProcessor" target="EventProcessorComponent" /> - <property name="eventName">FAST</property> - <property name="frequency">1000</property> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/index.html deleted file mode 100644 index bfacf28236..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,96 +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. ---> -<html> -<head> - <title>Apache Tuscany Websocket Sample</title> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="org.apache.tuscany.sca.WebsocketComponentContext.js"></script> - <script type="text/javascript"> - var registrationIds = {}; - - Tuscany.WebsocketComponentContext.EventProcessorComponent.EventProcessorConsumerService.register.responseHandler = function(event) { - var text = ''; - if (event.id != null) { - // registration notification - registrationIds[event.name] = event.id; - text = "Registered to " + event.name + " with id " + event.id + " at " + event.data; - } else { - // event notification - text = event.name + ": " + event.data; - } - var textarea = $('#textarea'); - $(textarea).val($(textarea).val() + text + "\n"); - $(textarea).scrollTop($(textarea)[0].scrollHeight); - } - - $(document).ready(function() - { - $('#registerEventButton').click(function(event) { - var eventName = $('#registerEventName').val(); - if (registrationIds[eventName] != null) { - alert("Already registered for " + eventName + " events"); - } else { - Tuscany.WebsocketComponentContext.EventProcessorComponent.EventProcessorConsumerService.register(eventName); - } - }); - - $('#unregisterEventButton').click(function(event) { - var eventName = $('#unregisterEventName').val(); - if (registrationIds[eventName] != null) { - Tuscany.WebsocketComponentContext.EventProcessorComponent.EventProcessorConsumerService.unregister(registrationIds[eventName]); - registrationIds[eventName] = null; - } else { - alert("Not registered for " + eventName + " events"); - } - }); - }); - </script> -</head> -<body> - <h2>Apache Tuscany Websocket Sample</h2> - <h3>PubSub for FAST, MODERATE and SLOW events</h3> - <p/> - <table> - <tr> - <td>Event name</td> - <td> - <select id="registerEventName"> - <option value="FAST">FAST</option> - <option value="MODERATE">MODERATE</option> - <option value="SLOW">SLOW</option> - </select> - </td> - <td><input type="button" id='registerEventButton' value='Register' /></td> - </tr> - <tr> - <td>Event name</td> - <td> - <select id="unregisterEventName"> - <option value="FAST">FAST</option> - <option value="MODERATE">MODERATE</option> - <option value="SLOW">SLOW</option> - </select> - </td> - <td><input type="button" id='unregisterEventButton' value='Unregister' /></td> - </tr> - </table> - <h3>Server notifications</h3> - <textarea id="textarea" rows="15" cols="80" readonly></textarea> -</body> -</html> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/README b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/README deleted file mode 100644 index eb195bc4dc..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/README +++ /dev/null @@ -1,89 +0,0 @@ -Tuscany - Learning More - Binding Websocket - Weather Monitor Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via websockets as well -as how to interact with them using Tuscany's javascript API. It also demonstrates -how to push multiple responses for a single request using SCA callbacks. - -This project contains multiple services that once called will push notifications -to the client regarding certain weather parameters according to the location of -the user. Of course, the service implementation is a mock that generates random -numbers at a fixed interval of time as weather parameters. - -By adding <tuscany:binding.websocket port="8090"/> to a service definition, the -Tuscany runtime will start a websocket server listening for requests coming -in for the exposed service at the specified port. If no port is specified, the -runtime will use port 9000 as a default. - -The websocket binding uses embedded Jetty instances as websocket servers. At the -moment, Jetty 8.0.0-M3 is used which has support for the 00, 01, 06 and 07 -versions of the websocket protocol drafts. - -IN ORDER TO RUN THIS SAMPLE SUCCESSFULLY PLEASE CHECK IF YOUR BROWSER SUPPORTS -THE ABOVE WEBSOCKET PROTOCOL VERSIONS AND THAT THE WEBSOCKET SUPPORT IS ENABLED. - -In order to enable callbacks to push multiple responses, you need to declare the -WebsocketBindingCallback in the service definition as follows: - - <interface.java interface="sample.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback" /> - <tuscany:binding.websocket /> - <callback> - <tuscany:binding.websocket /> - </callback> - -The callback object has methods that facilitate sending messages back to the -calling client. It can be injected in the service implementation using the @Callback -annotation. - -One requirement that service methods have to meet to enable multiple response -support is that they have to be annotated with @OneWay to enable non-blocking -support. Without it, methods are treated synchronously sending a single response -which is the object returned by the method call. - -The websocket binding also features a javascript API to simulate SCA in the -browser. In order to use it, the following script has to be included in the -client page: - <script type="text/javascript" - src="org.apache.tuscany.sca.WebsocketComponentContext.js"> - </script> - -This will inject proxies for all services defined in the composite that are -using binding.websocket. All invocation and connection management is handled -under the hood so in order to invoke a websocket service, the following should -be called: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>(<parameters>); - -Given the asynchornous nature of websockets, a function should be defined in -order to handle responses received for a certain service operation. This should -be done as follows: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>.responseHandler = function(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so parameters -will be mapped to the data types defined in the method definition. Also, the response -will have the same data type as the server side object used to wrap the response. -Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single persistent -websocket connection to handle communication between a browser client and all services -defined using binding.websocket on the same port. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. - -In order to run the sample, you can execute "mvn jetty:run" which will start a Jetty -instance automatically or use "mvn package" and deploy the resulting war to the -application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-websocket-weather-webapp/ - -You can now set a location and register for various weather parameters. Notifications -will be pushed to the browser when weather parameters change. You can see the persistent -websocket connection handling all the communication using the developer tools provided -by your browser. - -The websocket binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/pom.xml deleted file mode 100644 index cbbe851aef..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/pom.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-websocket</artifactId>
- <version>2.0-Beta3</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-websocket-weather-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0-Beta3</version>
- <name>Apache Tuscany SCA Sample binding.websocket Weather Monitor Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-websocket</artifactId>
- <version>2.0-Beta3</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0-Beta3</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <version>6.1.26</version>
- </plugin>
- </plugins>
- </build>
-
-</project>
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/Helper.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/Helper.java deleted file mode 100644 index 10b46cc55f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/Helper.java +++ /dev/null @@ -1,34 +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 sample; - -import java.util.Date; -import java.util.Random; - -public final class Helper { - - public static int randomInt(final int max) { - return (new Random(new Date().getTime()).nextInt(100)); - } - - private Helper() { - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/HumidityService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/HumidityService.java deleted file mode 100644 index 7b38a098ac..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/HumidityService.java +++ /dev/null @@ -1,36 +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 sample; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -import sample.model.Location; - -@Remotable -@Callback(WebsocketBindingCallback.class) -public interface HumidityService { - - @OneWay - void getHumidity(Location location); - -}
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/PrecipitationService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/PrecipitationService.java deleted file mode 100644 index 14fcdfd8b3..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/PrecipitationService.java +++ /dev/null @@ -1,36 +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 sample; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -import sample.model.Location; - -@Remotable -@Callback(WebsocketBindingCallback.class) -public interface PrecipitationService { - - @OneWay - void getPrecipitation(Location location); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/PrecipitationServiceImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/PrecipitationServiceImpl.java deleted file mode 100644 index 5d9575686b..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/PrecipitationServiceImpl.java +++ /dev/null @@ -1,57 +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 sample; - -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketStatus; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Service; - -import sample.model.Location; -import sample.model.Response; - -@Service(PrecipitationService.class) -public class PrecipitationServiceImpl implements PrecipitationService { - - @Callback - protected WebsocketBindingCallback client; - - @Override - public void getPrecipitation(final Location location) { - new Timer().scheduleAtFixedRate(new TimerTask() { - - @Override - public void run() { - Response response = new Response(); - response.setDate(new Date()); - response.setData(Helper.randomInt(100) + "%"); - WebsocketStatus status = client.sendMessage(response); - if (status == WebsocketStatus.CLOSED) { - System.out.println("Client disconnected from PrecipitationService."); - this.cancel(); - } - } - }, 0L, 1000L); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/TemperatureHumidityServiceImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/TemperatureHumidityServiceImpl.java deleted file mode 100644 index e505167b3c..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/TemperatureHumidityServiceImpl.java +++ /dev/null @@ -1,77 +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 sample; - -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketStatus; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Service; - -import sample.model.Location; -import sample.model.Response; - -@Service({ TemperatureService.class, HumidityService.class }) -public class TemperatureHumidityServiceImpl implements TemperatureService, HumidityService { - - @Callback - protected WebsocketBindingCallback callback; - - @Override - public void getHumidity(final Location location) { - new Timer().scheduleAtFixedRate(new TimerTask() { - - @Override - public void run() { - final Response response = new Response(); - response.setDate(new Date()); - response.setData(Helper.randomInt(90) + "%"); - WebsocketStatus status = callback.sendMessage(response); - if (status == WebsocketStatus.CLOSED) { - System.out.println("Client disconnected from HumidityService."); - this.cancel(); - } - } - }, 0L, 5000L); - } - - @Override - public void getTemperature(final Location location) { - new Timer().scheduleAtFixedRate(new TimerTask() { - - @Override - public void run() { - final Response response = new Response(); - response.setDate(new Date()); - final String data = "" + Helper.randomInt(40); - response.setData(data); - WebsocketStatus status = callback.sendMessage(response); - if (status == WebsocketStatus.CLOSED) { - System.out.println("Client disconnected from TemperatureService."); - this.cancel(); - } - } - }, 0L, 3000L); - } - -}
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/TemperatureService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/TemperatureService.java deleted file mode 100644 index 67318c67c7..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/TemperatureService.java +++ /dev/null @@ -1,36 +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 sample; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -import sample.model.Location; - -@Remotable -@Callback(WebsocketBindingCallback.class) -public interface TemperatureService { - - @OneWay - void getTemperature(Location location); - -}
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/model/Location.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/model/Location.java deleted file mode 100644 index 67edc140f9..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/model/Location.java +++ /dev/null @@ -1,43 +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 sample.model; - -public class Location { - - private String city; - private String country; - - public String getCity() { - return this.city; - } - - public void setCity(final String city) { - this.city = city; - } - - public String getCountry() { - return this.country; - } - - public void setCountry(final String country) { - this.country = country; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/model/Response.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/model/Response.java deleted file mode 100644 index 462af6d8ab..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/model/Response.java +++ /dev/null @@ -1,45 +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 sample.model; - -import java.util.Date; - -public class Response { - - private Date date; - private String data; - - public Date getDate() { - return this.date; - } - - public void setDate(final Date date) { - this.date = date; - } - - public String getData() { - return this.data; - } - - public void setData(final String data) { - this.data = data; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index edf53fa76c..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://samples" - name="Weather"> - - <component name="c1"> - <implementation.java class="sample.TemperatureHumidityServiceImpl"/> - <service name="TemperatureService"> - <interface.java interface="sample.TemperatureService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback"/> - <tuscany:binding.websocket/> - <callback> - <tuscany:binding.websocket/> - </callback> - </service> - <service name="HumidityService"> - <interface.java interface="sample.HumidityService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback"/> - <tuscany:binding.websocket/> - <callback> - <tuscany:binding.websocket/> - </callback> - </service> - </component> - - <component name="c2"> - <implementation.java class="sample.PrecipitationServiceImpl"/> - <service name="PrecipitationService"> - <interface.java interface="sample.PrecipitationService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback"/> - <tuscany:binding.websocket/> - <callback> - <tuscany:binding.websocket/> - </callback> - </service> - </component> - -</composite> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/index.html deleted file mode 100644 index 5d5ae2c1ca..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,114 +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. ---> -<html> - <head> - <title>Apache Tuscany Websocket Sample</title> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="org.apache.tuscany.sca.WebsocketComponentContext.js"></script> - <script type="text/javascript"> - $(document).ready(function(){ - var location = {}; - location.city = null; - location.country = null; - - $('#tempButton').attr('disabled', 'disabled'); - $('#humButton').attr('disabled', 'disabled'); - $('#precipButton').attr('disabled', 'disabled'); - - $('#locationButton').click(function(event) { - location.city = $('#city').val(); - location.country = $('#country').val(); - $('#locationButton').attr('disabled', 'disabled'); - $('#tempButton').removeAttr('disabled'); - $('#humButton').removeAttr('disabled'); - $('#precipButton').removeAttr('disabled'); - }); - - $('#tempButton').click(function(event) { - Tuscany.WebsocketComponentContext.c1.TemperatureService.getTemperature(location); - $('#tempButton').attr('disabled', 'disabled'); - }); - - Tuscany.WebsocketComponentContext.c1.TemperatureService.getTemperature.responseHandler = function(response) { - $('#tempText').text(response.data); - $('#tempDate').text(response.date); - } - - $('#humButton').click(function(event) { - Tuscany.WebsocketComponentContext.c1.HumidityService.getHumidity(location); - $('#humButton').attr('disabled', 'disabled'); - }); - - Tuscany.WebsocketComponentContext.c1.HumidityService.getHumidity.responseHandler = function(response) { - $('#humText').text(response.data); - $('#humDate').text(response.date); - } - - $('#precipButton').click(function(event) { - Tuscany.WebsocketComponentContext.c2.PrecipitationService.getPrecipitation(location); - $('#precipButton').attr('disabled', 'disabled'); - }); - - Tuscany.WebsocketComponentContext.c2.PrecipitationService.getPrecipitation.responseHandler = function(response) { - $('#precipText').text(response.data); - $('#precipDate').text(response.date); - } - }); - </script> - </head> - <body> - <div id='sidebar'> - <h2>Apache Tuscany Weather Sample</h2> - <h3>Weather Monitor</h3> - <p/> - <table> - <tr> - <td>City</td> - <td><input type="text" id='city' value='Brasov'/></td> - </tr> - <tr> - <td>Country</td> - <td><input type="text" id ='country' value='Romania'/></td> - </tr> - </table> - <input type="button" id='locationButton' value='Set location'/> - <p/> - <table> - <tr> - <th align="left">Temperature:</th> - <td><span id='tempText'>N/A</span></td> - <td><input type='button' id='tempButton' value="Update"/></td> - <td><span id='tempDate'></span> - </tr> - <tr> - <th align="left">Humidity:</th> - <td><span id='humText'>N/A</span></td> - <td><input type='button' id='humButton' value="Update"/></td> - <td><span id='humDate'></span> - </tr> - <tr> - <th align="left">Precipitation probability:</th> - <td><span id='precipText'>N/A</span></td> - <td><input type='button' id='precipButton' value="Update"/></td> - <td><span id='precipDate'></span> - </tr> - </table> - </div> - </body> -</html> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/pom.xml deleted file mode 100644 index 5e8559788d..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca.samples</groupId> - <artifactId>tuscany-samples</artifactId> - <version>2.0-Beta3</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>tuscany-samples-learning-more</artifactId> - <version>2.0-Beta3</version> - <packaging>pom</packaging> - <name>Apache Tuscany SCA Learning More</name> - - <profiles> - <profile> - <id>default</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <modules> - <module>binding-comet</module> - <module>binding-websocket</module> - </modules> - </profile> - </profiles> -</project> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/pom.xml deleted file mode 100644 index 50ef596fd0..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/pom.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca</artifactId> - <version>2.0-Beta3</version> - </parent> - - <groupId>org.apache.tuscany.sca.samples</groupId> - <artifactId>tuscany-samples</artifactId> - <version>2.0-Beta3</version> - <packaging>pom</packaging> - <name>Apache Tuscany SCA Samples</name> - - <modules> - <module>getting-started</module> - <module>running-tuscany</module> - <module>learning-more</module> - </modules> - -</project> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/calculator-contribution.jar b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/calculator-contribution.jar Binary files differdeleted file mode 100644 index 32b0ee5f6c..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/calculator-contribution.jar +++ /dev/null diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/command-line/README.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/command-line/README.html deleted file mode 100644 index 6343cf5f85..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/command-line/README.html +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?><!--
- * 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.
--->
- -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"><!--This file was converted to xhtml by OpenOffice.org - see http://xml.openoffice.org/odf2xhtml for more info.--><head profile="http://dublincore.org/documents/dcmi-terms/"><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/><title xml:lang="en-US">- no title specified</title><meta name="DCTERMS.title" content="" xml:lang="en-US"/><meta name="DCTERMS.language" content="en-US" scheme="DCTERMS.RFC4646"/><meta name="DCTERMS.source" content="http://xml.openoffice.org/odf2xhtml"/><meta name="DCTERMS.creator" content="ant "/><meta name="DCTERMS.issued" content="2011-03-15T09:48:55.71" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.modified" content="2011-04-14T11:47:12.75" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.provenance" content="" xml:lang="en-US"/><meta name="DCTERMS.subject" content="," xml:lang="en-US"/><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" hreflang="en"/><link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" hreflang="en"/><link rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/" hreflang="en"/><link rel="schema.DCAM" href="http://purl.org/dc/dcam/" hreflang="en"/><base href="."/><style type="text/css"> - @page { } - table { border-collapse:collapse; border-spacing:0; empty-cells:show } - td, th { vertical-align:top; font-size:12pt;} - h1, h2, h3, h4, h5, h6 { clear:both } - ol, ul { margin:0; padding:0;} - li { list-style: none; margin:0; padding:0;} - <!-- "li span.odfLiEnd" - IE 7 issue--> - li span. { clear: both; line-height:0; width:0; height:0; margin:0; padding:0; } - span.footnodeNumber { padding-right:1em; } - span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; } - * { margin:0;} - .Heading_20_1 { font-size:115%; margin-bottom:0.212cm; margin-top:0.423cm; font-family:Arial; writing-mode:page; font-weight:bold; } - .P1 { font-size:10pt; font-family:Times New Roman; writing-mode:page; } - .Standard { font-size:12pt; font-family:Times New Roman; writing-mode:page; } - .T1 { font-family:Courier New; } - .T2 { font-family:Courier New; font-style:italic; } - <!-- ODF styles with no properties representable as CSS --> - { } - </style></head><body dir="ltr" style="max-width:21.001cm;margin-top:2cm; margin-bottom:2cm; margin-left:2cm; margin-right:2cm; "><h1 class="Heading_20_1"><a id="a__Running_contributions_using_the_Tuscany_Shell"><span/></a>Running contributions using the Tuscany Shell</h1><p class="Standard"> </p><p class="Standard">To execute a sample contribution from the command line without needing to write any runtime launcher code you can use the Tuscany shell. The Shell provides a simple tool for loading and running SCA contributions. </p><p class="Standard"> </p><p class="Standard">The shell can be started using the tuscany.bat (windows) or tuscany.sh (linux) scripts provided in the /bin directory of the binary distribution. You can provide the name of a contribution as an argument in the following way </p><p class="Standard"> </p><p class="P1"> <span class="T1">bin/tuscany.bat </span><span class="T2">location_of_contribution</span></p><p class="Standard"> </p><p class="Standard">The getting-started\helloworld contribution is a good contribution to start with if you want to give this a go. First change directory to the root of the Tuscany binary distribution. Then;</p><p class="Standard"> </p><p class="Standard">on Windows:</p><p class="Standard"> </p><p class="P1"> <span class="T1">bin\tuscany.bat samples\getting-started\helloworld</span></p><p class="Standard"> </p><p class="Standard">on Linux:</p><p class="Standard"> </p><p class="P1"> <span class="T1">bin/tuscany.sh samples/getting-started/helloworld</span></p><p class="Standard"> </p><p class="Standard">Once the Shell has started with one of those methods you can use Shell commands to explore</p><p class="Standard">the SCA domain, for example, use the "installed" command to get the status of installed contributions, "services" to see the available component services, and you may test calling the helloworld service by using the "invoke" command:</p><p class="Standard"> </p><p class="P1"> <span class="T1">invoke HelloworldComponent sayHello yourName</span></p><p class="Standard"> </p><p class="Standard">TODO – add more instructions on how to use the shell</p></body></html>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/command-line/README.odt b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/command-line/README.odt Binary files differdeleted file mode 100644 index 08fa3c1204..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/command-line/README.odt +++ /dev/null diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/eclipse/README.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/eclipse/README.html deleted file mode 100644 index b31333b7e8..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/eclipse/README.html +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><!--This file was converted to xhtml by OpenOffice.org - see http://xml.openoffice.org/odf2xhtml for more info.--><head profile="http://dublincore.org/documents/dcmi-terms/"><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/><title xml:lang="en-US">- no title specified</title><meta name="DCTERMS.title" content="" xml:lang="en-US"/><meta name="DCTERMS.language" content="en-US" scheme="DCTERMS.RFC4646"/><meta name="DCTERMS.source" content="http://xml.openoffice.org/odf2xhtml"/><meta name="DCTERMS.creator" content="ant "/><meta name="DCTERMS.issued" content="2011-03-15T09:48:55.71" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.modified" content="2011-04-14T11:46:35.96" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.provenance" content="" xml:lang="en-US"/><meta name="DCTERMS.subject" content="," xml:lang="en-US"/><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" hreflang="en"/><link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" hreflang="en"/><link rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/" hreflang="en"/><link rel="schema.DCAM" href="http://purl.org/dc/dcam/" hreflang="en"/><base href="."/><style type="text/css">
- @page { }
- table { border-collapse:collapse; border-spacing:0; empty-cells:show }
- td, th { vertical-align:top; font-size:12pt;}
- h1, h2, h3, h4, h5, h6 { clear:both }
- ol, ul { margin:0; padding:0;}
- li { list-style: none; margin:0; padding:0;}
- <!-- "li span.odfLiEnd" - IE 7 issue-->
- li span. { clear: both; line-height:0; width:0; height:0; margin:0; padding:0; }
- span.footnodeNumber { padding-right:1em; }
- span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; }
- * { margin:0;}
- .Heading_20_1 { font-size:115%; margin-bottom:0.212cm; margin-top:0.423cm; font-family:Arial; writing-mode:page; font-weight:bold; }
- .Standard { font-size:12pt; font-family:Times New Roman; writing-mode:page; }
- <!-- ODF styles with no properties representable as CSS -->
- { }
- </style></head><body dir="ltr" style="max-width:21.001cm;margin-top:2cm; margin-bottom:2cm; margin-left:2cm; margin-right:2cm; "><h1 class="Heading_20_1"><a id="a__Running_contributions_inside_Eclipse"><span/></a>Running contributions inside Eclipse</h1><p class="Standard"> </p><p class="Standard">To import sample contributions into Eclipse you first need to import the Tuscany runtime. You then need to import the sample contribution into Eclipse as a project. Instructions for doing both of these things can be found here </p><p class="Standard"> </p><p class="Standard"><a href="http://tuscany.apache.org/import-existing-tuscany-sca-projects-into-eclipse.html">http://tuscany.apache.org/import-existing-tuscany-sca-projects-into-eclipse.html</a></p><p class="Standard"> </p><p class="Standard">Note. these instructions refer to our 1.x code base but it holds true for our 2.x code base. </p><p class="Standard"> </p><p class="Standard">Once you have a contribution imported into Eclipse and cleanly compiling against the Tuscany runtime jars you probably want to be able to run and debug it. The easiest way to do this is with a simple Java launcher. If you import the running-tuscany/embedded-jse project into Eclipse you'll see a simple launcher program which you can copy and adjust to launch the contribution(s) of your choice. </p></body></html>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/eclipse/README.odt b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/eclipse/README.odt Binary files differdeleted file mode 100644 index 785754163f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/eclipse/README.odt +++ /dev/null diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/README.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/README.html deleted file mode 100644 index 00d6592cb8..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/README.html +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><!--This file was converted to xhtml by OpenOffice.org - see http://xml.openoffice.org/odf2xhtml for more info.--><head profile="http://dublincore.org/documents/dcmi-terms/"><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/><title xml:lang="en-US">- no title specified</title><meta name="DCTERMS.title" content="" xml:lang="en-US"/><meta name="DCTERMS.language" content="en-US" scheme="DCTERMS.RFC4646"/><meta name="DCTERMS.source" content="http://xml.openoffice.org/odf2xhtml"/><meta name="DCTERMS.creator" content="ant "/><meta name="DCTERMS.issued" content="2011-03-15T09:48:55.71" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.modified" content="2011-04-14T11:20:02.98" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.provenance" content="" xml:lang="en-US"/><meta name="DCTERMS.subject" content="," xml:lang="en-US"/><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" hreflang="en"/><link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" hreflang="en"/><link rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/" hreflang="en"/><link rel="schema.DCAM" href="http://purl.org/dc/dcam/" hreflang="en"/><base href="."/><style type="text/css">
- @page { }
- table { border-collapse:collapse; border-spacing:0; empty-cells:show }
- td, th { vertical-align:top; font-size:12pt;}
- h1, h2, h3, h4, h5, h6 { clear:both }
- ol, ul { margin:0; padding:0;}
- li { list-style: none; margin:0; padding:0;}
- <!-- "li span.odfLiEnd" - IE 7 issue-->
- li span. { clear: both; line-height:0; width:0; height:0; margin:0; padding:0; }
- span.footnodeNumber { padding-right:1em; }
- span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; }
- * { margin:0;}
- .Heading_20_1 { font-size:115%; margin-bottom:0.212cm; margin-top:0.423cm; font-family:Arial; writing-mode:page; font-weight:bold; }
- .P1 { font-size:10pt; font-family:Courier New; writing-mode:page; }
- .Standard { font-size:12pt; font-family:Times New Roman; writing-mode:page; }
- <!-- ODF styles with no properties representable as CSS -->
- { }
- </style></head><body dir="ltr" style="max-width:21.001cm;margin-top:2cm; margin-bottom:2cm; margin-left:2cm; margin-right:2cm; "><h1 class="Heading_20_1"><a id="a__Running_the_Tuscany_runtime_from_JUnit"><span/></a>Running the Tuscany runtime from JUnit</h1><p class="Standard"> </p><p class="Standard">The same Node API used to start the Tuscany runtime from Java can of course also be used from within a JUnit test case. This allows you to automatically test you SCA contributions. This sample uses the same sart-up code from the jse sample but this time inside:</p><p class="Standard"> </p><p class="P1"> launcher.LaunchCalculatorContributionTestCase.java</p><p class="Standard"> </p><p class="Standard">This JUnit test case can be run using you usually use to run JUnit tests. By default Maven will run JUnit tests for a module so this sample can be run by doing the following:</p><p class="Standard"> </p><p class="P1">cd junit</p><p class="P1">mvn</p><p class="Standard"> </p><p class="Standard">TODO – should we provide run-sample scripts. If so we need to ship JUnit or provide instructions on how to install it?</p></body></html>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/README.odt b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/README.odt Binary files differdeleted file mode 100644 index 6a8240d72e..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/README.odt +++ /dev/null diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/pom.xml deleted file mode 100644 index a48f8b6301..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/pom.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-running-tuscany</artifactId>
- <version>2.0-Beta3</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>junit</artifactId>
- <name>Apache Tuscany SCA Samples JUnit</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime</artifactId>
- <version>2.0-Beta3</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${project.artifactId}</finalName>
- </build>
-</project>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/src/main/java/calculator/CalculatorService.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/src/main/java/calculator/CalculatorService.java deleted file mode 100644 index 12d80ffd1c..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/src/main/java/calculator/CalculatorService.java +++ /dev/null @@ -1,38 +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 calculator;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-
-/**
- * The Calculator service interface.
- */
-@Remotable
-public interface CalculatorService {
-
- double add(double n1, double n2);
-
- double subtract(double n1, double n2);
-
- double multiply(double n1, double n2);
-
- double divide(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/src/test/java/launcher/LaunchCalculatorContributionTestCase.java b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/src/test/java/launcher/LaunchCalculatorContributionTestCase.java deleted file mode 100644 index 229a3fe223..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/junit/src/test/java/launcher/LaunchCalculatorContributionTestCase.java +++ /dev/null @@ -1,51 +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 launcher;
-
-import junit.framework.Assert;
-
-import org.apache.tuscany.sca.node.Contribution;
-import org.apache.tuscany.sca.node.Node;
-import org.apache.tuscany.sca.node.NodeFactory;
-import org.junit.Test;
-
-import calculator.CalculatorService;
-
-/**
- * Test sample contribution.
- */
-public class LaunchCalculatorContributionTestCase {
-
-
- @Test
- public void testCalculatorContribution() throws Exception {
- Node node = NodeFactory.newInstance().createNode(new Contribution("c1", "../calculator-contribution.jar"));
- node.start();
-
- CalculatorService calculator = node.getService(CalculatorService.class, "CalculatorServiceComponent");
-
- double result = calculator.add(3, 2);
-
- System.out.println("3 + 2 = " + result);
-
- Assert.assertEquals(5.0, result);
-
- node.stop();
- }
-}
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/pom.xml deleted file mode 100644 index f3ccc1e606..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0-Beta3</version>
-
- </parent>
-
- <artifactId>tuscany-samples-running-tuscany</artifactId>
- <version>2.0-Beta3</version>
- <packaging>pom</packaging>
- <name>Apache Tuscany SCA Samples Running Tuscany</name>
-
- <profiles>
- <profile>
- <id>default</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <module>junit</module>
- </modules>
- </profile>
- </profiles>
-</project>
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/running-tuscany.html b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/running-tuscany.html deleted file mode 100644 index 133948e057..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/running-tuscany.html +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<!DO -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"><!--This file was converted to xhtml by OpenOffice.org - see http://xml.openoffice.org/odf2xhtml for more info.--><head profile="http://dublincore.org/documents/dcmi-terms/"><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/><title xml:lang="en-US">- no title specified</title><meta name="DCTERMS.title" content="" xml:lang="en-US"/><meta name="DCTERMS.language" content="en-US" scheme="DCTERMS.RFC4646"/><meta name="DCTERMS.source" content="http://xml.openoffice.org/odf2xhtml"/><meta name="DCTERMS.creator" content="ant "/><meta name="DCTERMS.issued" content="2011-03-15T09:48:55.71" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.modified" content="2011-04-18T12:39:54.44" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.provenance" content="" xml:lang="en-US"/><meta name="DCTERMS.subject" content="," xml:lang="en-US"/><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" hreflang="en"/><link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" hreflang="en"/><link rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/" hreflang="en"/><link rel="schema.DCAM" href="http://purl.org/dc/dcam/" hreflang="en"/><base href="."/><style type="text/css"> - @page { } - table { border-collapse:collapse; border-spacing:0; empty-cells:show } - td, th { vertical-align:top; font-size:12pt;} - h1, h2, h3, h4, h5, h6 { clear:both } - ol, ul { margin:0; padding:0;} - li { list-style: none; margin:0; padding:0;} - <!-- "li span.odfLiEnd" - IE 7 issue--> - li span. { clear: both; line-height:0; width:0; height:0; margin:0; padding:0; } - span.footnodeNumber { padding-right:1em; } - span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; } - * { margin:0;} - .fr1 { font-size:12pt; vertical-align:top; writing-mode:lr-tb; } - .Heading_20_1 { font-size:115%; margin-bottom:0.212cm; margin-top:0.423cm; font-family:Arial; writing-mode:page; font-weight:bold; } - .P1 { font-size:12pt; font-family:Times New Roman; writing-mode:page; font-weight:bold; } - .Standard { font-size:12pt; font-family:Times New Roman; writing-mode:page; } - .Table_20_Contents { font-size:12pt; font-family:Times New Roman; writing-mode:page; } - .Table1 { width:17.013cm; margin-left:0cm; margin-right:-0.012cm; float:none; } - .Table1_A1 { padding:0.097cm; border-left-width:0.0133cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-width:0.0133cm; border-top-style:solid; border-top-color:#000000; border-bottom-width:0.0133cm; border-bottom-style:solid; border-bottom-color:#000000; } - .Table1_A2 { padding:0.097cm; border-left-width:0.0133cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-style:none; border-bottom-width:0.0133cm; border-bottom-style:solid; border-bottom-color:#000000; } - .Table1_B1 { padding:0.097cm; border-width:0.0133cm; border-style:solid; border-color:#000000; } - .Table1_B2 { padding:0.097cm; border-left-width:0.0133cm; border-left-style:solid; border-left-color:#000000; border-right-width:0.0133cm; border-right-style:solid; border-right-color:#000000; border-top-style:none; border-bottom-width:0.0133cm; border-bottom-style:solid; border-bottom-color:#000000; } - .Table1_A { width:3.995cm; } - .Table1_B { width:13.018cm; } - .T1 { font-weight:normal; } - <!-- ODF styles with no properties representable as CSS --> - { } - </style></head><body dir="ltr" style="max-width:21.001cm;margin-top:2cm; margin-bottom:2cm; margin-left:2cm; margin-right:2cm; "><h1 class="Heading_20_1"><a id="a__iVBORw0KGgoAAAANSUhEUgAAAL8AAABbCAIAAACtXcPFAABGD0lEQVR4nO19B5RlRbV2nXzv7dw9PT2RAWaYGZJkyUEQERAQQUmDgAKyQDICz_eSJSjvRwwgogQJT54oSpQgCIiCpEVGwgyT8_T0dL7p5P_btc_pOd3TaZD161t_l9hz77nn1KlT9dXe3w5Vx4zjWIyXf2HJdr8WDX1cpMc1DFcQa5EmLE1oQhjyRB1jqGmZ82LBo0oHfWHgLI3qC6PANPGvJ_j3QBO6EHoYxoaeF5Ee_pFhm0IP5MUWVROJKKJKdFmDEAE3K6YvpuD_j5d__6JLYNBfTTM1OYYRxjjGVyPWYh5bdR4d0IEpOqJZEgzAmhaYug8IeUF_uVxqrG_E9RqgZegiKgnNNHI2YQ0VaABNJGJd1yTyJNY0bYhmjaPn36nE_rA_afJX_Kcl3xIRQDghMQShpMkRjqMQ_9eFgW9RHGhaiP_k2AgqXn_52FOpFMPIrVRsx3GaGyf4frB2zXpdN1uaW4G1fKEOqNCpIRYEkoj5BkOXcfT8GxcWMvxX6HwE2ND5I2MljqMIyCCgmCQoIlMPldrTCTeVMCpXq5VKtb_vr7tY6sNBO2f19VUbGxsMwy0Wi52d62PIsKjXcgqu35gvNDlWHQFOs6NI12NDJKjWU92YfB9Hz7_6DDevGTnaRvxIsCTQ4Z_BS2ISKtA1oUkqJhD8VWo2qCHXK1Wq3f19XQBNGEIrxSSK4ijwXctEhW7nhpXlcrlQsExbD8Ku2Ku6XjmMqkZtYAJAWqybFkEUd0huPEA6jqPn37TE2b_axr_aPBQRu4lAZlOuHEnchCKqhn7F9SBqSuVyEVDw_L4w8liv6XR1CMKkRbEXgAbplUrF86tObZ0mwsAPwIHC0CsWga5qTaG5rm6i0HJCOL7v205h00aOo_ffqAxn_SpLjCY_pBGpqlAnzRXK_6px6EHMuJWi65bwq_tWIWwAIMgbICyXc2zLCsMIsiiIIkPDpXq14sWBa5iGpee9ih9VfMvQPa0iNAPQ8vFztRL5QUPTZIg7y9BS2j4ue_63lcyIkT7SdBjbUj3FHnBS7Osqlfui0C2X_6PQt21Tg7kVVGw9Nu2cMGDPx27F9zzP1EzHLsDex_f6QnO5UrR0q1DIBb4HzBi6Xir223lTN40oDPpdF4Qacqqxcapm5hNss_mWfInG0fOvL8oezlCgKAxDQ7JgfAlCmE6aQV4XcBcXf71qsat7Q09XR7VaBoOxbcv3ytBKOduwLA2jDkDgQtNwSuUqwQ8ERtjQdYFL3iJY4r4bFpw609QDD4RbBEEEzZizc0FQjmLdMms0U6uU_9dUV2rCaZgwjXg5nWKhrWTPo7X6uOz59yjAipYUVl_RdLR4IBxgq6ZhSg3lV4rd1Upnf19nf7EXphY0Un2t5fkQOj25XA62ehTGHuRGEIiQiA5UD_SUdPiBK2vEwtkJJAAyukEE6AjcOk7M_iA2LVToul5FNx1d5GCglUu9kFi5ugnQluSeJOZO0jAelz3_DkWTPjv5MUosphj8NxCGZlnSevIq4DEopWK35_X4QZkJTaCZYDEASxz5ppHT8BWY8n2gyCCnIhSQdDBCaMQhBJwu_Uls6huwvqgEOGqYJpgQgS4OjDAOQpwQGLD9NRjt4EuuH1RzqMeyEuqelnH0_IsLBQoMHpIsdDyhM1cO3f6eDevbu3s6Xbeik8VUyTlGTSEPmQF2HFQ8mE4OxpW0iUHoCXA51BxG1gx9XzqkgR6yuqRvWtpedF8fJ0M86bpBEg_CKwTypAw0qVBtQWgacW2hUNfcRG1h5iPZs0SgPo6ef3GJIjl_9DEmeYOR1ULBWqWve8P6NX393YEHrhPVUOhJ83w98ul_GHFTMwzTgTKCxvEgjXQiJCERHiBAxzBDDGlyhDU53Eo5kviJYbXRL5EsDC9Dz_EfS7OAyJj4OUe1QtwgrJaMnCUJWWxohgycxePo_RcX06CQAiEHMBLsz8F_QW_7mp6udd1dHXHo2o5hm4bGVJrCWkbkhRhBXaP_kVaSl8exLoWLEUf4oFOoKjbIlShBQMFO8vhE0kHNlpOQyiuWQgjqy4L9HpEaFB4dwVmhF7nr167p7i7V17VNaCuAL0n8cSBWG0fPv7io6CNRURraMKyUwItXLV8chVVTj0zLAHX1vErk05jaZr2m26Yl_CiIPDCV0CARpKeBMFJLIbEV6CJAywKohKaiGjgY8yeDYAd1pUvY2WRJBRbECmqNoDr9UDMpeA_rrr9Y8cK_WTPrWbcCZ6rx4_gZpQzy4KVjnUmlEINDm_HACNUIf4XUBDozHl0ynsDt6Vi7ds0KLQ70CPQ1osEip2AcybHDifjkJwOpWxRDh5VFvDuihAoKkoLBkDghQOosZQhTwEdIkdUIhhnJKxJTOmlNW9MN8KnQjwOPFCIOGYYFvQYipMdS1oEK6ZYg0w_CMSTYyGcYR89IJU6DRlw0QgrjJhoqPKWrS1RGRShzcGioAyKZSZgxphluY_oL6Bg3ydIRQdjduaFjbV9vt_FXgSQCCRUoKzsmIJHWgN0Uh0FE4U_SV6Aq9A_Q4MmIaSgYN4ZINEzOJCodBgQoqeo0Msf01GcTS4XGvEgnrQX0wBDzvJBoEGHI0EMj8ILGmiZRDYRj4ygH9MW4v_djlSghuVSUC39ACbN_Y_oZRgx4hOdHBs1s3Za8OAiqZNzEgaiW_zs7wZGLPZ0wsG0bcsfXZXBKC3VoIqgYUBkoN4pVaZK4EPPVpReHU7Y0KZ0Y1WxZkZvH931cLYmypiWOH8oNgtBhRUakWE_yO4A5qEjTMS0rh8p8TwTE6a36Qq1j54Rpy7ojSgCRNxpHz0hF2wQX2uCP8neVl5O4jGMtGY7koCYdypjjjqVL1UHZfTrpA0NUS8Xujg3t7RA5oVuGujAh3wIyoAWFskhyxFJbEWhZZlBeGOUTUrRTtpFYs6Sx_Cf1B1LLcICcOKhFk1JK8ueIMBPpLCnZ1mIwyiZbhhl45GrULcKKF4Q5y6htaBR5UGY9eZK0jKNnlKINQXz0gbwnU8j2CXXDSEwadRDkBjZTGEtGy8kOsV_sq5RL3etX9_f09Pf1YOQLtuFYjiCXsU_mFWSBLhkKUWDSFVqkhzFl88icCc4Fk38SypwUwQJCk9EwOeARw42bk56jPmSPW4bl_yGJU03z_MAPosZC7aRp0wSIumRPMtdIY3SOo2fEEg_KO96Yd5UeGqyzdF1XzBoiRJdpo5SlFdPgy3EkP0y5t6ujfX1_b2e5VMSvYCeGLtMjfNhZgsJPoWoAoUem5kgvX8RKSE8aIsfRIIEWc2ulVUVfJbooVTmSwMARPX0oUn4BQU56CxLvM0u1ajV0nJzQ7SqFScLa_qZJ06bXt02i9nPCEXEnjTtjHD1jKAMAlBU8Sb5fJgNQzk1CCbEayuuEyRRHiScQfz232rOho6O9p7vLr7rgHA7hCyqIHcKRTL8hu8qgMRZaIJGDXwmUYDlg2TqZRRr7bTSWQYSZIKQoQsQJ8TGnPQsaYIMS6SMWM8mos_2_8YFYFIVkjQVBZFmGF0QVN2hsnrDl7G0b2yaLBJmSYmcynMfR8zHKAJYzwAKn8QszRppORjjAUClHbrW7a31n_zpoK_nUi_XQ97xqoa7OdX2wEwvsFBLIMCGyQi_UHEeToiokwqLJFBspUDTiN9JjJxmRvBHZ0STdpH4TrFsIY1rsE6i0iA33jZ4fXp9Bn6N0IQaQF2mOVfBcgNSc2Dpl6lZb1U_aDFux6nq2Yyo1zuRHG7fYx1S0oT8okKjcPwkgiRh28aOPfbfU2dG9YX372tUh2TAeZI1tSjcLGWKmC81FgSqHfDNkKlOgwTClfCGuEklnsbTAQYPCUNOJ0XAaPIWmZNiJrb6NsYiY4UZyCrY6TiX8wbDCd6oSv0dg0ZB8YUCSLtVEGoXPNQvtbm6ZOGvuHNHYRKmvPnRZPkpTwyTuCGpo0jh6RitaJg9cSxCTBDAjWrQihUHqMo7ihNlQwMkPS_3Lly5du2aVEQeOZQIOMrQgTPwbSjOJfDjS3ULhTYoaaORlMSi_PYip_kgjN52QXgIKXhlEvEOcG8gDgKpBdn0cc5Q_lvpK5ygURjggFqwlbuUg4qeRSsgw9SrQHMO0sqHWgFpdN_1cQbfybdMnt02dJhrqpWqKDItxoyvBI1d4ESUfR8_IRQmbOIGOojxBnEAH_eqHPsZVCg_y1YpSsbO9vWtDR7Gvt1zsN_Woob6uUi6S7zjijNJAk4qDTGV2y0CkkKdP09iIIldQxA4aPZ3xLHSk_R5K6UbWumRAhFlAjqlxsrqLcrmo_ihgPUXw40C7dDGbnhvAKNct4ld_GIAm52tqYZlP3WKmXqgTtQXBDiOImJh91UN0zjh6xlZS6ChtZZJB62Ewc45tm7xmLiA54lY7li9buXJlsdgHDEDimBqpJy2MmD6zTRQnVJXq1TjYHWuJTcZ0N2LfXmrfExqIUTNp1oUir0y6YnLSxLxyRyPnTrIKK85ZNkQahy1ArD1K6NFNy45kvqIfxrDKNcNsaW3dcsstzUmTaBmXpicSJk4sLCV1RKoik074f9H1__vLpk4fjKZlaCa51CJBKTURhYHioP2jBetWrayWSgXLxNQ2LSMK_HKxmLOlAiLdRYghpiJXFKtVw5L6JpQXRwwjGRpOn0iTKCiTK2J_lWTbJIghwy0x_qRtzX7LKC4XSxS7MHTDBqGB_IsJq7oJPUl_RMtubZs8faut7NYJdAEexNKTJ5aIU1HcIdcpjqNn84qafxAE5CmGrAiCxLPb37ts4UcbVqwI3FLeIZ7jVaqBG_ZspyafC32ZmyxNIfZNSyeOBETimSbSKomRKXFkpKARFPTmu2taECTKc1CkzbIsVk2CLX4uYVQo5CkJgxSg7pFiEz7YMqy6QEydseX0mTNFXa0UgdK5IFd5yWXriQOdACmtOX0wfKJxzTXWwupBz3w1TR3WCDFfnXL2RG_P8sVLVixZ6MQ07IAUqG0U0gmh5oHSSrWip_9JASELuJKQbIc8OlKH0YkRFF2Quo6lkw72E52gRV7EPhdDYk_5B0JPhlSlLxEmHdVG4kgPCG4yNhFHumUVamoMJweZufO2c4WTE44jF7NTorO03WJNTRDlwUp0YObhkzTIcfSMWgYsHecj8m8k1Q_mq_93LFqwbOmSoFppyOdj140jA5IG10HqaCDSvh_HkhHDaqGQuEbUltBDA2zocr052fky9kRhciEDqBSR4EQsDojK4EPMwU6dct1JNqUuZ_HL8_VkDTpMfAlEiosFOmSkbjp5p7m1tQHGVHOzZME6bXEgdROgG6SzI06DdtITneImC500uSQeR8_GEmcBMvBAljSy1cXkFmVDx_L5H7avXm1bRkE3iz29ecvK2XZAoxnEAafuiXwhX6lUaOUCu4alcuEVfURZJBWJyRXDvyQUJ4176_w9kmk5LIcIZBqHH1Jfn2PZMfueORfIl85mwIsyLtAIL6hWdcvJN1XsmoBEDiVayLUcpsWghhiDLWeSEycWAzsjWTO0SVYKmXm0ztS21SGY_tmvInFNJiXrqB5U0F8ymxqz0bdo8SKtSEKv5fN5dQ49SBzjtHS90uDCx7kN3ImQ2Fwh_tJ_IXL9LOrE7QxK60xiNHHq88g2RmYNk_TWZYmky5_7xnVdx3YEL50KQ9Qv0tgmP21I1irZG5Eb6zn6wfWrpsFO30h0dXUuW7l__QqvXGnQjdiP_dB1QD90y4OuCNEsE8rH0m2QY7foFux8nDCSaCOFoHFzKEIgCzuOpYtYk6PIeV3sVoa1Lz3MesK0KR6uacnmPACZbqB_KJilcziMeLlpmHrgx3h8x0FvwBZcumb97J12njJrliCBpBupO0DI9IzU_7fRnON_NGOQTz3pQxA0jbFC_woFATpxEHRGRszGfpCYSIxGPVn5gR7BMMfSGYVfDVn4fHxQ8MIJhUKBEcMUAR8UFhkcXK2CDq7lW8hF_AW_I_WyyNPwKz8FPler1VwupzBdcav4a_qGQyqf_PQ6BSgNaSjHTGRFGugkQ0rmYNE0DQJb_oCFVy2uWtW9bGW1qzvsLzkwXCwjYMubnC8iYZiUGixnrUjGU8JcslojeRZ6HNeVh_M4OZUcxPQ4IWdv0ShR1qEMoes8T7R4cOQfT1d1CXNydgGAIYU5SPWQbMNsDMOK59Y3Nce2U664wikkLpwBSnnA_hiDi5YFVHKayWPGPctDG8jCPT72oqXRWjwe18NznYeNhkrKFT6ImwIBOA0CgCWTTMze2DQl_xgrfDnLHnxlLDI6GXa4HA2W8oMKN6BYLNbW1nI9_ID4kHNyoaQWeEawEyeXC6Vkkuogzi7I4zmGc_0ocCh7nfRFZe26tcuWdK1aAwmjBb4jdAuWsK4FsMvlogR6RumPCZOHIo6rk_svWe8ns0WFDIwSZngaxGmQQUifrsa_vo3ZyEm3MMI40iVSo11PTHdaSKNTgiD5rTmXgpJUZQ4z_ubq6_t9f8LESbN2222wDhrAiDejmNy5LHV4BsvVPGZWW2XxselxLlyDmv0sOVSFfA4DixFQKpVqamqUnOOJSNrEcXAtjkOooEKAA1_J1jUMBrRSauh31KxEi8hgjg8COtwM1s6oDccBF_VVrtEUBqf9JYMt5YfMzML_gjgyoVryJqal39u7dumSdUuWQpo5cexQk2wWFSFFAcJI9lAktxkQmlIJvEyTEv8YOnJFDE0kgBdURjOtjX2byblRva2nH4YfWblVkyGpdBjFPuSgRio9BrOOXLnQyy7U9ZYrU2fO2nLX3YX0LKeh9oFlAMMbvSTjygPMqoRsBKk7hrxgOC3GM1vNfiHxxJjgmtWvPHKADssboARg4moBHcYEPgM3IpUfqApXMY_JSkr_KmTnAhksxgBBQIeFViQpBdrAtdFyXVoEY3qB1Bdh2Nvb20Q2iBLeJO5Je3K3aHrFrxQsK65Uly_Yv27REqvqNdQUcA_pgInIhjDPE71q0HZvcZCY4_EAiWKYtvwQcTqoTKaRVpG_kXlIcz0Jm8tYVTZDUQkefbDvMnXMkFsnogx2nQJlFIcPOASad7oqlW22237y9tsT3ZHLRg3H3kyoDFFM1gIYDHzgKc5jrMi8GBtr5vN54FmuDPqVq1XiQX3gcWX6IlKlw8KDRIXUWUyGuHksn0TiOiOBh2txRGlAhiBzI4Yvt1ndEWoB50SS8QA6nuvScQpkGxHFKRP2LBWlZuuU3blq0cL_9vV10FOG5YR4wIpZcGj5jFxhIImeThGoKEzyrdg20vj2OpNCCWXKGYukEY6Wk8oL0hD3xr_sikYeuI3hbnYbQgbSbJRBVtTikS85cnG0vqaiib0O3Mtum5S4ktEkufllMrhZ0_LjaS6UN954A929xRZbNDc3MynZrIp4DmE4Ozo6Vq1atccee6A25jesyASbOXLgca_333579uzZu_22G0CD4_j7_PPPb9iwAb0MeVBXV4fLMX4HHHDApEmTFAKeeeaZJUuWHHLIIVOmTEELVeNfeeWVRYsWyRW1xNCBvJ122ulTn_rURx99tGLFis9_9rMs_MhMM02Ipeee_cvOO_8Mqfb4448XciSiuG240eTJk3fYYQc0QBdy8GPN7excsXCB6C01WXmIOMgUAjruRU42Ge2M5C5bclGmbuoa5w_HEF1kolEck5Ip2A_sJYFKaBkZXdfSpBk1Q3XJZ2VmqcyQjjm7XlLwiCMT8vyBWSI6cS_Kg_CWXhh5AaBvmbX5uL527332JhOdrEAbMhzQ0WRgbkA2vxaNhtchSqKwUJ599lkMTENDA2sECA8tU9T48TBsWnDclZMYAgODtNVWW7W0tLDuIJmeweL8_fNPOukkwOuaa6658847Dz74YBZL55xzzq677nreeedNnz597dq19fX1CxYswJFXX30VmEbfAzpf_9rXjj766Kuuuurdd99tampiAn7QQQdtueWWONje3g7cTJgw4Te__c13vvOdxYsX33fffffee_8777zD1hw3HledcMIJTzzxRGNj41e__tWn_vRkW1sbmg3gQmqiB_rq6xXUIBW1cjVHDl6zgBpAksGfXDc2dVokQ2qLPL4mpUrRtPYFR7F4wDWVqMqiXSe1YsVy_WfkkYlOHI5TATN5x0P2MAXJSTMmkimWQcyIw7eSm7tStUFYAsyRY_XrGxvbWiftugut2ZDbjFF0xXEk64o1I2OWcxbK5uuwxObCpMeM7OvrQ_9jyBkE_JknN_8Ftph4YngwNdHROBO8BLIK0gLHMSrr168H7CAtmEEzR8GcZiHEguf444__0pe_9F__9V___vWvv_KVr0BszJo1S0jJhA977bUX6oQAAHrwobu7G8Js2rRpK1euBLAAEQz81KlTgZgXX3wR56BVr732GqrCOdtDr0ut973vfe_MM84AGiAk1q1b9_TTT5tS5LBBgMdEq_ATHgHn9xX7MYq_66F5PT09EydO5K4BsSIYGLl1Hy023TBn2l7VdUzTBzVycn1_lbbKAZ5cvyafK3f3O4YdxCFkT2watrQYmNrDsgvl_jy0FvY5gIM2BGFAHME08BvMacck3w0j2LFtFoSc88MCNfEfAqMGEb5iuVJbX9dbKpo56OxcV38vZqirC9OxKmEAmTp7zuzGtinCMckRCI7MHhorzdExNA6xcOQejSWVDdGV2jdZ5j4SejDAaCXm_gcffHDqqafusssuUApZA5urALe46667Xn_9dXz99Kc_feyxx2YtaqYpy5YtQyUvvPACm0vss_Gq2OvT399_yimn4CDQA52y995777fffhASEBVsUr388ss___nPURuLQ5Y30CP4FXeETIIOWrNmzXHHHXf__ffjyHPPPcdsCVJq7ty5SlfiCNA2Y8YM5luoGbdGy4FsfFAeSLYPcEJrayvQgxMgzyAyA9clnQWJWC6Jzq5qZ29U8R0IY91E4z2X8kaNnONRRg5UAWzx0NKBGEcLPeHYgcYJwl5i9ZPkpVkaytV6cjgtcutGtHqC3H1SJLKIl6Eu0G_TrXqSNMkNLjg7MOYEHb2I3q6t6ylXzHy_q7_vIWe7mlZbVzu1tWXq9OlAFaY73QX8yknTLTI6LvHqaEnCm0QMUUC5RDHUDX2M0CH0sGb58MMPjzzySAwqH1WOO5E6bXkqoOt5civCwdYy_mK6YLSgQTCKd999d5YC4ydci0G94oorAJorr7zy_fffJ2OnqenEE0_89tprzz___F_84heQNMATPouMewboROWHHXYY7ghx8uSTT7KdBcxddtllp512GjANxP_2t7_F9sHkxpMDu3icSy65BCIHXQDRCIyi_couW758Odv80FxoA_7yA0K0QBpFeF7pg6b_tvKdy9YEZTev20mgwDQp_dgkQz0ql6WhBU2kQQKAhlFUQjdpvQLvSxEJ9iTJFb8xuaAx7YlhG3KFIHkEHSeny711KO3GltyANB_lIeqmxZSR0r8kjgJKq_cg8ABMA9w07_y1y86106aInC13dacoF0MC9676YV53BoFGpFwHwk8n56cmh5jCarZFXtMh9SaDZAj04CiwggE_4ogjMAfQ9dBK7G5Bh3IoYGMwxXHwFeer_Aa77PgnvjHUFqYvLidTMRVLfDmG_cILLwQlkhPbYjNq2223BYNG6wEgiD1Ujs8MPtwCNYD2QtkB3PiV0cyt2meffSCBUNVzskAD4jgu9GnjteDRRx8Fa8blUGdoG_tZFktA_a9_9SsAHZV861vfgrYFntBIkkWVKhRDU0Mj5Wt6vu763R1deaiHmjzteVzFdHcoXd2DkNcpadNyNOn5hcHmw_6CIvPJriIGpEmtIQczIJpiyVRgjDHUFgXWDblvD0EqhuUlbBOVAD7SJIto63aDPKuUuAjJY1HuhBlrYa4_F4i47Lp_HNbU5GqnTxW2RZLENHhjXBkl10DJhR35G93mA6AjpNsikgNHgjHZsCeSkiLxgMQZf8FwVMxkZEGh8FxH7_P0VSa3IrzAAUCGr_y_U_KHzVGROgwxDNApOI11Fr6qbdXOPvtsdikpHzT_wjjabrvtUAPwwR4g1MwKkSUQKDOkDrnXpBRk6x1nght94xvfYNfUUUcdxQ1TXnJuKgQhUIKW8_OgWshxJ5cDeeL59B__8R8wTyyT9uMnVxPnZEmLSXeMhW_929vT42A8dZvysnJ5Tao8mjOw50OIHIuWRsE4dsxq4Nv5nFcsy_wLmcmeemLYUuJNB_AvzGkcsKDOpJdRM0xgruoFZAyRgYZ7G6HMPCeBhy8gJuRUJN1ViaPeUn9NXQPm7_wddkD_Ctot1wMcgFtLDkq5Wsnn8raZE5vEHbJBCaAXDc0EHGGN2bFyuGcANJwWM5kZqHAmV8R9zTJG_YsZHAqGygZGDfhVOWxwPlht9n7obuW_Q_0grVAxoMPQGszNGbgKZIq7oELoSjKeyUNhsoXFnhLcV0k1Ppm_Mo75FlwnsMWPkLRQNp_rFdIbaeccnkJ0Le2kFNAmI1G0ZvkKiKUJ9Q1BX7ECrDiW4RCTiyO9Fiip_hhQK9b9KIQYiUy9q79Yo9dQ8nsopTX5ntm_TJFVSjsnY9yknZVpSwQDkKxUPTKrawuWHVfLFVwFYFJEjGLvsc_JYKgchBpkC6wuDoH05kmTZ87ZpmnqFE7mqnr00gCqOUxUBPfnppomCx3ycsnpzQOK_7ueS7FtP2C5wDonCZ4MpbYEay6RcdbhITmOzdamCjLw8OA0WmAoLQjGGf_lMJNIFSQffOutt2DCACL4CYoD9GLVqlUYVCgO_IrjQkomjB_DFY8BG3v16tWwegA1dhkAZLhwzpw5KhqKJjEte__99x5__HHcsaurC3IOliBqhtIEy2a7CZegfg6aMhZJIKGbLQvQAftetGQxjM358_e7ZApFFBWpkudp21mzcX5PV_ek2sbealDr2E6_puq5vucT1_UjoKbRqdW1mDYnxYg7RjnwP1y_FL2__zbbyQ2ZonSayWUutJCPJjoUSihfIAKDC__29PSt7VgHS3NCc7Nh2bSij8KoEjy4iLe5ELpMBfTp2fP5ZWtWWk11S9esqmrR_q5uCDzgb8ZWW8Kak4azW5sv1NfVkRVcrmy99ZYTJ7UNuW6abBrfX7xkCXqveUIrdWNnD0nrOdvw_BwSLoPRI6Q8R5dxFw8ZoGANwo44VM1DIrfz1BlASmYwYUJtaA3QBmSAmoAjQ8vgefbdd98DDjgANFZFyFEno4S1EkQCKrn99tsXLlzIrHbevHkwxTnUoJI9YKKDuACLIFJbb701EIMueOeddx555BHACGoOiphtctbCCW6kGx3T_x_vvvvHxx7F_cVyiTGH02oLNRjnwPM_WPiPvz_zHLQRNEtrbUNNbOy16_5zt9vWlTuiNNY22Hk9BwzL2FXZ810Kuprd5eJ7SxfCcNtl7vYyw9TSEvYgNx4gJ7CZbtFDsSvdNDzf7y71__Wll3xDbJfbFiabwTldeizXBNJqCE3mYND2zEYMUNRPaG7ZZsb6nq7Hn37q5VdfMe3c9BlbfOHoo1raJhZyuRXLlj326BMrli_H8wI64AOXXXbJsCMvCSsY54MPPtjesQGXfGrHnQ899FD27zN6RrfYRSr5BzmXs_kyqi6exxhjFXnIWnfZyAPOhAElpMpbsmQJk1bYU_rXQS1jIbfbbrsBRrDML774Ygz_Oeecs_eeew6y7x577DFY9WAz9957L_DFWozb8MILL1x__fWc_oPjLAi5nexzAv5u_eVtDzzwwJxt537lKyfustvOW2_1tfTrSpsiklaQH3auWPXAH_5fvGDRkoWLyHHlWHIvQLDpBi2ImhubQajRCT19vU5jDYR7xQiWd6xf2b7WNq2Fq1bOnbE16Zkghsxyyy7MbyDDyeVdvxowlTAtP45AwHsrpYqtPf3Gq92B99kDDl6zfOUWk6b0dfbW1zou6S1ds_VSteLrYupW07eeNbNuchtk0RbVyp4HHHDmmWeuXrvm6KOPxpDLdcri6C8cdchnDkYPvPjii_hPO2dNmTZVTTklAtjwpJBOrvCZzxzyyCOPQh4fd_yXvv71rw_yrcaEnlELPzKHDsTwDHzIwvyDw08QMyr1Z9gGSeOZn5M5Mp_MD79o0aJbbrkFEPz2t7_NmtVpfO1ee_0F2cY_N5UexCE8_AWJ_f73v__iCy_B7jvhpBPBNnwQ8ZBeC2KlCxhkuqUDI2v3HXeZ1DBxUkvbq2_8XvE9WihnOHU1DYJy9Oi9MkTPGxs6ij1awQxN_cPFi4Vp9Veqb7__wRbTZhDP6yvnDDvWI9POg_uWShW6kQNervlk3IDAQMjoLjnpxCtvvwWadNDeB_QUy7WNDf2QlzWFru5uSJ7WadOmz5oxAWa5LaObFppCEZVcIc9WbRJnlQwV3XXuuediukLSv_rqq3_7298OPPBAFYTh05Q5gq9PP_007M3DDz_8tNNOyyZUjbEMe_agAebcMTY3sgHUUQsQw6trobDY2lJMfIRb8_2yRiODAOoG2h0QgSEmJKSYF8udZsna2n___aHFOFCvsjjwa3t7O6Dz8ssvo5tOPfVUJ0_rnMjUktEemnNySR1ZSeXqokVLQJynT92isbH5Hx9_gFuj8bSVn2YErtdXLnuerxl6uVjKgbHl7XW9nUuXrap4QW2_fuGSpR2dvW2tuYof1mhmhdL9KP3IpMwT30f9YexHMcWkYNdLAYmPnue_9tabNflaUK6O3m7bskq93RPaWqdvPWPyjOmi1mYODOiIlMPiqXlWqE5jTwee97zzzsPsQsW33XYbWCAarzRJlgWD_T388MNTpkw566yzGDeDEkFHLZuBNbIIpOwZLtQ1ZGF_EgNCpFlg8cDcg2xhSo6OYB_jOo1RAsaDJwTRkVmYkdLQiuDvs88_OEH1FAtqoOq6664DdMCTLrnkInAOMrVgixmaL811GI62ZTO5XLtqzbq1HXnLrsvXTZwwcfLEyfU19RSZ6envLxbdItizm8e8J2riW3be1_J3__FBV2_vVrNmrly_Ih_rCxYvrqlr1C3bp_XieinghFqjHFbiINYphUuEGq2PqbqAE_19WqipqZTLjz71Jzz8vnvvO2niRNxxQlubqLGS_aWCCFpMpM5bnoEcaRFpao1KCYK6__xnP_vUU0999NFH0O_sgFUcg08GHXzooYdgedx6661tbW3MWTcLOmJk9Awy9yOVfqt2XRiDCssaaCKl2COcr8nNpln2iIytmHpFaZ8AWHPsq_Rz2NhWSajsomTHJq1y0jT04_PPPw9Nd8IJJ9ArPKIAaosSYqIw2eVP09nH43YVV65YU1vbSLzYhJqxt5u7XW2htlgswT7yPQ_mjww4BLC_nIZ6WD2Rpb374YfNTRO_9KXjb7rxZwDE_wsWzdn_U_W1DUXPNWXqIx677Aeh9MvppkwaBY4M04_jNWvXnnL6vLfffnddx3rA9Innntl2px333unAxOCm9_zR2yE16UQOojDbITzBsr2Ee_HBMX9AYl555RUcefLJJzGjQChVn_DX2traDz744He__93xxx_PXwWbYJ_g5uKSFRIse7LoGfK0QYXDSXz5cA7vbFE8l__lKuepBgsL4IAR98tf_vKiiy5SoOQzAR2_BTuOVaISphf6C_jBjEy2nWRXva6D2BK40WtSnnZ19fT29k_oa7Y0o75QXyjkdtxhN9errGvvLPaVUC2gDQXWVypBifT2umZtftmKJSvXrtn907tBR0_dPu29t991vWBtx4Z8XX1Pf29jfZMbBVHgWYYtLLKeqtWyG4BIUdANEki3TDTsu9_9Ltju66_9CTvg2p9c7zTUwuaoqc3xek4wZXQGAU_fGElgCc19y1KW8zZxkL3q0EdQ1t3d3ffccw_Qw0wZJ6Mr0F0333wzrrrkkkuUTgB0VKeNsYwVaywMOIM4K3tGpeWsO6Ik8BPz6I4KI453cqCUH49TmGGFch_dcccdUOenn346y3A0I7vuQmXWAnBvvvlmZ2cnzPuTTz5Zdk3ECQlyjxNqA_UDOeSxBYAqZbepqaUu3wCODOFBHDNXD5iRowt2eaRhsFvaJtWFXkNTw6p1aydPnXTfH_8Q6cEee_7W09_94847YE53l3vfeO_ttmlTtLzlaYGvh7R2yiT_HSyxqgisvFPfWAf05OvJAsWHuXNnX3PNNZdceilUCW5x_XeuvOmmm3bffXfbID6mpzmKylPPAXwUVybVq8BRnC5AwEGYY3_5y1_Ai___978_8sgjxxxzDHNWXIuvzz33HO4I4LIWY1t4s6AjRkaPIisiVVusKTbL5mLzh4WHilGMXPghlU_IAco9ctBBB2FSojswga699toPP_zwP__zPyGQSSqkua0iJUnoR3QK1NzKlSvxgcmjJnOKTdrzwoDmMnSLoCP39erv7O_o6GxtaqnN1dfYhcD1l69Y0dfTb9qWbuRMWwOPMXVr_tYz8xNt9Nz0Hbbs7ux55_23Z283_8TTT0YfLV_6_E9PPdlX6f_Hh_8devjn2ia3EaZ9h2Uhwdo2puRyIFOgGrEI13Su7unsyqMBsZg8edINN9xwxplf_3DBfEig887_JiTHYYd_zpTpOLypSkTaLxE_PEm4Pzm8w6pHcRf8BNGCvsIUAhY_85nPoNNwsKen50c__hEsD1gP7BxmV0g2IjnWwR3uBxXvEGk2O2pnm0vu9aLzpB8VDbhKBWLVwREED6fEV2RRQlWkKzTw97LLLlu9ejXM0YkTJz744IPg0RD7QFXWsFfp9_gA9c9pSTNnzmTcWKYT0jI52jQF_ssUJq_6A1ue0DbRMeyGhkaAZkNHB63_MvJRoEWGRrsIaFF_tfjuggV7TtqR3f6P__nx9u518_Y6iVZjGmLq9IkHHXLQHXfc1VvsXrF62Ze_fAwvD499uSRKEyoXHVODwjtuGU0q9ZV424K2ttYbb_zpWd84e_369XiQH_zgmkLO_cwBB9K_7j4FPixQe5mnwVML1iWPN8sknmBKG6CvYJmy_YUe_NnPfoYPOOcHP_gB7Nb__Z__4XCNku5K74_OmrRsns01YBFJhlOPLI2AG9Z6Y7kLOyQHGfYMVpZJ6JFbbrkFrHDBggU4jo4___yz582bd_WVVzIrFFICq_AfTlDoT1khoGN6Pk07C9TVi91qtbO9q1BbP6GhRYu11cvX9nX3BeDFTj5Xa5dLHpiLC_Fh65plF6vl9e19rZPqNVs89_xzVb960rwTS_XemppaM2d_7vOH3PzLn1c9_eHHH7nosgvRmu6unqbmRpHupcwrxWN6eRFJDkwSkHEyqSwdH7bZeub11_3wssu_tWLZ8oULPvreVVdZV1_z2y6702YGru9CmtbX8FOwvlYqe7j_hKEAPfXuu__efffd4MjQkviK3ps6dSrL6X_mbB56OCaa1V8jx2BFOpCKAo_FNWe1pDLa_W9vb2_jLHfddRdEzsMPP8wJhKBBb7_99k9_8pOtttqKDUORes9Zhqm4SrJuxAtgomuU8E6rcCDModdAZ1etWR2H8fqODpg_piHa13VMbJkWuwEUXFhxYw0qJO7u616xdlVdy5z5H7z39LN_3u_AfZtbWiK5ES7Y2i677LTjTjssWLBw5eoVj_zxkSOPPLKppZEeTEuyJeJkf0EKu4dx4EqJTvgWOoRuqVLeY9ddfvD9qy86_4I49JcsWXL55Zf_7Iab9thjdwrX1NWUSyVAmsUqnh1dkS6EHbqgc66__uojjjgCYuZ73_seLmlqajrnnHMUdLJukc0SPGJUb2FWfzEIlOwZS_4ZF_6dbHB_00hFtjB6mGuLjK3OncXqGR_gy2GC3XbbbZBtOAfoOe200_68884tt9xSBTeY_pB2KJXYh4RegywpFGw2ZHBw3dr14ArARD8ojm5tPXNr2FPLly6zTad2Qn1794ZyyW1paQKPDoQHY9sSek1tPl9j_PrXv97Q1THv1FPZaVQu9xcKdeBSxx133BVXXIHn_f399x3xhcPxQKl4SHKSk9115Bpon9NOLLNacXMFuVdLHO231z433njjueeeWylVQcNhXf7k_h_tuc9eEFGFmppEhsUxNBd7JUbWOOilr33taz__8Y_BOcAR5ioApMZxVB_KCGUzZA_jR_mpMd7SlYXZ0hgNLjZE2ceoiJda_Iei1r9eeumlO__884UXXghe3NLSAhJ9wQUXP diff --git a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/running-tuscany.odt b/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/running-tuscany.odt Binary files differdeleted file mode 100644 index 98ea7cc789..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC2/samples/running-tuscany/running-tuscany.odt +++ /dev/null |