From 6a5618b2741471546e0b0885e1758c391837dff6 Mon Sep 17 00:00:00 2001 From: antelder Date: Thu, 16 Feb 2012 15:38:02 +0000 Subject: Rename beta3 tag to final name git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1245031 13f79535-47bb-0310-9956-ffa450edef68 --- .../binding-comet/autocomplete-webapp/README | 79 -------- .../binding-comet/autocomplete-webapp/pom.xml | 82 -------- .../apache/tuscany/sca/sample/comet/Country.java | 40 ---- .../sca/sample/comet/CountryRepository.java | 30 --- .../sca/sample/comet/CountryRepositoryImpl.java | 80 -------- .../tuscany/sca/sample/comet/CountryService.java | 30 --- .../sca/sample/comet/CountryServiceImpl.java | 36 ---- .../src/main/resources/countries.txt | 211 --------------------- .../src/main/webapp/META-INF/MANIFEST.MF | 2 - .../src/main/webapp/WEB-INF/web.composite | 41 ---- .../src/main/webapp/WEB-INF/web.xml | 34 ---- .../autocomplete-webapp/src/main/webapp/index.html | 69 ------- .../learning-more/binding-comet/chat-webapp/README | 99 ---------- .../binding-comet/chat-webapp/pom.xml | 81 -------- .../tuscany/sca/sample/comet/ChatService.java | 36 ---- .../tuscany/sca/sample/comet/ChatServiceImpl.java | 56 ------ .../src/main/webapp/META-INF/MANIFEST.MF | 2 - .../src/main/webapp/WEB-INF/web.composite | 37 ---- .../chat-webapp/src/main/webapp/WEB-INF/web.xml | 34 ---- .../chat-webapp/src/main/webapp/index.html | 109 ----------- .../samples/learning-more/binding-comet/pom.xml | 47 ----- .../binding-comet/pubsub-webapp/README | 102 ---------- .../binding-comet/pubsub-webapp/pom.xml | 81 -------- .../org/apache/tuscany/sca/sample/comet/Event.java | 51 ----- .../tuscany/sca/sample/comet/EventProcessor.java | 107 ----------- .../comet/EventProcessorConsumerService.java | 37 ---- .../comet/EventProcessorProducerService.java | 28 --- .../apache/tuscany/sca/sample/comet/Producer.java | 76 -------- .../src/main/webapp/META-INF/MANIFEST.MF | 2 - .../src/main/webapp/WEB-INF/web.composite | 63 ------ .../pubsub-webapp/src/main/webapp/WEB-INF/web.xml | 34 ---- .../pubsub-webapp/src/main/webapp/index.html | 107 ----------- .../binding-comet/weather-webapp/README | 100 ---------- .../binding-comet/weather-webapp/pom.xml | 74 -------- .../apache/tuscany/sca/sample/comet/Helper.java | 34 ---- .../tuscany/sca/sample/comet/HumidityService.java | 35 ---- .../sca/sample/comet/PrecipitationService.java | 35 ---- .../sca/sample/comet/PrecipitationServiceImpl.java | 56 ------ .../comet/TemperatureHumidityServiceImpl.java | 76 -------- .../sca/sample/comet/TemperatureService.java | 38 ---- .../tuscany/sca/sample/comet/model/Location.java | 43 ----- .../tuscany/sca/sample/comet/model/Response.java | 45 ----- .../src/main/webapp/META-INF/MANIFEST.MF | 2 - .../src/main/webapp/WEB-INF/web.composite | 58 ------ .../weather-webapp/src/main/webapp/WEB-INF/web.xml | 34 ---- .../weather-webapp/src/main/webapp/index.html | 159 ---------------- 46 files changed, 2712 deletions(-) delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/README delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/pom.xml delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/resources/countries.txt delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/index.html delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/README delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/pom.xml delete mode 100644 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 delete mode 100644 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 delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.composite delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.xml delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/index.html delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pom.xml delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/README delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/pom.xml delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.composite delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.xml delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/index.html delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/README delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/pom.xml delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 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 delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.composite delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.xml delete mode 100644 sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/index.html (limited to 'sca-java-2.x/tags/2.0-Beta3-RC2/samples/learning-more/binding-comet') 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 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: - - -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..(, 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 @@ - - - - 4.0.0 - - org.apache.tuscany.sca.samples - tuscany-samples-binding-comet - 2.0-Beta3 - ../pom.xml - - - sample-binding-comet-autocomplete-webapp - war - 2.0-Beta3 - Apache Tuscany SCA Sample binding.comet Real-Time Suggestions Webapp - - - - org.apache.tuscany.sca - tuscany-binding-comet-runtime - 2.0-Beta3 - - - javax - javaee-web-api - 6.0 - provided - - - org.apache.tuscany.sca - tuscany-base-runtime-pom - 2.0-Beta3 - pom - compile - - - com.google.guava - guava - r09 - jar - compile - - - - - - - com.googlecode.t7mp - maven-t7-plugin - 0.9.6 - - - - org.apache.tuscany.sca.samples - sample-binding-comet-autocomplete-webapp - 2.0-Beta3 - - - - - - - - - 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 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 countries; - - @Constructor - public CountryRepositoryImpl(@Property(name = "fileName") String fileName) { - this.fileName = fileName; - countries = new ArrayList(); - } - - @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 findStartingWith(String text) { - List result = new ArrayList(); - 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 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 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 @@ - - - - - - - - - - - - - - - - countries.txt - - - \ 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 @@ - - - - Apache Tuscany Stock Comet Sample - - tuscany - org.apache.tuscany.sca.host.webapp.TuscanyServletFilter - true - - - tuscany - /* - - - index.html - - \ 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 @@ - - - - Apache Tuscany Comet Sample - - - - - - -

Apache Tuscany Comet Sample

-

Real-time suggestions

- - - - - -
Enter a country name
- -
-
- - 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 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: - - - - - - -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: - - -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..(, 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 @@ - - - - 4.0.0 - - org.apache.tuscany.sca.samples - tuscany-samples-binding-comet - 2.0-Beta3 - ../pom.xml - - - sample-binding-comet-chat-webapp - war - 2.0-Beta3 - Apache Tuscany SCA Sample binding.comet Chat Webapp - - - - org.apache.tuscany.sca - tuscany-binding-comet-runtime - 2.0-Beta3 - - - javax - javaee-web-api - 6.0 - provided - - - org.apache.tuscany.sca - tuscany-base-runtime-pom - 2.0-Beta3 - pom - compile - - - com.google.guava - guava - r09 - jar - compile - - - - - - - com.googlecode.t7mp - maven-t7-plugin - 0.9.6 - - - - org.apache.tuscany.sca.samples - sample-binding-comet-chat-webapp - 2.0-Beta3 - - - - - - - - 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 clients = new CopyOnWriteArrayList(); - - @Override - public void postMessage(String user, String message) { - for (CometCallback callback : new ArrayList(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(). 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 @@ - - - - - - - - - - - - - - - - \ 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 @@ - - - - Apache Tuscany Stock Comet Sample - - tuscany - org.apache.tuscany.sca.host.webapp.TuscanyServletFilter - true - - - tuscany - /* - - - index.html - - \ 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 @@ - - - - Apache Tuscany Comet Sample - - - - - - -

Apache Tuscany Comet Sample

-

Chat

-

-

- - - - - - -
Nickname
-
-
-

Server notifications

- - - - - - -
-
- - 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 @@ - - - - 4.0.0 - - org.apache.tuscany.sca.samples - tuscany-samples-learning-more - 2.0-Beta3 - ../pom.xml - - - tuscany-samples-binding-comet - pom - Apache Tuscany SCA Sample binding.comet - - - - default - - true - - - autocomplete-webapp - weather-webapp - pubsub-webapp - chat-webapp - - - - 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 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: - - - - - - -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: - - -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..(, 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 @@ - - - - 4.0.0 - - org.apache.tuscany.sca.samples - tuscany-samples-binding-comet - 2.0-Beta3 - ../pom.xml - - - sample-binding-comet-pubsub-webapp - war - 2.0-Beta3 - Apache Tuscany SCA Sample binding.comet PubSub Webapp - - - - org.apache.tuscany.sca - tuscany-binding-comet-runtime - 2.0-Beta3 - - - javax - javaee-web-api - 6.0 - provided - - - org.apache.tuscany.sca - tuscany-base-runtime-pom - 2.0-Beta3 - pom - compile - - - com.google.guava - guava - r09 - jar - compile - - - - - - - com.googlecode.t7mp - maven-t7-plugin - 0.9.6 - - - - org.apache.tuscany.sca.samples - sample-binding-comet-pubsub-webapp - 2.0-Beta3 - - - - - - - - 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 clients = new ConcurrentHashMap(); - private Multimap eventListeners = Multimaps.synchronizedMultimap(HashMultimap - . create()); - - @Override - public void onEvent(String eventName, String eventData) { - // System.out.println("EventProcessor: Received event " + eventName + - // "..."); - List destinations = new ArrayList(); - 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 @@ - - - - - - - - - - - - - - - - - - - - - - SLOW - 6000 - - - - - - MODERATE - 3000 - - - - - - FAST - 1000 - - - \ 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 @@ - - - - Apache Tuscany Stock Comet Sample - - tuscany - org.apache.tuscany.sca.host.webapp.TuscanyServletFilter - true - - - tuscany - /* - - - index.html - - \ 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 @@ - - - - Apache Tuscany Comet Sample - - - - - - - - - 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 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: - - - - - - -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: - - -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..(, 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 @@ - - - - 4.0.0 - - org.apache.tuscany.sca.samples - tuscany-samples-binding-comet - 2.0-Beta3 - ../pom.xml - - - sample-binding-comet-weather-webapp - war - 2.0-Beta3 - Apache Tuscany SCA Sample binding.comet Weather Monitor Webapp - - - - org.apache.tuscany.sca - tuscany-binding-comet-runtime - 2.0-Beta3 - - - javax - javaee-web-api - 6.0 - provided - - - org.apache.tuscany.sca - tuscany-base-runtime-pom - 2.0-Beta3 - pom - compile - - - - - - - com.googlecode.t7mp - maven-t7-plugin - 0.9.6 - - - - org.apache.tuscany.sca.samples - sample-binding-comet-weather-webapp - 2.0-Beta3 - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ 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 @@ - - - - Apache Tuscany Stock Comet Sample - - tuscany - org.apache.tuscany.sca.host.webapp.TuscanyServletFilter - true - - - tuscany - /* - - - index.html - - \ 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 @@ - - - - Apache Tuscany Comet Sample - - - - - - - - - -- cgit v1.2.3