Author: fmoga
Date: Tue May 24 14:28:46 2011
New Revision: 1127081

URL: http://svn.apache.org/viewvc?rev=1127081&view=rev
Log:
Update sample to reflect latest upgrades in the comet module.

Modified:
    
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java
    
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java
    
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java
    
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java
    
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/index.html

Modified: 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java?rev=1127081&r1=1127080&r2=1127081&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java
 (original)
+++ 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java
 Tue May 24 14:28:46 2011
@@ -22,12 +22,14 @@ package org.apache.tuscany.sca.sample.co
 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

Modified: 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java?rev=1127081&r1=1127080&r2=1127081&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java
 Tue May 24 14:28:46 2011
@@ -20,8 +20,11 @@
 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;
@@ -31,22 +34,23 @@ import org.oasisopen.sca.annotation.Serv
 public class PrecipitationServiceImpl implements PrecipitationService {
 
        @Callback
-       protected CometCallback callback;
+       protected CometCallback client;
 
        @Override
        public void getPrecipitation(final Location location) {
-               while (callback.isClientConnected()) {
-                       Response response = new Response();
-                       response.setDate(new Date());
-                       response.setData(Helper.randomInt(100) + "%");
-
-                       callback.sendResponse(response);
-                       try {
-                               Thread.sleep(1000);
-                       } catch (InterruptedException e) {
-                               e.printStackTrace();
+               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);
        }
-
 }

Modified: 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java?rev=1127081&r1=1127080&r2=1127081&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java
 Tue May 24 14:28:46 2011
@@ -20,51 +20,57 @@
 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 {
+public class TemperatureHumidityServiceImpl implements TemperatureService, 
HumidityService {
 
        @Callback
        protected CometCallback callback;
 
        @Override
        public void getHumidity(final Location location) {
-               while (callback.isClientConnected()) {
-                       final Response response = new Response();
-                       response.setDate(new Date());
-                       response.setData(Helper.randomInt(90) + "%");
-                       callback.sendResponse(response);
-                       try {
-                               Thread.sleep(5000);
-                       } catch (InterruptedException e) {
-                               e.printStackTrace();
+               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) {
-               while (callback.isClientConnected()) {
-                       final Response response = new Response();
-                       response.setDate(new Date());
-                       final String data = ""
-                                       + Helper.randomInt(scale == 
TemperatureService.CELSIUS ? 40
-                                                       : 150);
-                       response.setData(data);
-                       callback.sendResponse(response);
-                       try {
-                               Thread.sleep(3000);
-                       } catch (InterruptedException e) {
-                               e.printStackTrace();
+               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

Modified: 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java?rev=1127081&r1=1127080&r2=1127081&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java
 (original)
+++ 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java
 Tue May 24 14:28:46 2011
@@ -22,6 +22,7 @@ package org.apache.tuscany.sca.sample.co
 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
@@ -31,6 +32,7 @@ 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

Modified: 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/index.html
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/index.html?rev=1127081&r1=1127080&r2=1127081&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/index.html
 (original)
+++ 
tuscany/sca-java-2.x/contrib/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/index.html
 Tue May 24 14:28:46 2011
@@ -59,8 +59,7 @@
                        document.getElementById('connect').onclick = 
function(event) {
                 /* transport can be : long-polling or streaming */
                                
SCA.TuscanyComet.connect(document.getElementById('transport').value);
-                document.getElementById('connect').disabled = true;
-                document.getElementById('transport').disabled = true;
+                document.getElementById('connect').value = 'Switch';
                 document.getElementById('locationButton').disabled = false;
                        }
                        


Reply via email to