summaryrefslogtreecommitdiffstats
path: root/sandbox
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-06-02 22:30:50 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-06-02 22:30:50 +0000
commit0171c408cd3745ec12ab191d05309ba245236172 (patch)
treebbaf705b47818a7850c5305160b6be6e47123fd7 /sandbox
parent26a0b619df3a85a84aadd780305a80dc495ef6e1 (diff)
Add the changes and configuration necessary to allow the full travel sample to run under the control of the domain manager. The domain manager changes rely on some changes in order to run. Namely TUSCANY-3070/3075/3062.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@781189 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--sandbox/travelsample/contributions/car-contribution/src/main/java/scatours/car/CarImpl.java9
-rw-r--r--sandbox/travelsample/contributions/flight-contribution/src/main/java/scatours/flight/FlightImpl.java7
-rw-r--r--sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/src/main/resources/scatours.composite20
-rw-r--r--sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/META-INF/sca-contribution.xml5
-rw-r--r--sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/scatours.composite41
-rw-r--r--sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/src/main/resources/scatours.composite7
-rw-r--r--sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/src/main/resources/META-INF/sca-contribution.xml3
-rw-r--r--sandbox/travelsample/contributions/fullapp-ui-contribution/src/main/resources/META-INF/sca-contribution.xml13
-rw-r--r--sandbox/travelsample/contributions/fullapp-ui-contribution/src/main/resources/scatours.composite16
-rw-r--r--sandbox/travelsample/contributions/hotel-contribution/src/main/java/scatours/hotel/HotelImpl.java9
-rw-r--r--sandbox/travelsample/contributions/shoppingcart-contribution/src/main/resources/META-INF/sca-contribution.xml1
-rw-r--r--sandbox/travelsample/contributions/travelcatalog-contribution/src/main/java/scatours/travelcatalog/TravelCatalogImpl.java19
-rw-r--r--sandbox/travelsample/contributions/trip-contribution/src/main/java/scatours/trip/TripImpl.java9
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/build.xml9
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/cloud.composite35
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/domain.composite36
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/pom.xml22
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/src/main/java/scatours/LaunchFullAppDomain.java37
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/src/main/java/scatours/LaunchFullAppDomainNodes.java84
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-bespoketrip.composite36
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-creditcard.composite36
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-currency.composite36
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-frontend.composite36
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-pacakgedtrip.composite35
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-payment.composite36
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-shoppingcart.composite36
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-ui.composite33
-rw-r--r--sandbox/travelsample/launchers/fullapp-launcher/workspace.xml41
28 files changed, 655 insertions, 52 deletions
diff --git a/sandbox/travelsample/contributions/car-contribution/src/main/java/scatours/car/CarImpl.java b/sandbox/travelsample/contributions/car-contribution/src/main/java/scatours/car/CarImpl.java
index 6f3e81e6c2..2ed94333d7 100644
--- a/sandbox/travelsample/contributions/car-contribution/src/main/java/scatours/car/CarImpl.java
+++ b/sandbox/travelsample/contributions/car-contribution/src/main/java/scatours/car/CarImpl.java
@@ -89,7 +89,14 @@ public class CarImpl implements Search, Book {
}
public void searchAsynch(TripLeg tripLeg) {
-
+ System.out.println("Starting car search");
+
+ try {
+ this.wait(4000);
+ } catch(Exception ex){
+ // do nothing
+ }
+
// return available hotels
searchCallback.searchResults(searchSynch(tripLeg));
}
diff --git a/sandbox/travelsample/contributions/flight-contribution/src/main/java/scatours/flight/FlightImpl.java b/sandbox/travelsample/contributions/flight-contribution/src/main/java/scatours/flight/FlightImpl.java
index e9f466516b..e2f945b392 100644
--- a/sandbox/travelsample/contributions/flight-contribution/src/main/java/scatours/flight/FlightImpl.java
+++ b/sandbox/travelsample/contributions/flight-contribution/src/main/java/scatours/flight/FlightImpl.java
@@ -116,6 +116,13 @@ public class FlightImpl implements Search, Book {
}
public void searchAsynch(TripLeg tripLeg) {
+ System.out.println("Starting flight search");
+
+ try {
+ this.wait(3000);
+ } catch(Exception ex){
+ // do nothing
+ }
// return available hotels
searchCallback.searchResults(searchSynch(tripLeg));
diff --git a/sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/src/main/resources/scatours.composite b/sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/src/main/resources/scatours.composite
index 19acb00020..8e3d6fb2e5 100644
--- a/sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/src/main/resources/scatours.composite
+++ b/sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/src/main/resources/scatours.composite
@@ -26,8 +26,11 @@
<component name="HotelComponent">
<implementation.java class="scatours.hotel.HotelImpl"/>
<service name="Search">
- <binding.sca/>
- <tuscany:binding.jsonrpc/>
+ <binding.ws name="searchws" uri="http://localhost:8086/Hotel/Search"/>
+ <!-- tuscany:binding.jsonrpc name="searchjsonrpc"/-->
+ <callback>
+ <binding.ws uri="http://localhost:8084/Hotel/SearchCallback"/>
+ </callback>
</service>
<service name="Book"/>
</component>
@@ -37,10 +40,10 @@
<service name="Search">
<interface.java interface="scatours.common.Search"
callbackInterface="scatours.common.SearchCallback"/>
- <binding.ws uri="http://localhost:8080/Flight/Search"/>
- <tuscany:binding.jsonrpc/>
+ <binding.ws name="searchws" uri="http://localhost:8086/Flight/Search"/>
+ <tuscany:binding.jsonrpc name="searchjsonrpc"/>
<callback>
- <binding.ws uri="http://localhost:8080/Flight/SearchCallback"/>
+ <binding.ws uri="http://localhost:8084/Flight/SearchCallback"/>
</callback>
</service>
<service name="Book"/>
@@ -49,8 +52,11 @@
<component name="CarComponent">
<implementation.java class="scatours.car.CarImpl"/>
<service name="Search">
- <binding.sca/>
- <tuscany:binding.jsonrpc/>
+ <binding.ws name="searchws" uri="http://localhost:8086/Car/Search"/>
+ <tuscany:binding.jsonrpc name="searchjsonrpc"/>
+ <callback>
+ <binding.ws uri="http://localhost:8084/Car/SearchCallback"/>
+ </callback>
</service>
<service name="Book"/>
</component>
diff --git a/sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/META-INF/sca-contribution.xml b/sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/META-INF/sca-contribution.xml
index 7f689a2b1a..88b1c66441 100644
--- a/sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/META-INF/sca-contribution.xml
+++ b/sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/META-INF/sca-contribution.xml
@@ -21,12 +21,13 @@
xmlns:scatours="http://scatours">
<deployable composite="scatours:frontend"/>
<import.java package="scatours"/>
- <import.java package="scatours.tripbooking"/>
- <import.java package="scatours.travelcatalog"/>
<import.java package="scatours.common"/>
<import.java package="scatours.hotel"/>
<import.java package="scatours.flight"/>
<import.java package="scatours.car"/>
<import.java package="scatours.trip"/>
<import.java package="scatours.currencyconverter"/>
+ <import.java package="scatours.tripbooking"/>
+ <import.java package="scatours.travelcatalog"/>
+ <import.java package="scatours.shoppingcart"/>
</contribution> \ No newline at end of file
diff --git a/sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/scatours.composite b/sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/scatours.composite
index 3225f1ddf1..f3e445312a 100644
--- a/sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/scatours.composite
+++ b/sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/scatours.composite
@@ -23,41 +23,34 @@
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
name="frontend">
- <component name="SCAToursComponent">
- <implementation.java class="scatours.SCAToursImpl"/>
- <service name="SCAToursSearch">
- <tuscany:binding.jsonrpc/>
- </service>
- <service name="SCAToursBooking">
- <tuscany:binding.jsonrpc/>
- </service>
- <service name="SCAToursCart">
- <tuscany:binding.jsonrpc/>
- </service>
- <reference name="travelCatalogSearch" target="TravelCatalogComponent/TravelCatalogSearch"/>
- <reference name="tripBooking" target="TripBookingComponent/TripBooking"/>
- <reference name="shoppingCart" target="ShoppingCartComponent/ShoppingCart"/>
- </component>
-
<component name="TravelCatalogComponent">
<implementation.java class="scatours.travelcatalog.TravelCatalogImpl"/>
<service name="TravelCatalogSearch"/>
- <reference name="hotelSearch" target="HotelComponent/Search">
- <binding.sca/>
+ <reference name="hotelSearch">
+ <binding.ws uri="http://localhost:8086/Hotel/Search"/>
+ <callback>
+ <binding.ws uri="http://localhost:8084/Hotel/SearchCallback"/>
+ </callback>
</reference>
<reference name="flightSearch">
<interface.java interface="scatours.common.Search"
callbackInterface="scatours.common.SearchCallback"/>
- <binding.ws uri="http://localhost:8080/Flight/Search"/>
+ <binding.ws uri="http://localhost:8086/Flight/Search"/>
<callback>
- <binding.ws uri="http://localhost:8080/Flight/SearchCallback"/>
+ <binding.ws uri="http://localhost:8084/Flight/SearchCallback"/>
</callback>
</reference>
- <reference name="carSearch" target="CarComponent/Search">
- <binding.sca/>
+ <reference name="carSearch">
+ <binding.ws uri="http://localhost:8086/Car/Search"/>
+ <callback>
+ <binding.ws uri="http://localhost:8084/Car/SearchCallback"/>
+ </callback>
</reference>
- <reference name="tripSearch" target="TripComponent/Search">
- <binding.sca/>
+ <reference name="tripSearch">
+ <binding.ws uri="http://localhost:8085/Trip/Search"/>
+ <callback>
+ <binding.ws uri="http://localhost:8084/Trip/SearchCallback"/>
+ </callback>
</reference>
<reference name="currencyConverter" target="CurrencyConverterComponent">
</reference>
diff --git a/sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/src/main/resources/scatours.composite b/sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/src/main/resources/scatours.composite
index dc7dc0f731..024969edcc 100644
--- a/sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/src/main/resources/scatours.composite
+++ b/sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/src/main/resources/scatours.composite
@@ -26,8 +26,11 @@
<component name="TripComponent">
<implementation.java class="scatours.trip.TripImpl"/>
<service name="Search">
- <binding.sca/>
- <tuscany:binding.jsonrpc/>
+ <binding.ws name="searchws" uri="http://localhost:8085/Trip/Search"/>
+ <tuscany:binding.jsonrpc name="searchjsonrpc"/>
+ <callback>
+ <binding.ws uri="http://localhost:8084/Trip/SearchCallback"/>
+ </callback>
</service>
<service name="Book"/>
</component>
diff --git a/sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/src/main/resources/META-INF/sca-contribution.xml b/sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/src/main/resources/META-INF/sca-contribution.xml
index 4f753d2294..f9cc655b83 100644
--- a/sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/src/main/resources/META-INF/sca-contribution.xml
+++ b/sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/src/main/resources/META-INF/sca-contribution.xml
@@ -20,6 +20,7 @@
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:scatours="http://scatours">
<deployable composite="scatours:shoppingcart"/>
- <import.java package="scatours.common"/>
+ <!-- import.java package="scatours.common"/-->
+ <import.java package="payment"/>
<import.java package="scatours.shoppingcart"/>
</contribution> \ No newline at end of file
diff --git a/sandbox/travelsample/contributions/fullapp-ui-contribution/src/main/resources/META-INF/sca-contribution.xml b/sandbox/travelsample/contributions/fullapp-ui-contribution/src/main/resources/META-INF/sca-contribution.xml
index b051a2572c..9512c64b56 100644
--- a/sandbox/travelsample/contributions/fullapp-ui-contribution/src/main/resources/META-INF/sca-contribution.xml
+++ b/sandbox/travelsample/contributions/fullapp-ui-contribution/src/main/resources/META-INF/sca-contribution.xml
@@ -20,16 +20,9 @@
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:scatours="http://scatours">
<deployable composite="scatours:ui"/>
+ <import.java package="scatours"/>
<import.java package="scatours.common"/>
- <import.java package="scatours.currencyconverter"/>
- <import.java package="scatours.hotel"/>
- <import.java package="scatours.flight"/>
- <import.java package="scatours.car"/>
- <import.java package="scatours.trip"/>
<import.java package="scatours.tripbooking"/>
- <import.java package="scatours.travelcatalog"/>
- <import.java package="payment.creditcard"/>
- <import.java package="payment"/>
- <import.java package="scatours.shoppingcart"/>
- <import.java package="scatours"/>
+ <import.java package="scatours.travelcatalog"/>
+ <import.java package="scatours.shoppingcart"/>
</contribution> \ No newline at end of file
diff --git a/sandbox/travelsample/contributions/fullapp-ui-contribution/src/main/resources/scatours.composite b/sandbox/travelsample/contributions/fullapp-ui-contribution/src/main/resources/scatours.composite
index 0aac7fe092..cd76747cb5 100644
--- a/sandbox/travelsample/contributions/fullapp-ui-contribution/src/main/resources/scatours.composite
+++ b/sandbox/travelsample/contributions/fullapp-ui-contribution/src/main/resources/scatours.composite
@@ -39,5 +39,21 @@
<tuscany:binding.jsonrpc/>
</reference>
</component>
+
+ <component name="SCAToursComponent">
+ <implementation.java class="scatours.SCAToursImpl"/>
+ <service name="SCAToursSearch">
+ <tuscany:binding.jsonrpc/>
+ </service>
+ <service name="SCAToursBooking">
+ <tuscany:binding.jsonrpc/>
+ </service>
+ <service name="SCAToursCart">
+ <tuscany:binding.jsonrpc/>
+ </service>
+ <reference name="travelCatalogSearch" target="TravelCatalogComponent/TravelCatalogSearch"/>
+ <reference name="tripBooking" target="TripBookingComponent/TripBooking"/>
+ <reference name="shoppingCart" target="ShoppingCartComponent/ShoppingCart"/>
+ </component>
</composite>
diff --git a/sandbox/travelsample/contributions/hotel-contribution/src/main/java/scatours/hotel/HotelImpl.java b/sandbox/travelsample/contributions/hotel-contribution/src/main/java/scatours/hotel/HotelImpl.java
index 85eb4a592b..7109bd3d2e 100644
--- a/sandbox/travelsample/contributions/hotel-contribution/src/main/java/scatours/hotel/HotelImpl.java
+++ b/sandbox/travelsample/contributions/hotel-contribution/src/main/java/scatours/hotel/HotelImpl.java
@@ -105,7 +105,14 @@ public class HotelImpl implements Search, Book, HotelManagement {
}
public void searchAsynch(TripLeg tripLeg) {
-
+ System.out.println("Starting hotel search");
+
+ try {
+ this.wait(1000);
+ } catch(Exception ex){
+ // do nothing
+ }
+
// return available hotels
searchCallback.searchResults(searchSynch(tripLeg));
}
diff --git a/sandbox/travelsample/contributions/shoppingcart-contribution/src/main/resources/META-INF/sca-contribution.xml b/sandbox/travelsample/contributions/shoppingcart-contribution/src/main/resources/META-INF/sca-contribution.xml
index f325b98b4e..d5de488e69 100644
--- a/sandbox/travelsample/contributions/shoppingcart-contribution/src/main/resources/META-INF/sca-contribution.xml
+++ b/sandbox/travelsample/contributions/shoppingcart-contribution/src/main/resources/META-INF/sca-contribution.xml
@@ -20,4 +20,5 @@
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0">
<import.java package="scatours.common"/>
<export.java package="scatours.shoppingcart"/>
+ <export.java package="payment"/>
</contribution> \ No newline at end of file
diff --git a/sandbox/travelsample/contributions/travelcatalog-contribution/src/main/java/scatours/travelcatalog/TravelCatalogImpl.java b/sandbox/travelsample/contributions/travelcatalog-contribution/src/main/java/scatours/travelcatalog/TravelCatalogImpl.java
index 410ff10cfe..4919d2a629 100644
--- a/sandbox/travelsample/contributions/travelcatalog-contribution/src/main/java/scatours/travelcatalog/TravelCatalogImpl.java
+++ b/sandbox/travelsample/contributions/travelcatalog-contribution/src/main/java/scatours/travelcatalog/TravelCatalogImpl.java
@@ -83,9 +83,23 @@ public class TravelCatalogImpl implements TravelCatalogSearch, SearchCallback{
dynamicHotelSearch.getService().searchAsynch(tripLeg);
flightSearch.searchAsynch(tripLeg);
+
+ while (responsesReceived < 2){
+ try {
+ synchronized (this) {
+ this.wait();
+ }
+ } catch (InterruptedException ex){
+ // do nothing
+ System.out.println("waiting for response");
+ }
+ }
+
carSearch.searchAsynch(tripLeg);
tripSearch.searchAsynch(tripLeg);
+ System.out.println("going into wait");
+
while (responsesReceived < 4){
try {
synchronized (this) {
@@ -93,8 +107,9 @@ public class TravelCatalogImpl implements TravelCatalogSearch, SearchCallback{
}
} catch (InterruptedException ex){
// do nothing
+ System.out.println("waiting for response");
}
- }
+ }
for (TripItem tripItem : searchResults){
tripItem.setId(UUID.randomUUID().toString());
@@ -113,7 +128,7 @@ public class TravelCatalogImpl implements TravelCatalogSearch, SearchCallback{
public void searchResults(TripItem[] items){
RequestContext requestContext = componentContext.getRequestContext();
Object callbackID = requestContext.getServiceReference().getCallbackID();
- System.out.println(callbackID);
+ System.out.println("Asynch response - " + callbackID);
if (items != null) {
for(int i = 0; i < items.length; i++ ){
diff --git a/sandbox/travelsample/contributions/trip-contribution/src/main/java/scatours/trip/TripImpl.java b/sandbox/travelsample/contributions/trip-contribution/src/main/java/scatours/trip/TripImpl.java
index 8f30023330..06aeeb2c63 100644
--- a/sandbox/travelsample/contributions/trip-contribution/src/main/java/scatours/trip/TripImpl.java
+++ b/sandbox/travelsample/contributions/trip-contribution/src/main/java/scatours/trip/TripImpl.java
@@ -95,7 +95,14 @@ public class TripImpl implements Search, Book {
}
public void searchAsynch(TripLeg tripLeg) {
-
+ System.out.println("Starting trip search");
+
+ try {
+ this.wait(2000);
+ } catch(Exception ex){
+ // do nothing
+ }
+
// return available hotels
searchCallback.searchResults(searchSynch(tripLeg));
}
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/build.xml b/sandbox/travelsample/launchers/fullapp-launcher/build.xml
index aa20d1f8f5..676aa4a5bd 100644
--- a/sandbox/travelsample/launchers/fullapp-launcher/build.xml
+++ b/sandbox/travelsample/launchers/fullapp-launcher/build.xml
@@ -46,6 +46,15 @@
</classpath>
</java>
</target>
+
+ <target name="run-domain">
+ <java classname="scatours.LaunchFullAppDomain" fork="true">
+ <classpath>
+ <pathelement location="target/classes"/>
+ <pathelement location="${env.TUSCANY}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
<target name="clean">
<delete includeemptydirs="true">
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/cloud.composite b/sandbox/travelsample/launchers/fullapp-launcher/cloud.composite
new file mode 100644
index 0000000000..a0c2ba9e75
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/cloud.composite
@@ -0,0 +1,35 @@
+<?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 name="cloud.composite"
+ targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:ns1="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:ns2="http://scatours/cloud">
+
+ <include name="ns2:ui" uri="http://tuscany.apache.org/cloud" />
+ <include name="ns2:frontend" uri="http://tuscany.apache.org/cloud" />
+ <include name="ns2:packagedtrip" uri="http://tuscany.apache.org/cloud" />
+ <include name="ns2:bespoketrip" uri="http://tuscany.apache.org/cloud" />
+ <include name="ns2:currency" uri="http://tuscany.apache.org/cloud" />
+ <include name="ns2:shoppingcart" uri="http://tuscany.apache.org/cloud" />
+ <include name="ns2:payment" uri="http://tuscany.apache.org/cloud" />
+ <include name="ns2:creditcard" uri="http://tuscany.apache.org/cloud" />
+
+</composite>
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/domain.composite b/sandbox/travelsample/launchers/fullapp-launcher/domain.composite
new file mode 100644
index 0000000000..e1ebe1f1f4
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/domain.composite
@@ -0,0 +1,36 @@
+<?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 name="domain.composite"
+ targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:ns1="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:ns2="http://scatours"
+ xmlns:ns3="http://creditcard">
+
+ <include name="ns3:creditcard" uri="fullapp-creditcard" />
+ <include name="ns2:payment" uri="fullapp-payment" />
+ <include name="ns2:shoppingcart" uri="fullapp-shoppingcart" />
+ <include name="ns2:currency" uri="fullapp-currency" />
+ <include name="ns2:packagedtrip" uri="fullapp-packagedtrip" />
+ <include name="ns2:bespoketrip" uri="fullapp-bespoketrip" />
+ <include name="ns2:frontend" uri="fullapp-frontend" />
+ <include name="ns2:ui" uri="fullapp-ui" />
+
+</composite>
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/pom.xml b/sandbox/travelsample/launchers/fullapp-launcher/pom.xml
index 1f259a9d68..3d1e22aad0 100644
--- a/sandbox/travelsample/launchers/fullapp-launcher/pom.xml
+++ b/sandbox/travelsample/launchers/fullapp-launcher/pom.xml
@@ -29,7 +29,20 @@
<name>Apache Tuscany SCA Tours Full Application Launcher</name>
<dependencies>
- <dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-assembly</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-assembly-xml</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-node-api</artifactId>
<version>1.5</version>
@@ -54,6 +67,13 @@
<version>1.5</version>
<scope>runtime</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/src/main/java/scatours/LaunchFullAppDomain.java b/sandbox/travelsample/launchers/fullapp-launcher/src/main/java/scatours/LaunchFullAppDomain.java
new file mode 100644
index 0000000000..9fae5de58a
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/src/main/java/scatours/LaunchFullAppDomain.java
@@ -0,0 +1,37 @@
+/*
+ * 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;
+
+import org.apache.tuscany.sca.node.launcher.DomainManagerLauncher;
+
+public class LaunchFullAppDomain {
+ public static void main(String[] args) throws Exception {
+ LaunchFullAppDomain.launchFromFileSystemDir();
+ }
+
+ public static void launchFromFileSystemDir(){
+
+ try {
+ DomainManagerLauncher.main(null);
+ } catch (Exception ex) {
+ System.out.println(ex.toString());
+ }
+ }
+}
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/src/main/java/scatours/LaunchFullAppDomainNodes.java b/sandbox/travelsample/launchers/fullapp-launcher/src/main/java/scatours/LaunchFullAppDomainNodes.java
new file mode 100644
index 0000000000..5ec587f421
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/src/main/java/scatours/LaunchFullAppDomainNodes.java
@@ -0,0 +1,84 @@
+/*
+ * 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;
+
+import java.io.IOException;
+
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.apache.tuscany.sca.node.launcher.DomainManagerLauncher;
+
+public class LaunchFullAppDomainNodes {
+ public static void main(String[] args) throws Exception {
+ LaunchFullAppDomainNodes.launchFromFileSystemDir();
+ }
+
+ // OK for development but you must launch the node from this module
+ public static void launchFromFileSystemDir(){
+
+ try {
+ // turn off validation
+ System.setProperty("org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint.enabled", "false");
+
+ SCANode nodeCreditcard = SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/creditcard");
+ nodeCreditcard.start();
+
+ SCANode nodePayment = SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/payment");
+ nodePayment.start();
+
+ SCANode nodeShoppingcart = SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/shoppingcart");
+ nodeShoppingcart.start();
+
+ SCANode nodeCurrency = SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/currency");
+ nodeCurrency.start();
+
+ SCANode nodePackagedtrip = SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/packagedtrip");
+ nodePackagedtrip.start();
+
+ SCANode nodeBespoketrip = SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/bespoketrip");
+ nodeBespoketrip.start();
+
+ SCANode nodeFrontend = SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/frontend");
+ nodeFrontend.start();
+
+ SCANode nodeUI = SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/ui");
+ nodeUI.start();
+
+ System.out.println("Node started - Press enter to shutdown.");
+
+ try {
+ System.in.read();
+ } catch (IOException e) {}
+
+ nodeCreditcard.stop();
+ nodePayment.stop();
+ nodeShoppingcart.stop();
+ nodeCurrency.stop();
+ nodePackagedtrip.stop();
+ nodeBespoketrip.stop();
+ nodeFrontend.stop();
+ nodeUI.stop();
+
+ } catch (Exception ex) {
+ System.out.println(ex.toString());
+ }
+ }
+}
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-bespoketrip.composite b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-bespoketrip.composite
new file mode 100644
index 0000000000..c793a36126
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-bespoketrip.composite
@@ -0,0 +1,36 @@
+<?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://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ targetNamespace="http://scatours/cloud"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:s="http://scatours"
+ name="bespoketrip">
+
+ <component name="bespoketrip">
+ <t:implementation.node uri="fullapp-bespoketrip" composite="s:bespoketrip"/>
+ <service name="Node">
+ <binding.sca uri="http://localhost:8086"/>
+ <binding.ws uri="http://localhost:8086"/>
+ <tuscany:binding.jsonrpc uri="http://localhost:8086"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-creditcard.composite b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-creditcard.composite
new file mode 100644
index 0000000000..46e7091c8d
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-creditcard.composite
@@ -0,0 +1,36 @@
+<?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://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ targetNamespace="http://scatours/cloud"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:c="http://creditcard"
+ name="creditcard">
+
+ <component name="creditcard">
+ <t:implementation.node uri="fullapp-creditcard" composite="c:creditcard"/>
+ <service name="Node">
+ <binding.sca uri="http://localhost:8082"/>
+ <binding.ws uri="http://localhost:8082"/>
+ <tuscany:binding.jsonrpc uri="http://localhost:8082"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-currency.composite b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-currency.composite
new file mode 100644
index 0000000000..e625c77cea
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-currency.composite
@@ -0,0 +1,36 @@
+<?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://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ targetNamespace="http://scatours/cloud"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:s="http://scatours"
+ name="currency">
+
+ <component name="currency">
+ <t:implementation.node uri="fullapp-currency" composite="s:currency"/>
+ <service name="Node">
+ <binding.sca uri="http://localhost:8083"/>
+ <binding.ws uri="http://localhost:8083"/>
+ <tuscany:binding.jsonrpc uri="http://localhost:8083"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-frontend.composite b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-frontend.composite
new file mode 100644
index 0000000000..ef71edc684
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-frontend.composite
@@ -0,0 +1,36 @@
+<?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://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ targetNamespace="http://scatours/cloud"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:s="http://scatours"
+ name="frontend">
+
+ <component name="frontend">
+ <t:implementation.node uri="fullapp-frontend" composite="s:frontend"/>
+ <service name="Node">
+ <binding.sca uri="http://localhost:8084"/>
+ <binding.ws uri="http://localhost:8084"/>
+ <tuscany:binding.jsonrpc uri="http://localhost:8084"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-pacakgedtrip.composite b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-pacakgedtrip.composite
new file mode 100644
index 0000000000..2ee42cfc58
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-pacakgedtrip.composite
@@ -0,0 +1,35 @@
+<?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://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ targetNamespace="http://scatours/cloud"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:s="http://scatours"
+ name="packagedtrip">
+
+ <component name="packagedtrip">
+ <t:implementation.node uri="fullapp-packagedtrip" composite="s:packagedtrip"/>
+ <service name="Node">
+ <binding.sca uri="http://localhost:8085"/>
+ <tuscany:binding.jsonrpc uri="http://localhost:8085"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-payment.composite b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-payment.composite
new file mode 100644
index 0000000000..af57963673
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-payment.composite
@@ -0,0 +1,36 @@
+<?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://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ targetNamespace="http://scatours/cloud"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:s="http://scatours"
+ name="payment">
+
+ <component name="payment">
+ <t:implementation.node uri="fullapp-payment" composite="s:payment"/>
+ <service name="Node">
+ <binding.sca uri="http://localhost:8081"/>
+ <binding.ws uri="http://localhost:8081"/>
+ <tuscany:binding.jsonrpc uri="http://localhost:8081"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-shoppingcart.composite b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-shoppingcart.composite
new file mode 100644
index 0000000000..8b92721c24
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-shoppingcart.composite
@@ -0,0 +1,36 @@
+<?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://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ targetNamespace="http://scatours/cloud"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:s="http://scatours"
+ name="shoppingcart">
+
+ <component name="shoppingcart">
+ <t:implementation.node uri="fullapp-shoppingcart" composite="s:shoppingcart"/>
+ <service name="Node">
+ <binding.sca uri="http://localhost:8087"/>
+ <binding.ws uri="http://localhost:8087"/>
+ <tuscany:binding.jsonrpc uri="http://localhost:8087"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-ui.composite b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-ui.composite
new file mode 100644
index 0000000000..4841ab5246
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/src/main/resources/cloud/fullapp-ui.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://www.osoa.org/xmlns/sca/1.0"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+ targetNamespace="http://scatours/cloud"
+ xmlns:s="http://scatours"
+ name="ui">
+
+ <component name="ui">
+ <t:implementation.node uri="fullapp-ui" composite="s:ui"/>
+ <service name="Node">
+ <binding.sca uri="http://localhost:8080"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/launchers/fullapp-launcher/workspace.xml b/sandbox/travelsample/launchers/fullapp-launcher/workspace.xml
new file mode 100644
index 0000000000..7833f3deb6
--- /dev/null
+++ b/sandbox/travelsample/launchers/fullapp-launcher/workspace.xml
@@ -0,0 +1,41 @@
+<?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.
+-->
+<workspace xmlns="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:ns1="http://tuscany.apache.org/xmlns/sca/1.0">
+ <contribution location="file:../../contributions/common-contribution/target/scatours-common-contribution.jar" uri="common"/>
+ <contribution location="file:../../contributions/currency-contribution/target/scatours-currency-contribution.jar" uri="currency"/>
+ <contribution location="file:../../contributions/hotel-contribution/target/scatours-hotel-contribution.jar" uri="hotel"/>
+ <contribution location="file:../../contributions/flight-contribution/target/scatours-flight-contribution.jar" uri="flight"/>
+ <contribution location="file:../../contributions/car-contribution/target/scatours-car-contribution.jar" uri="car"/>
+ <contribution location="file:../../contributions/trip-contribution/target/scatours-trip-contribution.jar" uri="trip"/>
+ <contribution location="file:../../contributions/tripbooking-contribution/target/scatours-tripbooking-contribution.jar" uri="tripbooking"/>
+ <contribution location="file:../../contributions/travelcatalog-contribution/target/scatours-travelcatalog-contribution.jar" uri="travelcatalog"/>
+ <contribution location="file:../../contributions/payment-java-contribution/target/scatours-payment-java-contribution.jar" uri="fullapp-payment"/>
+ <contribution location="file:../../contributions/creditcard-payment-jaxb-contribution/target/scatours-creditcard-payment-jaxb-contribution.jar" uri="fullapp-creditcard"/>
+ <contribution location="file:../../contributions/shoppingcart-contribution/target/scatours-shoppingcart-contribution.jar" uri="shoppingcart"/>
+ <contribution location="file:../../contributions/scatours-contribution/target/scatours-scatours-contribution.jar" uri="scatours"/>
+ <contribution location="file:../../contributions/fullapp-ui-contribution/target/scatours-fullapp-ui-contribution.jar" uri="fullapp-ui"/>
+ <contribution location="file:../../contributions/fullapp-frontend-contribution/target/scatours-fullapp-frontend-contribution.jar" uri="fullapp-frontend"/>
+ <contribution location="file:../../contributions/fullapp-currency-contribution/target/scatours-fullapp-currency-contribution.jar" uri="fullapp-currency"/>
+ <contribution location="file:../../contributions/fullapp-packagedtrip-contribution/target/scatours-fullapp-packagedtrip-contribution.jar" uri="fullapp-packagedtrip"/>
+ <contribution location="file:../../contributions/fullapp-bespoketrip-contribution/target/scatours-fullapp-bespoketrip-contribution.jar" uri="fullapp-bespoketrip"/>
+ <contribution location="file:../../contributions/fullapp-shoppingcart-contribution/target/scatours-fullapp-shoppingcart-contribution.jar" uri="fullapp-shoppingcart"/>
+ <contribution location="file:./src/main/resources/cloud" uri="http://tuscany.apache.org/cloud"/>
+</workspace> \ No newline at end of file