summaryrefslogtreecommitdiffstats
path: root/sandbox/travelsample
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/travelsample')
-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