summaryrefslogtreecommitdiffstats
path: root/sandbox/travelsample/contributions/interaction-client-contribution/src
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-06-11 17:35:55 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-06-11 17:35:55 +0000
commit07c7e97cb86927128620f43c297600b534866857 (patch)
tree8dd6460517e737ef423c66350d915a69e8e7ea78 /sandbox/travelsample/contributions/interaction-client-contribution/src
parent17d2f439c3be0f7288c72846a60d42a120dce9ce (diff)
Start adding some simple scenarios that explore SCA interaction patterns
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@783854 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionClient.java (renamed from sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/TestClient.java)9
-rw-r--r--sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionLocalClient.java53
-rw-r--r--sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionRemoteClient.java60
-rw-r--r--sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionRequestResponseClient.java42
-rw-r--r--sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/META-INF/sca-contribution.xml3
-rw-r--r--sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/client.composite30
6 files changed, 183 insertions, 14 deletions
diff --git a/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/TestClient.java b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionClient.java
index 3b53cb8a4a..9953d4b1a5 100644
--- a/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/TestClient.java
+++ b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionClient.java
@@ -19,7 +19,6 @@
package scatours.client;
-import org.osoa.sca.RequestContext;
import org.osoa.sca.annotations.Reference;
import org.osoa.sca.annotations.Service;
@@ -29,18 +28,16 @@ import scatours.common.Search;
import scatours.common.SearchCallback;
import scatours.common.TripItem;
import scatours.common.TripLeg;
-import scatours.hotel.HotelInfo;
-import scatours.hotel.HotelManagement;
@Service(Runnable.class)
-public class TestClient implements SearchCallback {
+public class InteractionClient implements Runnable, SearchCallback {
@Reference
protected Search hotelSearchRemoteRequestResponse;
@Reference
protected Calendar calendarLocalRequestResponse;
- public TestClient() {
+ public InteractionClient() {
}
// Runnable method
@@ -76,7 +73,7 @@ public class TestClient implements SearchCallback {
}
- private void runCallbac() {
+ private void runCallback() {
}
diff --git a/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionLocalClient.java b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionLocalClient.java
new file mode 100644
index 0000000000..fb1a7c29d5
--- /dev/null
+++ b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionLocalClient.java
@@ -0,0 +1,53 @@
+/*
+ * 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 scatours.client;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import calendar.Calendar;
+
+import scatours.common.TripLeg;
+
+@Service(Runnable.class)
+public class InteractionLocalClient implements Runnable {
+
+ @Reference
+ protected Calendar calendarLocal;
+
+ public void run() {
+ System.out.println("\nCalling calendar component over local binding");
+ TripLeg tripLeg = getTestTripLeg();
+ String toDate = calendarLocal.getEndDate(tripLeg.getFromDate(), 10);
+ tripLeg.setToDate(toDate);
+ System.out.println("Calculated trip end date - " + toDate);;
+ }
+
+ private TripLeg getTestTripLeg(){
+ TripLeg tripLeg = new TripLeg();
+ tripLeg.setFromLocation("LGW");
+ tripLeg.setToLocation("FLR");
+ tripLeg.setFromDate("06/12/09 00:00");
+ tripLeg.setToDate("13/12/09 00:00");
+ tripLeg.setNoOfPeople("1");
+ tripLeg.setId("TRIP27");
+ return tripLeg;
+ }
+}
diff --git a/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionRemoteClient.java b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionRemoteClient.java
new file mode 100644
index 0000000000..2f198797a1
--- /dev/null
+++ b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionRemoteClient.java
@@ -0,0 +1,60 @@
+/*
+ * 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 scatours.client;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import scatours.common.Search;
+import scatours.common.SearchCallback;
+import scatours.common.TripItem;
+import scatours.common.TripLeg;
+
+@Service(Runnable.class)
+public class InteractionRemoteClient implements Runnable, SearchCallback{
+
+ @Reference
+ protected Search hotelSearchRemote;
+
+ public void run() {
+ System.out.println("\nCalling hotel component over remote binding");
+ TripLeg tripLeg = getTestTripLeg();
+ TripItem[] tripItems = hotelSearchRemote.searchSynch(tripLeg);
+ for (TripItem tripItem : tripItems){
+ System.out.println("Found hotel - " + tripItem.getName());
+ }
+ }
+
+ public void searchResults(TripItem[] items){
+ // we are calling the hotel component synchronously here
+ // so the callback interface is not used
+ }
+
+ private TripLeg getTestTripLeg(){
+ TripLeg tripLeg = new TripLeg();
+ tripLeg.setFromLocation("LGW");
+ tripLeg.setToLocation("FLR");
+ tripLeg.setFromDate("06/12/09 00:00");
+ tripLeg.setToDate("13/12/09 00:00");
+ tripLeg.setNoOfPeople("1");
+ tripLeg.setId("TRIP27");
+ return tripLeg;
+ }
+}
diff --git a/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionRequestResponseClient.java b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionRequestResponseClient.java
new file mode 100644
index 0000000000..20cb8fd740
--- /dev/null
+++ b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/InteractionRequestResponseClient.java
@@ -0,0 +1,42 @@
+/*
+ * 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 scatours.client;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import calendar.Calendar;
+
+import scatours.common.TripLeg;
+import scatours.currencyconverter.CurrencyConverter;
+
+@Service(Runnable.class)
+public class InteractionRequestResponseClient implements Runnable {
+
+ @Reference
+ protected CurrencyConverter currencyConverterRequestResponse;
+
+ public void run() {
+ System.out.println("\nCalling currency converter component using request response pattern");
+ double convertedAmount = currencyConverterRequestResponse.convert("GBP", "USD", 10.0);
+ System.out.println("10 GBP = " + convertedAmount + " USD");
+ }
+
+}
diff --git a/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/META-INF/sca-contribution.xml b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/META-INF/sca-contribution.xml
index 9eed690aaf..848e0bea5b 100644
--- a/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/META-INF/sca-contribution.xml
+++ b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/META-INF/sca-contribution.xml
@@ -19,7 +19,8 @@
-->
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:client="http://client.scatours/">
- <import.java package="scatours.common"/>
<import.java package="calendar"/>
+ <import.java package="scatours.common"/>
+ <import.java package="scatours.currencyconverter"/>
<deployable composite="client:Client" />
</contribution>
diff --git a/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/client.composite b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/client.composite
index 1b76fbaefb..c2ff2c9a89 100644
--- a/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/client.composite
+++ b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/client.composite
@@ -21,17 +21,33 @@
targetNamespace="http://client.scatours/"
name="Client">
- <component name="TestClient">
- <implementation.java class="scatours.client.TestClient" />
- <reference name="hotelSearchRemoteRequestResponse">
- <binding.ws uri="http://localhost:8081/HotelComponent/Search"/>
- </reference>
- <reference name="calendarLocalRequestResponse"
+ <!-- Local interaction -->
+ <component name="InteractionLocalClient">
+ <implementation.java class="scatours.client.InteractionLocalClient" />
+ <reference name="calendarLocal"
target="CalendarComponent"/>
</component>
<component name="CalendarComponent">
<implementation.java class="calendar.CalendarImpl"/>
- </component>
+ </component>
+
+ <!-- Remote interaction -->
+ <component name="InteractionRemoteClient">
+ <implementation.java class="scatours.client.InteractionRemoteClient" />
+ <reference name="hotelSearchRemote">
+ <binding.ws uri="http://localhost:8081/HotelComponent/Search"/>
+ </reference>
+ </component>
+
+ <!-- Request response interaction -->
+ <component name="InteractionRequestResponseClient">
+ <implementation.java class="scatours.client.InteractionRequestResponseClient" />
+ <reference name="currencyConverterRequestResponse" target="CurrencyConverterComponent"/>
+ </component>
+
+ <component name="CurrencyConverterComponent">
+ <implementation.java class="scatours.currencyconverter.CurrencyConverterImpl"/>
+ </component>
</composite>