summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-05-31 14:18:49 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-05-31 14:18:49 +0000
commit7744770bdb76d39819cc1319f3e83404ff55f66a (patch)
treecc34e56c1ba00d995678776b67d205d4ae90b601
parentf1891559c61043146be106bdec11a56d59e8b050 (diff)
Add contributions for interaction pattern testing and contributions to split the full app composite up ready for running across multiple nodes
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@780430 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/pom.xml90
-rw-r--r--sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/src/main/resources/META-INF/sca-contribution.xml28
-rw-r--r--sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/src/main/resources/scatours.composite58
-rw-r--r--sandbox/travelsample/contributions/fullapp-currency-contribution/pom.xml90
-rw-r--r--sandbox/travelsample/contributions/fullapp-currency-contribution/src/main/resources/META-INF/sca-contribution.xml24
-rw-r--r--sandbox/travelsample/contributions/fullapp-currency-contribution/src/main/resources/scatours.composite30
-rw-r--r--sandbox/travelsample/contributions/fullapp-frontend-contribution/pom.xml90
-rw-r--r--sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/META-INF/sca-contribution.xml32
-rw-r--r--sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/scatours.composite77
-rw-r--r--sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/pom.xml90
-rw-r--r--sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/src/main/resources/META-INF/sca-contribution.xml25
-rw-r--r--sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/src/main/resources/scatours.composite35
-rw-r--r--sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/pom.xml90
-rw-r--r--sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/src/main/resources/META-INF/sca-contribution.xml25
-rw-r--r--sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/src/main/resources/scatours.composite40
-rw-r--r--sandbox/travelsample/contributions/fullapp-ui-contribution/src/main/resources/META-INF/sca-contribution.xml2
-rw-r--r--sandbox/travelsample/contributions/fullapp-ui-contribution/src/main/resources/scatours.composite114
-rw-r--r--sandbox/travelsample/contributions/hotel-contribution/src/main/java/scatours/hotel/HotelManagement.java24
-rw-r--r--sandbox/travelsample/contributions/interaction-client-contribution/build.xml45
-rw-r--r--sandbox/travelsample/contributions/interaction-client-contribution/pom.xml60
-rw-r--r--sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/TestClient.java122
-rw-r--r--sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/META-INF/sca-contribution.xml25
-rw-r--r--sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/client.composite37
-rw-r--r--sandbox/travelsample/contributions/interaction-service-remote-contribution/build.xml45
-rw-r--r--sandbox/travelsample/contributions/interaction-service-remote-contribution/pom.xml54
-rw-r--r--sandbox/travelsample/contributions/interaction-service-remote-contribution/src/main/resources/META-INF/sca-contribution.xml25
-rw-r--r--sandbox/travelsample/contributions/interaction-service-remote-contribution/src/main/resources/client.composite30
-rw-r--r--sandbox/travelsample/contributions/pom.xml7
28 files changed, 1301 insertions, 113 deletions
diff --git a/sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/pom.xml b/sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/pom.xml
new file mode 100644
index 0000000000..5f970fdb5f
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/pom.xml
@@ -0,0 +1,90 @@
+<?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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <!--relativePath>../../pom.xml</relativePath-->
+ </parent>
+ <artifactId>scatours-fullapp-bespoketrip-contribution</artifactId>
+ <name>Apache Tuscany SCA Tours Full Application Bespoke Contribution</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-embedded</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <!--
+ <plugins>
+ <plugin>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-maven-ant-generator</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <configuration>
+ <mainClass>scatours.LaunchNode</mainClass>
+ </configuration>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ -->
+ </build>
+</project>
diff --git a/sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/src/main/resources/META-INF/sca-contribution.xml b/sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/src/main/resources/META-INF/sca-contribution.xml
new file mode 100644
index 0000000000..cabffa6a30
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/src/main/resources/META-INF/sca-contribution.xml
@@ -0,0 +1,28 @@
+<?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.
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:scatours="http://scatours">
+ <deployable composite="scatours:bespoketrip"/>
+ <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"/>
+</contribution> \ No newline at end of file
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
new file mode 100644
index 0000000000..19acb00020
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-bespoketrip-contribution/src/main/resources/scatours.composite
@@ -0,0 +1,58 @@
+<?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"
+ targetNamespace="http://scatours"
+ xmlns:scatours="http://scatours"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ name="bespoketrip">
+
+ <component name="HotelComponent">
+ <implementation.java class="scatours.hotel.HotelImpl"/>
+ <service name="Search">
+ <binding.sca/>
+ <tuscany:binding.jsonrpc/>
+ </service>
+ <service name="Book"/>
+ </component>
+
+ <component name="FlightComponent">
+ <implementation.java class="scatours.flight.FlightImpl"/>
+ <service name="Search">
+ <interface.java interface="scatours.common.Search"
+ callbackInterface="scatours.common.SearchCallback"/>
+ <binding.ws uri="http://localhost:8080/Flight/Search"/>
+ <tuscany:binding.jsonrpc/>
+ <callback>
+ <binding.ws uri="http://localhost:8080/Flight/SearchCallback"/>
+ </callback>
+ </service>
+ <service name="Book"/>
+ </component>
+
+ <component name="CarComponent">
+ <implementation.java class="scatours.car.CarImpl"/>
+ <service name="Search">
+ <binding.sca/>
+ <tuscany:binding.jsonrpc/>
+ </service>
+ <service name="Book"/>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/contributions/fullapp-currency-contribution/pom.xml b/sandbox/travelsample/contributions/fullapp-currency-contribution/pom.xml
new file mode 100644
index 0000000000..b16e91f157
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-currency-contribution/pom.xml
@@ -0,0 +1,90 @@
+<?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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <!--relativePath>../../pom.xml</relativePath-->
+ </parent>
+ <artifactId>scatours-fullapp-currency-contribution</artifactId>
+ <name>Apache Tuscany SCA Tours Full Application Currency Contribution</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-embedded</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <!--
+ <plugins>
+ <plugin>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-maven-ant-generator</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <configuration>
+ <mainClass>scatours.LaunchNode</mainClass>
+ </configuration>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ -->
+ </build>
+</project>
diff --git a/sandbox/travelsample/contributions/fullapp-currency-contribution/src/main/resources/META-INF/sca-contribution.xml b/sandbox/travelsample/contributions/fullapp-currency-contribution/src/main/resources/META-INF/sca-contribution.xml
new file mode 100644
index 0000000000..76427565fc
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-currency-contribution/src/main/resources/META-INF/sca-contribution.xml
@@ -0,0 +1,24 @@
+<?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.
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:scatours="http://scatours">
+ <deployable composite="scatours:currency"/>
+ <import.java package="scatours.currencyconverter"/>
+</contribution> \ No newline at end of file
diff --git a/sandbox/travelsample/contributions/fullapp-currency-contribution/src/main/resources/scatours.composite b/sandbox/travelsample/contributions/fullapp-currency-contribution/src/main/resources/scatours.composite
new file mode 100644
index 0000000000..d5070a6423
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-currency-contribution/src/main/resources/scatours.composite
@@ -0,0 +1,30 @@
+<?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"
+ targetNamespace="http://scatours"
+ xmlns:scatours="http://scatours"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ name="currency">
+
+ <component name="CurrencyConverterComponent">
+ <implementation.java class="scatours.currencyconverter.CurrencyConverterImpl"/>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/contributions/fullapp-frontend-contribution/pom.xml b/sandbox/travelsample/contributions/fullapp-frontend-contribution/pom.xml
new file mode 100644
index 0000000000..189e0840e4
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-frontend-contribution/pom.xml
@@ -0,0 +1,90 @@
+<?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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <!--relativePath>../../pom.xml</relativePath-->
+ </parent>
+ <artifactId>scatours-fullapp-frontend-contribution</artifactId>
+ <name>Apache Tuscany SCA Tours Full Application Front End Contribution</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-embedded</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <!--
+ <plugins>
+ <plugin>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-maven-ant-generator</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <configuration>
+ <mainClass>scatours.LaunchNode</mainClass>
+ </configuration>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ -->
+ </build>
+</project>
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
new file mode 100644
index 0000000000..7f689a2b1a
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/META-INF/sca-contribution.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ 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"/>
+</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
new file mode 100644
index 0000000000..3225f1ddf1
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-frontend-contribution/src/main/resources/scatours.composite
@@ -0,0 +1,77 @@
+<?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"
+ targetNamespace="http://scatours"
+ xmlns:scatours="http://scatours"
+ 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>
+ <reference name="flightSearch">
+ <interface.java interface="scatours.common.Search"
+ callbackInterface="scatours.common.SearchCallback"/>
+ <binding.ws uri="http://localhost:8080/Flight/Search"/>
+ <callback>
+ <binding.ws uri="http://localhost:8080/Flight/SearchCallback"/>
+ </callback>
+ </reference>
+ <reference name="carSearch" target="CarComponent/Search">
+ <binding.sca/>
+ </reference>
+ <reference name="tripSearch" target="TripComponent/Search">
+ <binding.sca/>
+ </reference>
+ <reference name="currencyConverter" target="CurrencyConverterComponent">
+ </reference>
+ <property name="quoteCurrencyCode">GBP</property>
+ </component>
+
+ <component name="TripBookingComponent">
+ <implementation.java class="scatours.tripbooking.TripBookingImpl"/>
+ <service name="TripBooking"/>
+ <reference name="hotelBook" target="HotelComponent/Book"/>
+ <reference name="flightBook" target="TripComponent/Book"/>
+ <reference name="carBook" target="CarComponent/Book"/>
+ <reference name="tripBook" target="TripComponent/Book"/>
+ <reference name="shoppingCart" target="ShoppingCartComponent/ShoppingCart"/>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/pom.xml b/sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/pom.xml
new file mode 100644
index 0000000000..13863b1316
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/pom.xml
@@ -0,0 +1,90 @@
+<?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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <!--relativePath>../../pom.xml</relativePath-->
+ </parent>
+ <artifactId>scatours-fullapp-packagedtrip-contribution</artifactId>
+ <name>Apache Tuscany SCA Tours Full Application Packaged Trip Contribution</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-embedded</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <!--
+ <plugins>
+ <plugin>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-maven-ant-generator</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <configuration>
+ <mainClass>scatours.LaunchNode</mainClass>
+ </configuration>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ -->
+ </build>
+</project>
diff --git a/sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/src/main/resources/META-INF/sca-contribution.xml b/sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/src/main/resources/META-INF/sca-contribution.xml
new file mode 100644
index 0000000000..2b61ac6c84
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/src/main/resources/META-INF/sca-contribution.xml
@@ -0,0 +1,25 @@
+<?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.
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:scatours="http://scatours">
+ <deployable composite="scatours:packagedtrip"/>
+ <import.java package="scatours.common"/>
+ <import.java package="scatours.trip"/>
+</contribution> \ No newline at end of file
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
new file mode 100644
index 0000000000..dc7dc0f731
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-packagedtrip-contribution/src/main/resources/scatours.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"
+ targetNamespace="http://scatours"
+ xmlns:scatours="http://scatours"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ name="packagedtrip">
+
+ <component name="TripComponent">
+ <implementation.java class="scatours.trip.TripImpl"/>
+ <service name="Search">
+ <binding.sca/>
+ <tuscany:binding.jsonrpc/>
+ </service>
+ <service name="Book"/>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/pom.xml b/sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/pom.xml
new file mode 100644
index 0000000000..499d1787d8
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/pom.xml
@@ -0,0 +1,90 @@
+<?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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <!--relativePath>../../pom.xml</relativePath-->
+ </parent>
+ <artifactId>scatours-fullapp-shoppingcart-contribution</artifactId>
+ <name>Apache Tuscany SCA Tours Full Application Shopping Cart Contribution</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-embedded</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <!--
+ <plugins>
+ <plugin>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-maven-ant-generator</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <configuration>
+ <mainClass>scatours.LaunchNode</mainClass>
+ </configuration>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ -->
+ </build>
+</project>
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
new file mode 100644
index 0000000000..4f753d2294
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/src/main/resources/META-INF/sca-contribution.xml
@@ -0,0 +1,25 @@
+<?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.
+-->
+<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.shoppingcart"/>
+</contribution> \ No newline at end of file
diff --git a/sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/src/main/resources/scatours.composite b/sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/src/main/resources/scatours.composite
new file mode 100644
index 0000000000..a1d06880aa
--- /dev/null
+++ b/sandbox/travelsample/contributions/fullapp-shoppingcart-contribution/src/main/resources/scatours.composite
@@ -0,0 +1,40 @@
+<?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"
+ targetNamespace="http://scatours"
+ xmlns:scatours="http://scatours"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ name="shoppingcart">
+
+ <component name="ShoppingCartComponent">
+ <implementation.java class="scatours.shoppingcart.ShoppingCartImpl"/>
+ <service name="ShoppingCart"/>
+ <reference name="cartStore" target="CartStoreComponent/CartStore"/>
+ <reference name="payment">
+ <binding.ws uri="http://localhost:8081/Payment" />
+ </reference>
+ </component>
+
+ <component name="CartStoreComponent">
+ <implementation.java class="scatours.shoppingcart.CartStoreImpl"/>
+ <service name="CartStore"/>
+ </component>
+
+</composite>
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 4064565d41..698ca3ecfb 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
@@ -19,7 +19,7 @@
-->
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:scatours="http://scatours">
- <deployable composite="scatours:scatours"/>
+ <deployable composite="scatours:ui"/>
<import.java package="scatours.common"/>
<import.java package="scatours.currencyconverter"/>
<import.java package="scatours.hotel"/>
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 3e03a2deb4..0aac7fe092 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
@@ -22,7 +22,7 @@
xmlns:scatours="http://scatours"
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
xmlns:pp="http://www.example.org/PaymentProcess"
- name="scatours">
+ name="ui">
<component name="scatours">
<tuscany:implementation.widget location="scatours.html"/>
@@ -38,116 +38,6 @@
<reference name="scaToursCart" target="SCAToursComponent/SCAToursCart">
<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>
-
- <component name="TravelCatalogComponent">
- <implementation.java class="scatours.travelcatalog.TravelCatalogImpl"/>
- <service name="TravelCatalogSearch"/>
- <reference name="hotelSearch" target="HotelComponent/Search">
- <binding.sca/>
- </reference>
- <reference name="flightSearch">
- <interface.java interface="scatours.common.Search"
- callbackInterface="scatours.common.SearchCallback"/>
- <binding.ws uri="http://localhost:8080/Flight/Search"/>
- <callback>
- <binding.ws uri="http://localhost:8080/Flight/SearchCallback"/>
- </callback>
- </reference>
- <reference name="carSearch" target="CarComponent/Search">
- <binding.sca/>
- </reference>
- <reference name="tripSearch" target="TripComponent/Search">
- <binding.sca/>
- </reference>
- <reference name="currencyConverter" target="CurrencyConverterComponent">
- </reference>
- <property name="quoteCurrencyCode">GBP</property>
- </component>
-
- <component name="CurrencyConverterComponent">
- <implementation.java class="scatours.currencyconverter.CurrencyConverterImpl"/>
- </component>
-
- <component name="TripBookingComponent">
- <implementation.java class="scatours.tripbooking.TripBookingImpl"/>
- <service name="TripBooking"/>
- <reference name="hotelBook" target="HotelComponent/Book"/>
- <reference name="flightBook" target="TripComponent/Book"/>
- <reference name="carBook" target="CarComponent/Book"/>
- <reference name="tripBook" target="TripComponent/Book"/>
- <reference name="shoppingCart" target="ShoppingCartComponent/ShoppingCart"/>
- </component>
-
- <component name="HotelComponent">
- <implementation.java class="scatours.hotel.HotelImpl"/>
- <service name="Search">
- <binding.sca/>
- <tuscany:binding.jsonrpc/>
- </service>
- <service name="Book"/>
- </component>
-
- <component name="FlightComponent">
- <implementation.java class="scatours.flight.FlightImpl"/>
- <service name="Search">
- <interface.java interface="scatours.common.Search"
- callbackInterface="scatours.common.SearchCallback"/>
- <binding.ws uri="http://localhost:8080/Flight/Search"/>
- <tuscany:binding.jsonrpc/>
- <callback>
- <binding.ws uri="http://localhost:8080/Flight/SearchCallback"/>
- </callback>
- </service>
- <service name="Book"/>
- </component>
-
- <component name="CarComponent">
- <implementation.java class="scatours.car.CarImpl"/>
- <service name="Search">
- <binding.sca/>
- <tuscany:binding.jsonrpc/>
- </service>
- <service name="Book"/>
</component>
-
- <component name="TripComponent">
- <implementation.java class="scatours.trip.TripImpl"/>
- <service name="Search">
- <binding.sca/>
- <tuscany:binding.jsonrpc/>
- </service>
- <service name="Book"/>
- </component>
-
- <component name="ShoppingCartComponent">
- <implementation.java class="scatours.shoppingcart.ShoppingCartImpl"/>
- <service name="ShoppingCart"/>
- <reference name="cartStore" target="CartStoreComponent/CartStore"/>
- <reference name="payment">
- <binding.ws uri="http://localhost:8081/Payment" />
- </reference>
- </component>
-
- <component name="CartStoreComponent">
- <implementation.java class="scatours.shoppingcart.CartStoreImpl"/>
- <service name="CartStore"/>
- </component>
-
+
</composite>
diff --git a/sandbox/travelsample/contributions/hotel-contribution/src/main/java/scatours/hotel/HotelManagement.java b/sandbox/travelsample/contributions/hotel-contribution/src/main/java/scatours/hotel/HotelManagement.java
new file mode 100644
index 0000000000..fa74f938ab
--- /dev/null
+++ b/sandbox/travelsample/contributions/hotel-contribution/src/main/java/scatours/hotel/HotelManagement.java
@@ -0,0 +1,24 @@
+/*
+ * 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.hotel;
+
+public interface HotelManagement {
+ void addHotelInfo(HotelInfo hotelInfo);
+}
diff --git a/sandbox/travelsample/contributions/interaction-client-contribution/build.xml b/sandbox/travelsample/contributions/interaction-client-contribution/build.xml
new file mode 100644
index 0000000000..52b3087827
--- /dev/null
+++ b/sandbox/travelsample/contributions/interaction-client-contribution/build.xml
@@ -0,0 +1,45 @@
+<!--
+ * 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.
+-->
+
+<project name="scatours-chapter-02-client-contribution" default="compile">
+ <property environment="env"/>
+
+ <target name="compile">
+ <mkdir dir="target/classes"/>
+ <javac destdir="target/classes" debug="on" source="1.5" target="1.5">
+ <src path="src/main/java"/>
+ <classpath>
+ <pathelement location="../tuscanyscatours-contribution/target/scatours-chapter-02-tuscanyscatours-contribution.jar"/>
+ <pathelement location="${env.TUSCANY}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </javac>
+ <copy todir="target/classes">
+ <fileset dir="src/main/resources"/>
+ </copy>
+ <jar destfile="target/scatours-chapter-02-client-contribution.jar"
+ basedir="target/classes"/>
+ </target>
+
+ <target name="clean">
+ <delete includeemptydirs="true">
+ <fileset dir="target"/>
+ </delete>
+ </target>
+
+</project>
diff --git a/sandbox/travelsample/contributions/interaction-client-contribution/pom.xml b/sandbox/travelsample/contributions/interaction-client-contribution/pom.xml
new file mode 100644
index 0000000000..4643c975fc
--- /dev/null
+++ b/sandbox/travelsample/contributions/interaction-client-contribution/pom.xml
@@ -0,0 +1,60 @@
+<?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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <!--relativePath>../../pom.xml</relativePath-->
+ </parent>
+ <artifactId>scatours-interaction-client-contribution</artifactId>
+ <name>Apache Tuscany SCA Tours Interaction Client Contribution</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca-api</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-common-contribution</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-calendar-contribution</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-hotel-contribution</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ </build>
+</project>
diff --git a/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/TestClient.java b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/TestClient.java
new file mode 100644
index 0000000000..3b53cb8a4a
--- /dev/null
+++ b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/java/scatours/client/TestClient.java
@@ -0,0 +1,122 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package scatours.client;
+
+import org.osoa.sca.RequestContext;
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import calendar.Calendar;
+
+import scatours.common.Search;
+import scatours.common.SearchCallback;
+import scatours.common.TripItem;
+import scatours.common.TripLeg;
+import scatours.hotel.HotelInfo;
+import scatours.hotel.HotelManagement;
+
+@Service(Runnable.class)
+public class TestClient implements SearchCallback {
+ @Reference
+ protected Search hotelSearchRemoteRequestResponse;
+
+ @Reference
+ protected Calendar calendarLocalRequestResponse;
+
+ public TestClient() {
+ }
+
+ // Runnable method
+
+ public void run() {
+ System.out.println("Calling hotel component over remote binding");
+ runRemoteRequestResponse();
+
+ System.out.println("Calling calendar component over local binding");
+ runLocalRequestReponse();
+ }
+
+ private void runRemoteRequestResponse() {
+ TripLeg tripLeg = getTestTripLeg();
+ TripItem[] tripItems = hotelSearchRemoteRequestResponse.searchSynch(tripLeg);
+ for (TripItem tripItem : tripItems){
+ System.out.println("Found hotel - " + tripItem.getName());
+ }
+ }
+
+ private void runLocalRequestReponse() {
+ TripLeg tripLeg = getTestTripLeg();
+ String toDate = calendarLocalRequestResponse.getEndDate(tripLeg.getFromDate(), 10);
+ tripLeg.setToDate(toDate);
+ System.out.println("Calculated trip end date - " + toDate);
+ }
+
+ private void runRemoteOneWay() {
+
+ }
+
+ private void runConversational() {
+
+ }
+
+ private void runCallbac() {
+
+ }
+
+ private void runStatefulCallback() {
+
+ }
+
+ private TripLeg getTestTripLeg(){
+ TripLeg tripLeg = new TripLeg();
+ tripLeg.setFromLocation("LGW");
+ tripLeg.setToLocation("FLR");
+ tripLeg.setFromDate("06/12/09 00:00");
+ tripLeg.setToDate("13/12/09 00:00");
+ tripLeg.setNoOfPeople("1");
+ tripLeg.setId("TRIP27");
+
+ return tripLeg;
+ }
+
+ // SearchCallback methods
+
+ public void searchResults(TripItem[] items){
+/*
+ RequestContext requestContext = componentContext.getRequestContext();
+ Object callbackID = requestContext.getServiceReference().getCallbackID();
+ System.out.println(callbackID);
+
+ if (items != null) {
+ for(int i = 0; i < items.length; i++ ){
+ searchResults.add(items[i]);
+ }
+ }
+
+ responsesReceived++;
+ try {
+ synchronized (this) {
+ this.notifyAll();
+ }
+ } catch (Exception ex) {
+ }
+*/
+ }
+}
diff --git a/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/META-INF/sca-contribution.xml b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/META-INF/sca-contribution.xml
new file mode 100644
index 0000000000..9eed690aaf
--- /dev/null
+++ b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/META-INF/sca-contribution.xml
@@ -0,0 +1,25 @@
+<?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.
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:client="http://client.scatours/">
+ <import.java package="scatours.common"/>
+ <import.java package="calendar"/>
+ <deployable composite="client:Client" />
+</contribution>
diff --git a/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/client.composite b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/client.composite
new file mode 100644
index 0000000000..1b76fbaefb
--- /dev/null
+++ b/sandbox/travelsample/contributions/interaction-client-contribution/src/main/resources/client.composite
@@ -0,0 +1,37 @@
+<?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"
+ targetNamespace="http://client.scatours/"
+ name="Client">
+
+ <component name="TestClient">
+ <implementation.java class="scatours.client.TestClient" />
+ <reference name="hotelSearchRemoteRequestResponse">
+ <binding.ws uri="http://localhost:8081/HotelComponent/Search"/>
+ </reference>
+ <reference name="calendarLocalRequestResponse"
+ target="CalendarComponent"/>
+ </component>
+
+ <component name="CalendarComponent">
+ <implementation.java class="calendar.CalendarImpl"/>
+ </component>
+
+</composite>
diff --git a/sandbox/travelsample/contributions/interaction-service-remote-contribution/build.xml b/sandbox/travelsample/contributions/interaction-service-remote-contribution/build.xml
new file mode 100644
index 0000000000..52b3087827
--- /dev/null
+++ b/sandbox/travelsample/contributions/interaction-service-remote-contribution/build.xml
@@ -0,0 +1,45 @@
+<!--
+ * 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.
+-->
+
+<project name="scatours-chapter-02-client-contribution" default="compile">
+ <property environment="env"/>
+
+ <target name="compile">
+ <mkdir dir="target/classes"/>
+ <javac destdir="target/classes" debug="on" source="1.5" target="1.5">
+ <src path="src/main/java"/>
+ <classpath>
+ <pathelement location="../tuscanyscatours-contribution/target/scatours-chapter-02-tuscanyscatours-contribution.jar"/>
+ <pathelement location="${env.TUSCANY}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </javac>
+ <copy todir="target/classes">
+ <fileset dir="src/main/resources"/>
+ </copy>
+ <jar destfile="target/scatours-chapter-02-client-contribution.jar"
+ basedir="target/classes"/>
+ </target>
+
+ <target name="clean">
+ <delete includeemptydirs="true">
+ <fileset dir="target"/>
+ </delete>
+ </target>
+
+</project>
diff --git a/sandbox/travelsample/contributions/interaction-service-remote-contribution/pom.xml b/sandbox/travelsample/contributions/interaction-service-remote-contribution/pom.xml
new file mode 100644
index 0000000000..308779ea03
--- /dev/null
+++ b/sandbox/travelsample/contributions/interaction-service-remote-contribution/pom.xml
@@ -0,0 +1,54 @@
+<?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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ <!--relativePath>../../pom.xml</relativePath-->
+ </parent>
+ <artifactId>scatours-interaction-service-remote-contribution</artifactId>
+ <name>Apache Tuscany SCA Tours Interaction Service Remote Contribution</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca-api</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-common-contribution</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-hotel-contribution</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ </build>
+</project>
diff --git a/sandbox/travelsample/contributions/interaction-service-remote-contribution/src/main/resources/META-INF/sca-contribution.xml b/sandbox/travelsample/contributions/interaction-service-remote-contribution/src/main/resources/META-INF/sca-contribution.xml
new file mode 100644
index 0000000000..26a786065e
--- /dev/null
+++ b/sandbox/travelsample/contributions/interaction-service-remote-contribution/src/main/resources/META-INF/sca-contribution.xml
@@ -0,0 +1,25 @@
+<?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.
+-->
+<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:client="http://client.scatours/">
+ <import.java package="scatours.common"/>
+ <import.java package="scatours.hotel"/>
+ <deployable composite="client:Client" />
+</contribution>
diff --git a/sandbox/travelsample/contributions/interaction-service-remote-contribution/src/main/resources/client.composite b/sandbox/travelsample/contributions/interaction-service-remote-contribution/src/main/resources/client.composite
new file mode 100644
index 0000000000..c44d0666b5
--- /dev/null
+++ b/sandbox/travelsample/contributions/interaction-service-remote-contribution/src/main/resources/client.composite
@@ -0,0 +1,30 @@
+<?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"
+ targetNamespace="http://service.scatours/"
+ name="Service">
+
+ <component name="HotelComponent">
+ <implementation.java class="scatours.hotel.HotelImpl"/>
+ <service name="Search">
+ <binding.ws uri="http://localhost:8081/HotelComponent/Search"/>
+ </service>
+ </component>
+</composite>
diff --git a/sandbox/travelsample/contributions/pom.xml b/sandbox/travelsample/contributions/pom.xml
index 45858dd52c..75451af57d 100644
--- a/sandbox/travelsample/contributions/pom.xml
+++ b/sandbox/travelsample/contributions/pom.xml
@@ -49,7 +49,14 @@
<module>emailgateway-contribution</module>
<module>flight-contribution</module>
<module>fullapp-ui-contribution</module>
+ <module>fullapp-frontend-contribution</module>
+ <module>fullapp-currency-contribution</module>
+ <module>fullapp-packagedtrip-contribution</module>
+ <module>fullapp-bespoketrip-contribution</module>
+ <module>fullapp-shoppingcart-contribution</module>
<module>hotel-contribution</module>
+ <module>interaction-client-contribution</module>
+ <module>interaction-service-remote-contribution</module>
<module>introducing-client-contribution</module>
<module>introducing-goodvaluetrips-contribution</module>
<module>introducing-tuscanyscatours-contribution</module>