You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by fm...@apache.org on 2010/08/15 09:29:15 UTC

svn commit: r985623 - in /tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main: java/org/apache/tuscany/sca/sample/comet/ java/org/apache/tuscany/sca/sample/comet/model/ webapp/

Author: fmoga
Date: Sun Aug 15 07:29:14 2010
New Revision: 985623

URL: http://svn.apache.org/viewvc?rev=985623&view=rev
Log:
Updated sample to use generated proxies and json for parameters.

Added:
    tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Helper.java
    tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/
    tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Location.java
    tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Response.java
Modified:
    tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java
    tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationService.java
    tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java
    tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java
    tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java
    tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/webapp/index.html

Added: tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Helper.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Helper.java?rev=985623&view=auto
==============================================================================
--- tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Helper.java (added)
+++ tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Helper.java Sun Aug 15 07:29:14 2010
@@ -0,0 +1,12 @@
+package org.apache.tuscany.sca.sample.comet;
+
+import java.util.Date;
+import java.util.Random;
+
+public class Helper {
+
+    public static int randomInt(int max) {
+        return (new Random(new Date().getTime()).nextInt(100));
+    }
+
+}

Modified: tuscany/sca-java-2.x/contrib/samples/comet-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/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java?rev=985623&r1=985622&r2=985623&view=diff
==============================================================================
--- tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java (original)
+++ tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java Sun Aug 15 07:29:14 2010
@@ -1,10 +1,12 @@
 package org.apache.tuscany.sca.sample.comet;
 
+import org.apache.tuscany.sca.sample.comet.model.Location;
+import org.apache.tuscany.sca.sample.comet.model.Response;
 import org.oasisopen.sca.annotation.Remotable;
 
 @Remotable
 public interface HumidityService {
 
-    String getHumidity();
-    
+    Response getHumidity(Location location);
+
 }

Modified: tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationService.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationService.java?rev=985623&r1=985622&r2=985623&view=diff
==============================================================================
--- tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationService.java (original)
+++ tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationService.java Sun Aug 15 07:29:14 2010
@@ -1,10 +1,12 @@
 package org.apache.tuscany.sca.sample.comet;
 
+import org.apache.tuscany.sca.sample.comet.model.Location;
+import org.apache.tuscany.sca.sample.comet.model.Response;
 import org.oasisopen.sca.annotation.Remotable;
 
 @Remotable
 public interface PrecipitationService {
 
-    String getPrecipitation();
+    Response getPrecipitation(Location location);
     
 }

Modified: tuscany/sca-java-2.x/contrib/samples/comet-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/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java?rev=985623&r1=985622&r2=985623&view=diff
==============================================================================
--- tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java (original)
+++ tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java Sun Aug 15 07:29:14 2010
@@ -1,16 +1,20 @@
 package org.apache.tuscany.sca.sample.comet;
 
 import java.util.Date;
-import java.util.Random;
 
+import org.apache.tuscany.sca.sample.comet.model.Location;
+import org.apache.tuscany.sca.sample.comet.model.Response;
 import org.oasisopen.sca.annotation.Service;
 
 @Service(PrecipitationService.class)
 public class PrecipitationServiceImpl implements PrecipitationService {
 
     @Override
-    public String getPrecipitation() {
-        return (new Random(new Date().getTime()).nextInt(100)) + "%";
+    public Response getPrecipitation(Location location) {
+        Response response = new Response();
+        response.setDate(new Date());
+        response.setData(Helper.randomInt(100) + "%");
+        return response;
     }
 
 }

Modified: tuscany/sca-java-2.x/contrib/samples/comet-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/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java?rev=985623&r1=985622&r2=985623&view=diff
==============================================================================
--- tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java (original)
+++ tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java Sun Aug 15 07:29:14 2010
@@ -1,26 +1,29 @@
 package org.apache.tuscany.sca.sample.comet;
 
 import java.util.Date;
-import java.util.Random;
 
+import org.apache.tuscany.sca.sample.comet.model.Location;
+import org.apache.tuscany.sca.sample.comet.model.Response;
 import org.oasisopen.sca.annotation.Service;
 
 @Service({TemperatureService.class, HumidityService.class})
 public class TemperatureHumidityServiceImpl implements TemperatureService, HumidityService {
 
     @Override
-    public String getHumidity() {
-        return (new Random(new Date().getTime()).nextInt(100)) + "%";
+    public Response getHumidity(Location location) {
+        Response response = new Response();
+        response.setDate(new Date());
+        response.setData(Helper.randomInt(90) + "%");
+        return response;
     }
 
     @Override
-    public String getTemperatureCelsius() {
-        return "" + (new Random(new Date().getTime()).nextInt(40));
-    }
-
-    @Override
-    public String getTemperatureFahrenheit() {
-        return "" + (new Random(new Date().getTime()).nextInt(200));
+    public Response getTemperature(Location location, int scale) {
+        Response response = new Response();
+        response.setDate(new Date());
+        String data = "" + Helper.randomInt(scale == CELSIUS ? 40 : 150);
+        response.setData(data);
+        return response;
     }
 
 }

Modified: tuscany/sca-java-2.x/contrib/samples/comet-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/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java?rev=985623&r1=985622&r2=985623&view=diff
==============================================================================
--- tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java (original)
+++ tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java Sun Aug 15 07:29:14 2010
@@ -1,12 +1,15 @@
 package org.apache.tuscany.sca.sample.comet;
 
+import org.apache.tuscany.sca.sample.comet.model.Location;
+import org.apache.tuscany.sca.sample.comet.model.Response;
 import org.oasisopen.sca.annotation.Remotable;
 
 @Remotable
 public interface TemperatureService {
 
-    String getTemperatureCelsius();
-    
-    String getTemperatureFahrenheit();
-    
+    public static final int CELSIUS = 1;
+    public static final int FAHRENHEIT = 2;
+
+    Response getTemperature(Location location, int scale);
+
 }

Added: tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Location.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Location.java?rev=985623&view=auto
==============================================================================
--- tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Location.java (added)
+++ tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Location.java Sun Aug 15 07:29:14 2010
@@ -0,0 +1,24 @@
+package org.apache.tuscany.sca.sample.comet.model;
+
+public class Location {
+
+    private String city;
+    private String country;
+
+    public String getCity() {
+        return city;
+    }
+
+    public void setCity(String city) {
+        this.city = city;
+    }
+
+    public String getCountry() {
+        return country;
+    }
+
+    public void setCountry(String country) {
+        this.country = country;
+    }
+
+}

Added: tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Response.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Response.java?rev=985623&view=auto
==============================================================================
--- tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Response.java (added)
+++ tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Response.java Sun Aug 15 07:29:14 2010
@@ -0,0 +1,26 @@
+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 date;
+    }
+
+    public void setDate(Date date) {
+        this.date = date;
+    }
+
+    public String getData() {
+        return data;
+    }
+
+    public void setData(String data) {
+        this.data = data;
+    }
+
+}

Modified: tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/webapp/index.html
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/webapp/index.html?rev=985623&r1=985622&r2=985623&view=diff
==============================================================================
--- tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/webapp/index.html (original)
+++ tuscany/sca-java-2.x/contrib/samples/comet-webapp/src/main/webapp/index.html Sun Aug 15 07:29:14 2010
@@ -23,49 +23,86 @@
 		<script type="text/javascript">
 		$(document).ready(function()
 		{
+			// Initialization
+			var location = new Object();
+			location.city = null;
+			location.country = null;
+
+			document.getElementById('locationButton').disabled = true;
+			document.getElementById('tempCButton').disabled = true;
+			document.getElementById('tempFButton').disabled = true;
+			document.getElementById('humButton').disabled = true;
+			document.getElementById('precipButton').disabled = true;
+
+			document.getElementById('locationButton').onclick = function(event) {
+				location.city = document.getElementById('city').value;
+				location.country = document.getElementById('country').value;
+				document.getElementById('locationButton').value = 'Switch location';
+				document.getElementById('tempCButton').disabled = false;
+				document.getElementById('tempFButton').disabled = false;
+				document.getElementById('humButton').disabled = false;
+				document.getElementById('precipButton').disabled = false;
+				document.getElementById('tempCText').textContent = 'N/A';
+				document.getElementById('tempCDate').textContent = '';
+				document.getElementById('tempFText').textContent = 'N/A';
+				document.getElementById('tempFDate').textContent = '';
+				document.getElementById('humText').textContent = 'N/A';
+				document.getElementById('humDate').textContent = '';
+				document.getElementById('precipText').textContent = 'N/A';
+				document.getElementById('precipDate').textContent = '';
+			}
+
+			// Tuscany Comet specific API
+			
 			document.getElementById('connect').onclick = function(event) {
                 /* transport can be : long-polling, streaming or websocket */
 			 	tuscanyComet.connect(document.getElementById('transport').value);
                 document.getElementById('connect').disabled = true;
                 document.getElementById('transport').disabled = true;
+                document.getElementById('locationButton').disabled = false;
 			}
 			
 
 			document.getElementById('tempCButton').onclick = function(event) {
-				cometComponentContext.c1.TemperatureService.getTemperatureCelsius(updateTempC);
+				cometComponentContext.TemperatureService.getTemperature(location, 1, updateTempC);
 			}
 
 			document.getElementById('tempFButton').onclick = function(event) {
-				cometComponentContext.c1.TemperatureService.getTemperatureFahrenheit(updateTempF);
+				cometComponentContext.TemperatureService.getTemperature(location, 2, updateTempF);
 			}
 
 			document.getElementById('humButton').onclick = function(event) {
-				cometComponentContext.c1.HumidityService.getHumidity(updateHum);
+				cometComponentContext.HumidityService.getHumidity(location, updateHum);
 			}
 
 			document.getElementById('precipButton').onclick = function(event) {
-				cometComponentContext.c2.PrecipitationService.getPrecipitation(updatePrecip);
+				cometComponentContext.PrecipitationService.getPrecipitation(location, updatePrecip);
 			}
 		});
 
 		function updateTempC(response) {
-			document.getElementById('tempCText').textContent = response;
+			document.getElementById('tempCText').textContent = response.data;
+			document.getElementById('tempCDate').textContent = response.date;
 		}
 
 		function updateTempF(response) {
-			document.getElementById('tempFText').textContent = response;
+			document.getElementById('tempFText').textContent = response.data;
+			document.getElementById('tempFDate').textContent = response.date;
 		}
 
 		function updateHum(response) {
-			document.getElementById('humText').textContent = response;
+			document.getElementById('humText').textContent = response.data;
+			document.getElementById('humDate').textContent = response.date;
 		}
 
 		function updatePrecip(response) {
-			document.getElementById('precipText').textContent = response;
+			document.getElementById('precipText').textContent = response.data;
+			document.getElementById('precipDate').textContent = response.date;
 		}
 		</script>
 	</head>
 	<body>
+		<div id='sidebar'>
 		<h2>Apache Tuscany Comet Sample</h2>
 		<label>Select transport</label>
     	<select id="transport">
@@ -78,25 +115,42 @@
 		<p/>
 		<table>
 			<tr>
+				<td>City</td>
+				<td><input type="text" id='city'/></td>
+			</tr>
+			<tr>
+				<td>Country</td>
+				<td><input type="text" id ='country'/></td>
+			</tr>
+		</table>
+		<input type="button" id='locationButton' value='Set location'/>
+		<p/>
+		<table>
+			<tr>
 				<th align="left">Temperature (Celsius):</th>
 				<td><span id='tempCText'>N/A</span></td>
 				<td><input type='button' id='tempCButton' value="Update"/></td>
+				<td><span id='tempCDate'></span>
 			</tr>
 			<tr>
 				<th align="left">Temperature (Fahrenheit):</th>
 				<td><span id='tempFText'>N/A</span></td>
 				<td><input type='button' id='tempFButton' value="Update"/></td>
+				<td><span id='tempFDate'></span>
 			</tr>
 			<tr>
 				<th align="left">Humidity:</th>
 				<td><span id='humText'>N/A</span></td>
 				<td><input type='button' id='humButton' value="Update"/></td>
+				<td><span id='humDate'></span>
 			</tr>
 			<tr>
 				<th align="left">Precipitation probability:</th>
 				<td><span id='precipText'>N/A</span></td>
 				<td><input type='button' id='precipButton' value="Update"/></td>
+				<td><span id='precipDate'></span>
 			</tr>
 		</table>
+		</div>
 	</body>
 </html>