summaryrefslogtreecommitdiffstats
path: root/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src')
-rw-r--r--sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/java/sample/Location.java33
-rw-r--r--sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/java/sample/ShareService.java14
-rw-r--r--sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/java/sample/ShareServiceImpl.java23
-rw-r--r--sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/META-INF/MANIFEST.MF2
-rw-r--r--sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/WEB-INF/web.composite33
-rw-r--r--sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/WEB-INF/web.xml34
-rw-r--r--sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/index.html104
7 files changed, 243 insertions, 0 deletions
diff --git a/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/java/sample/Location.java b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/java/sample/Location.java
new file mode 100644
index 0000000000..1a47edf73c
--- /dev/null
+++ b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/java/sample/Location.java
@@ -0,0 +1,33 @@
+package sample;
+
+public class Location {
+
+ private String city;
+ private String country;
+ private int altitude;
+
+ 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;
+ }
+
+ public int getAltitude() {
+ return altitude;
+ }
+
+ public void setAltitude(int altitude) {
+ this.altitude = altitude;
+ }
+
+}
diff --git a/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/java/sample/ShareService.java b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/java/sample/ShareService.java
new file mode 100644
index 0000000000..3c79c6c2e9
--- /dev/null
+++ b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/java/sample/ShareService.java
@@ -0,0 +1,14 @@
+package sample;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+@Remotable
+public interface ShareService {
+
+ String shareName(String firstName, String lastName);
+
+ int shareAge(int age);
+
+ Location shareLocation(Location location);
+
+}
diff --git a/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/java/sample/ShareServiceImpl.java b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/java/sample/ShareServiceImpl.java
new file mode 100644
index 0000000000..13bae36eb9
--- /dev/null
+++ b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/java/sample/ShareServiceImpl.java
@@ -0,0 +1,23 @@
+package sample;
+
+import org.oasisopen.sca.annotation.Service;
+
+@Service(ShareService.class)
+public class ShareServiceImpl implements ShareService {
+
+ @Override
+ public String shareName(String firstName, String lastName) {
+ return firstName + " " + lastName;
+ }
+
+ @Override
+ public int shareAge(int age) {
+ return age;
+ }
+
+ @Override
+ public Location shareLocation(Location location) {
+ return location;
+ }
+
+}
diff --git a/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..58630c02ef
--- /dev/null
+++ b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/WEB-INF/web.composite b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/WEB-INF/web.composite
new file mode 100644
index 0000000000..515c2dba09
--- /dev/null
+++ b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/WEB-INF/web.composite
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
+ targetNamespace="http://samples"
+ name="Stock">
+
+ <component name="c">
+ <implementation.java class="sample.ShareServiceImpl"/>
+ <service name="ShareService">
+ <interface.java interface="sample.ShareService"/>
+ <tuscany:binding.jsonp/>
+ </service>
+ </component>
+
+</composite> \ No newline at end of file
diff --git a/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/WEB-INF/web.xml b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..0deec29fcc
--- /dev/null
+++ b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0">
+ <display-name>Apache Tuscany JSONP Sample</display-name>
+ <filter>
+ <filter-name>tuscany</filter-name>
+ <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
+ <async-supported>true</async-supported>
+ </filter>
+ <filter-mapping>
+ <filter-name>tuscany</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ </welcome-file-list>
+</web-app> \ No newline at end of file
diff --git a/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/index.html b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/index.html
new file mode 100644
index 0000000000..2a754e494e
--- /dev/null
+++ b/sandbox/sebastien/java/vhost/unreleased/samples/jsonp-webapp/src/main/webapp/index.html
@@ -0,0 +1,104 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<html>
+ <head>
+ <title>Apache Tuscany Comet Sample</title>
+ <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+ <script type="text/javascript" src="http://jquery-json.googlecode.com/svn/trunk/jquery.json.min.js"></script>
+ <script type="text/javascript">
+ $(document).ready(function() {
+ document.getElementById("shareLocationButton").onclick = function(event) {
+ var location = {
+ city: document.getElementById("city").value,
+ country: document.getElementById("country").value,
+ altitude: document.getElementById("altitude").value
+ };
+ $.getJSON("c/ShareService/shareLocation", "location=" + $.toJSON(location), shareLocationCallback);
+ }
+ });
+
+ function shareNameCallback(response) {
+ alert("Your name, " + response + ", has been shared.");
+ }
+
+ function shareAge() {
+ document.getElementById("shareAgeForm").submit();
+ }
+
+ function shareAgeCallback(response) {
+ alert("Your age, " + response + ", has been shared.");
+ }
+
+ function shareLocationCallback(response) {
+ alert("Your location, " + response.city + " - " + response.country + " - " + response.altitude + ", has been shared.");
+ }
+ </script>
+ </head>
+ <body>
+ <h2>Apache Tuscany JSONP Sample</h2>
+ <h3>Share Personal Information Webapp</h3>
+
+ <form method="GET" action="c/ShareService/shareName">
+ <b><label>Share Full Name</label></b>
+ <table>
+ <tr>
+ <td>First Name</td>
+ <td><input type="text" name="firstName" value="John"/>
+ </tr>
+ <tr>
+ <td>Last Name</td>
+ <td><input type="text" name="lastName" value="Locke"/>
+ </tr>
+ </table>
+ <input type="hidden" name="callback" value="shareNameCallback"/>
+ <input type="submit" value="Share"/>
+ </form>
+
+ <form method="GET" id="shareAgeForm" action="c/ShareService/shareAge">
+ <b><label>Share Age</label></b>
+ <table>
+ <tr>
+ <td>Age</td>
+ <td><input type="text" name="age" value="54"/>
+ </tr>
+ </table>
+ <input type="hidden" name="callback" value="shareAgeCallback"/>
+ <input type="submit" value="Share" onclick="shareAge()"/>
+ </form>
+
+ <form method="GET" >
+ <b><label>Share Location</label></b>
+ <table>
+ <tr>
+ <td>City</td>
+ <td><input type="text" name="city" id="city" value="Los Angeles" />
+ </tr>
+ <tr>
+ <td>Country</td>
+ <td><input type="text" name="country" id="country" value="USA" />
+ </tr>
+ <tr>
+ <td>Altitude</td>
+ <td><input type="text" name="altitude" id="altitude" value="560" />
+ </tr>
+ </table>
+ <input type="button" id="shareLocationButton" value="Share"/>
+ </form>
+ </body>
+</html>