diff options
Diffstat (limited to 'sandbox/travelsample')
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 |