summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/trunk
diff options
context:
space:
mode:
authornash <nash@13f79535-47bb-0310-9956-ffa450edef68>2010-05-14 14:12:35 +0000
committernash <nash@13f79535-47bb-0310-9956-ffa450edef68>2010-05-14 14:12:35 +0000
commitc44a20c9251d32157be7601011b7be008c048bb3 (patch)
treebfac21ca857a38838610d8b07e0058f401a654f9 /sca-java-1.x/trunk
parent98fe008bd0969a85adb5389a3621b8bf32e50a9b (diff)
Rename using contribution and launcher to usingsca
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@944272 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/trunk')
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/binaries/bundle/pom.xml4
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/binaries/src/main/resources/build-launchers.xml4
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/build.xml2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/pom.xml2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/build.xml22
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/pom.xml118
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscahotels/HotelOffers.java26
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscahotels/impl/HotelOffersImpl.java35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Address.java172
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/AirportCodes.java28
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/BillingAddress.java174
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Bookings.java26
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Cars.java27
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/CurrencyConverter.java27
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/CustomerInfo.java27
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Flights.java27
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Hotels.java27
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CarPartnerImpl.java36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CarVendorImpl.java34
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CurrencyConverterImpl.java45
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CustomerImpl.java47
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/FlightPartnerImpl.java31
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/HotelPartnerImpl.java31
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/TripBookingImpl.java73
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/AirportCodesClientImpl.java36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/BookingsClientImpl.java36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/BookingsZeroClientImpl.java36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/CarBookingsClientImpl.java38
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/ConverterClientImpl.java43
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/HotelOffersClientImpl.java36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/Orders1ClientImpl.java36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/Orders2ClientImpl.java38
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/address.xsd41
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/airportcodes.composite26
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings1.composite42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings2.composite42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings3.composite39
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings4.composite42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/carbookings1.composite36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/carbookings2.composite37
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/carbookings3.composite36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/converter.composite35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/hotelsdomain.composite38
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/orders1.composite37
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/orders2.composite46
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/orders2.xsd24
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/airportcodes-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings1-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings2-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings3-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings4-client.composite35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/carbookings1-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/carbookings2-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/carbookings3-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/converter-client.composite34
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/hotelsdomain-client.composite34
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/orders1-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/orders2-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/toursdomain-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/toursdomain.composite39
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/AirportCodesTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/BindingsTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CarAutowireTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CarPartnerTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CarWireElementTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/ComplexPropertyElementTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/ComplexPropertyTypeTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CurrencyConverterTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/MultiDomainTestCase.java65
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/TripAutowireTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/TripBookingTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/TripWireElementTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/resources/jndi.properties38
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/distribution/src/main/release/README782
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/build.xml2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/pom.xml2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/pom.xml138
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/src/main/java/scatours/UsingLauncher.java208
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/src/main/resources/jndi.properties38
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/src/test/java/scatours/UsingTestCase.java42
81 files changed, 3934 insertions, 369 deletions
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/binaries/bundle/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/binaries/bundle/pom.xml
index 7dd0b3fc1a..94bdfd5a81 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/binaries/bundle/pom.xml
+++ b/sca-java-1.x/trunk/tutorials/travelsample/binaries/bundle/pom.xml
@@ -347,7 +347,7 @@
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>scatours-contribution-using</artifactId>
+ <artifactId>scatours-contribution-usingsca</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
@@ -522,7 +522,7 @@
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>scatours-launcher-using</artifactId>
+ <artifactId>scatours-launcher-usingsca</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/binaries/src/main/resources/build-launchers.xml b/sca-java-1.x/trunk/tutorials/travelsample/binaries/src/main/resources/build-launchers.xml
index ab54f9b7d2..4bdd8b580d 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/binaries/src/main/resources/build-launchers.xml
+++ b/sca-java-1.x/trunk/tutorials/travelsample/binaries/src/main/resources/build-launchers.xml
@@ -317,10 +317,10 @@
</java>
</target>
- <target name="run-using">
+ <target name="run-usingsca">
<java classname="scatours.UsingLauncher" fork="true" failonerror="true">
<classpath>
- <pathelement location="scatours-launcher-using.jar"/>
+ <pathelement location="scatours-launcher-usingsca.jar"/>
<path refid="scatours.tuscany-manifest"/>
</classpath>
</java>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/contributions/build.xml
index 126fcfe04d..b2fcc9d3b5 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/contributions/build.xml
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/build.xml
@@ -96,7 +96,7 @@
<ant dir="scatours" target="${target}"/>
<ant dir="trip" target="${target}"/>
<ant dir="trip-policy" target="${target}"/>
- <ant dir="using" target="${target}"/>
+ <ant dir="usingsca" target="${target}"/>
</target>
</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/contributions/pom.xml
index f6475d0db8..212068d1f9 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/contributions/pom.xml
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/pom.xml
@@ -95,7 +95,7 @@
<module>payment-python</module>
<module>policy-client</module>
<module>trip-policy</module>
- <module>using</module>
+ <module>usingsca</module>
</modules>
</profile>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/build.xml
new file mode 100644
index 0000000000..9f5fa9ed69
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/build.xml
@@ -0,0 +1,22 @@
+<!--
+ * 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-contribution-usingsca" default="compile">
+ <import file="../../antdefs.xml"/>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/pom.xml
new file mode 100644
index 0000000000..cb759ac7c9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/pom.xml
@@ -0,0 +1,118 @@
+<?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>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-contribution-usingsca</artifactId>
+ <name>Apache Tuscany SCA Tours Using SCA Components Contribution</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-jms-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ejb-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jms-asf</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-all</artifactId>
+ <version>5.2.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-web-demo</artifactId>
+ </exclusion>
+ </exclusions>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</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>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscahotels/HotelOffers.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscahotels/HotelOffers.java
new file mode 100644
index 0000000000..8abc5af687
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscahotels/HotelOffers.java
@@ -0,0 +1,26 @@
+/*
+ * 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 com.tuscanyscahotels;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface HotelOffers {
+ String bookTodaysSpecial();
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscahotels/impl/HotelOffersImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscahotels/impl/HotelOffersImpl.java
new file mode 100644
index 0000000000..fccef2beed
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscahotels/impl/HotelOffersImpl.java
@@ -0,0 +1,35 @@
+/*
+ * 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 com.tuscanyscahotels.impl;
+
+import java.util.Date;
+import org.osoa.sca.annotations.Reference;
+
+import com.tuscanyscahotels.HotelOffers;
+import com.tuscanyscatours.Hotels;
+
+public class HotelOffersImpl implements HotelOffers {
+
+ @Reference
+ protected Hotels hotels;
+
+ public String bookTodaysSpecial() {
+ return hotels.bookHotel("LBH", new Date(), 3, "STD");
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Address.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Address.java
new file mode 100644
index 0000000000..614da1e2ad
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Address.java
@@ -0,0 +1,172 @@
+/*
+ * 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.
+ */
+
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2010.03.27 at 05:55:25 AM GMT
+//
+
+
+package com.tuscanyscatours;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for Address complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="Address">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="street" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="city" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="state" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="zip" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Address", propOrder = {
+ "street",
+ "city",
+ "state",
+ "zip"
+})
+public class Address {
+
+ @XmlElement(required = true)
+ protected String street;
+ @XmlElement(required = true)
+ protected String city;
+ @XmlElement(required = true)
+ protected String state;
+ @XmlElement(required = true)
+ protected String zip;
+
+ /**
+ * Gets the value of the street property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStreet() {
+ return street;
+ }
+
+ /**
+ * Sets the value of the street property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStreet(String value) {
+ this.street = value;
+ }
+
+ /**
+ * Gets the value of the city property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCity() {
+ return city;
+ }
+
+ /**
+ * Sets the value of the city property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCity(String value) {
+ this.city = value;
+ }
+
+ /**
+ * Gets the value of the state property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getState() {
+ return state;
+ }
+
+ /**
+ * Sets the value of the state property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setState(String value) {
+ this.state = value;
+ }
+
+ /**
+ * Gets the value of the zip property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getZip() {
+ return zip;
+ }
+
+ /**
+ * Sets the value of the zip property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setZip(String value) {
+ this.zip = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/AirportCodes.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/AirportCodes.java
new file mode 100644
index 0000000000..577f22250a
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/AirportCodes.java
@@ -0,0 +1,28 @@
+/*
+ * 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 com.tuscanyscatours;
+
+public class AirportCodes {
+ public String getAirport(String code) {
+ if ("AAA".equals(code)) return "Anaa";
+ else if ("AAB".equals(code)) return "Arrabury";
+ // other airport codes and cities would follow here
+ else return null;
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/BillingAddress.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/BillingAddress.java
new file mode 100644
index 0000000000..4687cf1116
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/BillingAddress.java
@@ -0,0 +1,174 @@
+/*
+ * 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.
+ */
+
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2010.03.27 at 05:55:25 AM GMT
+//
+
+
+package com.tuscanyscatours;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="street" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="city" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="state" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="zip" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "street",
+ "city",
+ "state",
+ "zip"
+})
+@XmlRootElement(name = "billingAddress")
+public class BillingAddress {
+
+ @XmlElement(required = true)
+ protected String street;
+ @XmlElement(required = true)
+ protected String city;
+ @XmlElement(required = true)
+ protected String state;
+ @XmlElement(required = true)
+ protected String zip;
+
+ /**
+ * Gets the value of the street property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStreet() {
+ return street;
+ }
+
+ /**
+ * Sets the value of the street property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStreet(String value) {
+ this.street = value;
+ }
+
+ /**
+ * Gets the value of the city property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCity() {
+ return city;
+ }
+
+ /**
+ * Sets the value of the city property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCity(String value) {
+ this.city = value;
+ }
+
+ /**
+ * Gets the value of the state property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getState() {
+ return state;
+ }
+
+ /**
+ * Sets the value of the state property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setState(String value) {
+ this.state = value;
+ }
+
+ /**
+ * Gets the value of the zip property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getZip() {
+ return zip;
+ }
+
+ /**
+ * Sets the value of the zip property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setZip(String value) {
+ this.zip = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Bookings.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Bookings.java
new file mode 100644
index 0000000000..9d54d46bb6
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Bookings.java
@@ -0,0 +1,26 @@
+/*
+ * 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 com.tuscanyscatours;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Bookings {
+ String newBooking(String trip, int people);
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Cars.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Cars.java
new file mode 100644
index 0000000000..f58fa33c8d
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Cars.java
@@ -0,0 +1,27 @@
+/*
+ * 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 com.tuscanyscatours;
+
+import java.util.Date;
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Cars {
+ String bookCar(Date pickup, int days, String carClass);
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/CurrencyConverter.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/CurrencyConverter.java
new file mode 100644
index 0000000000..9c201813e1
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/CurrencyConverter.java
@@ -0,0 +1,27 @@
+/*
+ * 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 com.tuscanyscatours;
+
+import java.math.BigDecimal;
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface CurrencyConverter {
+ BigDecimal convert(BigDecimal amount);
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/CustomerInfo.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/CustomerInfo.java
new file mode 100644
index 0000000000..958ca6cf8c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/CustomerInfo.java
@@ -0,0 +1,27 @@
+/*
+ * 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 com.tuscanyscatours;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface CustomerInfo {
+ String getBillingAddress();
+ String getDeliveryAddress();
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Flights.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Flights.java
new file mode 100644
index 0000000000..873b0afc0c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Flights.java
@@ -0,0 +1,27 @@
+/*
+ * 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 com.tuscanyscatours;
+
+import java.util.Date;
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Flights {
+ String bookFlight(String flightNumber, Date date, int seats, String flightClass);
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Hotels.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Hotels.java
new file mode 100644
index 0000000000..85944ad1b6
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/Hotels.java
@@ -0,0 +1,27 @@
+/*
+ * 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 com.tuscanyscatours;
+
+import java.util.Date;
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Hotels {
+ String bookHotel(String hotelCode, Date date, int days, String roomType);
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CarPartnerImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CarPartnerImpl.java
new file mode 100644
index 0000000000..687fc49230
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CarPartnerImpl.java
@@ -0,0 +1,36 @@
+/*
+ * 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 com.tuscanyscatours.using.impl;
+
+import java.util.Date;
+import org.osoa.sca.annotations.Reference;
+import com.tuscanyscatours.Cars;
+
+public class CarPartnerImpl implements Cars {
+
+ @Reference
+ protected Cars[] cars;
+
+ @Reference(required=false)
+ protected Cars[] luxuryCars;
+
+ public String bookCar(Date pickup, int days, String carClass) {
+ return cars[0].bookCar(pickup, days, carClass);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CarVendorImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CarVendorImpl.java
new file mode 100644
index 0000000000..f8644bab2c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CarVendorImpl.java
@@ -0,0 +1,34 @@
+/*
+ * 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 com.tuscanyscatours.using.impl;
+
+import java.util.Date;
+import com.tuscanyscatours.Cars;
+
+public class CarVendorImpl implements Cars {
+
+ protected int minAge; // implicitly defines an SCA property
+
+ public String bookCar(Date pickup, int days, String carClass) {
+ System.out.println("Booking confirmed for pickup date " + pickup +
+ " duration " + days + " days in a " + carClass +
+ " class car");
+ return "CV234";
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CurrencyConverterImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CurrencyConverterImpl.java
new file mode 100644
index 0000000000..3749221aa9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CurrencyConverterImpl.java
@@ -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.
+ */
+package com.tuscanyscatours.using.impl;
+
+import java.math.BigDecimal;
+import org.osoa.sca.annotations.Property;
+import com.tuscanyscatours.CurrencyConverter;
+
+public class CurrencyConverterImpl implements CurrencyConverter {
+
+ @Property
+ protected String fromCurrency;
+
+ @Property
+ protected String toCurrency;
+
+ public BigDecimal convert(BigDecimal amount) {
+ return amount.multiply(getRate(toCurrency))
+ .divide(getRate(fromCurrency), 2, 0);
+ }
+
+ private BigDecimal getRate(String currency) {
+ int rate = 0;
+ for (int i = 0; i < currency.length(); i++) {
+ rate += currency.codePointAt(i);
+ }
+ return new BigDecimal(rate).divide(new BigDecimal(100));
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CustomerImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CustomerImpl.java
new file mode 100644
index 0000000000..84ca6c7593
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CustomerImpl.java
@@ -0,0 +1,47 @@
+/*
+ * 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 com.tuscanyscatours.using.impl;
+
+import org.osoa.sca.annotations.Property;
+import com.tuscanyscatours.Address;
+import com.tuscanyscatours.BillingAddress;
+import com.tuscanyscatours.CustomerInfo;
+
+public class CustomerImpl implements CustomerInfo {
+
+ @Property
+ protected BillingAddress billingAddress;
+
+ @Property
+ protected Address deliveryAddress;
+
+ public String getBillingAddress() {
+ return billingAddress.getStreet() + ", " +
+ billingAddress.getCity() + ", " +
+ billingAddress.getState() + " " +
+ billingAddress.getZip();
+ }
+
+ public String getDeliveryAddress() {
+ return deliveryAddress.getStreet() + ", " +
+ deliveryAddress.getCity() + ", " +
+ deliveryAddress.getState() + " " +
+ deliveryAddress.getZip();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/FlightPartnerImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/FlightPartnerImpl.java
new file mode 100644
index 0000000000..c5d6747a6b
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/FlightPartnerImpl.java
@@ -0,0 +1,31 @@
+/*
+ * 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 com.tuscanyscatours.using.impl;
+
+import java.util.Date;
+import com.tuscanyscatours.Flights;
+
+public class FlightPartnerImpl implements Flights {
+
+ public String bookFlight(String flightNumber, Date date, int seats, String flightClass) {
+ System.out.println("Booking confirmed for flight " + flightNumber + " on date " +
+ date + " with " + seats + " seats in " + flightClass + " class");
+ return "FP345";
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/HotelPartnerImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/HotelPartnerImpl.java
new file mode 100644
index 0000000000..6cca73b0d0
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/HotelPartnerImpl.java
@@ -0,0 +1,31 @@
+/*
+ * 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 com.tuscanyscatours.using.impl;
+
+import java.util.Date;
+import com.tuscanyscatours.Hotels;
+
+public class HotelPartnerImpl implements Hotels {
+
+ public String bookHotel(String hotelCode, Date date, int days, String roomType) {
+ System.out.println("Booking confirmed for hotel " + hotelCode + " arriving on " +
+ date + " for " + days + " days in a " + roomType + " room");
+ return "HP456";
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/TripBookingImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/TripBookingImpl.java
new file mode 100644
index 0000000000..9d81a0d4ed
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/TripBookingImpl.java
@@ -0,0 +1,73 @@
+/*
+ * 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 com.tuscanyscatours.using.impl;
+
+import java.text.DateFormat;
+import java.util.Date;
+import org.osoa.sca.annotations.Reference;
+
+import com.tuscanyscatours.Bookings;
+import com.tuscanyscatours.Cars;
+import com.tuscanyscatours.Flights;
+import com.tuscanyscatours.Hotels;
+
+public class TripBookingImpl implements Bookings {
+
+ public TripBookingImpl(@Reference(name="cars") Cars cars) {
+ this.cars = cars;
+ }
+
+ protected Cars cars;
+
+ @Reference
+ protected Flights flights;
+
+ private Hotels hotels;
+
+ @Reference
+ public void setHotels(Hotels hotels) {
+ this.hotels = hotels;
+ }
+
+ public String newBooking(String trip, int people) {
+ /* In a real implementation this method would look up the trip code
+ in the travel catalog to get details of the car, flight and hotel
+ bookings needed. Instead these details are hard-wired here for
+ test purposes. */
+ Date startDate = new Date(); //TEMP - need to fix
+ /*
+ try {
+ startDate = DateFormat.getInstance().parse("7 Jul, 2012");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ */
+
+ if (people > 0) {
+ cars.bookCar(startDate, 7, "B");
+ flights.bookFlight("AA123", startDate, people, "Y");
+ hotels.bookHotel("DBH", startDate, 7, "SUP");
+
+ return "HW3546";
+
+ } else {
+ return "NONE";
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/AirportCodesClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/AirportCodesClientImpl.java
new file mode 100644
index 0000000000..4857b25fb6
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/AirportCodesClientImpl.java
@@ -0,0 +1,36 @@
+/*
+ * 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.impl;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import com.tuscanyscatours.AirportCodes;
+
+@Service(Runnable.class)
+public class AirportCodesClientImpl {
+
+ @Reference
+ protected AirportCodes airportcodes;
+
+ public void run() {
+ String airport = airportcodes.getAirport("AAB");
+ System.out.println("AAB is the airport code for " + airport);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/BookingsClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/BookingsClientImpl.java
new file mode 100644
index 0000000000..aa842c80f7
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/BookingsClientImpl.java
@@ -0,0 +1,36 @@
+/*
+ * 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.impl;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import com.tuscanyscatours.Bookings;
+
+@Service(Runnable.class)
+public class BookingsClientImpl {
+
+ @Reference
+ protected Bookings bookings;
+
+ public void run() {
+ String bookingCode = bookings.newBooking("VR3MAY9", 2);
+ System.out.println("Booking code is " + bookingCode);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/BookingsZeroClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/BookingsZeroClientImpl.java
new file mode 100644
index 0000000000..1fd519d5e9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/BookingsZeroClientImpl.java
@@ -0,0 +1,36 @@
+/*
+ * 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.impl;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import com.tuscanyscatours.Bookings;
+
+@Service(Runnable.class)
+public class BookingsZeroClientImpl {
+
+ @Reference
+ protected Bookings bookings;
+
+ public void run() {
+ String bookingCode = bookings.newBooking("DUMMY", 0);
+ System.out.println("Booking code is " + bookingCode);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/CarBookingsClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/CarBookingsClientImpl.java
new file mode 100644
index 0000000000..0c78a77825
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/CarBookingsClientImpl.java
@@ -0,0 +1,38 @@
+/*
+ * 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.impl;
+
+import java.util.Date;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import com.tuscanyscatours.Cars;
+
+@Service(Runnable.class)
+public class CarBookingsClientImpl {
+
+ @Reference
+ protected Cars cars;
+
+ public void run() {
+ String bookingCode = cars.bookCar(new Date(), 3, "K"); // need to FIX
+ System.out.println("Booking code is " + bookingCode);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/ConverterClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/ConverterClientImpl.java
new file mode 100644
index 0000000000..5eab8f8a16
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/ConverterClientImpl.java
@@ -0,0 +1,43 @@
+/*
+ * 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.impl;
+
+import java.math.BigDecimal;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import com.tuscanyscatours.CurrencyConverter;
+
+@Service(Runnable.class)
+public class ConverterClientImpl {
+
+ @Reference
+ protected CurrencyConverter eur2jpy;
+
+ @Reference
+ protected CurrencyConverter usd2gbp;
+
+ public void run() {
+ BigDecimal jpy = eur2jpy.convert(new BigDecimal("1000.00"));
+ System.out.println("Converted EUR 1000.00 to JPY " + jpy);
+ BigDecimal gbp = usd2gbp.convert(new BigDecimal("1000.00"));
+ System.out.println("Converted USD 1000.00 to GBP " + gbp);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/HotelOffersClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/HotelOffersClientImpl.java
new file mode 100644
index 0000000000..e581273113
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/HotelOffersClientImpl.java
@@ -0,0 +1,36 @@
+/*
+ * 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.impl;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import com.tuscanyscahotels.HotelOffers;
+
+@Service(Runnable.class)
+public class HotelOffersClientImpl {
+
+ @Reference
+ protected HotelOffers offers;
+
+ public void run() {
+ String bookingCode = offers.bookTodaysSpecial();
+ System.out.println("Hotel offers booking code is " + bookingCode);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/Orders1ClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/Orders1ClientImpl.java
new file mode 100644
index 0000000000..af21ad3683
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/Orders1ClientImpl.java
@@ -0,0 +1,36 @@
+/*
+ * 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.impl;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import com.tuscanyscatours.CustomerInfo;
+
+@Service(Runnable.class)
+public class Orders1ClientImpl {
+
+ @Reference
+ protected CustomerInfo customer;
+
+ public void run() {
+ String address = customer.getBillingAddress();
+ System.out.println("Customer billing address: " + address);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/Orders2ClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/Orders2ClientImpl.java
new file mode 100644
index 0000000000..41727ac621
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/java/scatours/client/impl/Orders2ClientImpl.java
@@ -0,0 +1,38 @@
+/*
+ * 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.impl;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+import com.tuscanyscatours.CustomerInfo;
+
+@Service(Runnable.class)
+public class Orders2ClientImpl {
+
+ @Reference
+ protected CustomerInfo customer;
+
+ public void run() {
+ String address = customer.getBillingAddress();
+ System.out.println("Customer billing address: " + address);
+ address = customer.getDeliveryAddress();
+ System.out.println("Customer delivery address: " + address);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/address.xsd b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/address.xsd
new file mode 100644
index 0000000000..116110f1f3
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/address.xsd
@@ -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.
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:t="http://tuscanyscatours.com/"
+ targetNamespace="http://tuscanyscatours.com/">
+ <xs:element name="billingAddress">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="street" type="xs:string" />
+ <xs:element name="city" type="xs:string" />
+ <xs:element name="state" type="xs:string" />
+ <xs:element name="zip" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="Address">
+ <xs:sequence>
+ <xs:element name="street" type="xs:string" />
+ <xs:element name="city" type="xs:string" />
+ <xs:element name="state" type="xs:string" />
+ <xs:element name="zip" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/airportcodes.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/airportcodes.composite
new file mode 100644
index 0000000000..e68fc732b1
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/airportcodes.composite
@@ -0,0 +1,26 @@
+<?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://tuscanyscatours.com/"
+ name="airportcodes">
+ <component name="AirportCodes">
+ <implementation.java class="com.tuscanyscatours.AirportCodes" />
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings1.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings1.composite
new file mode 100644
index 0000000000..783bc3c6c7
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings1.composite
@@ -0,0 +1,42 @@
+<?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://tuscanyscatours.com/"
+ name="bookings1">
+ <component name="TripBooking">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.TripBookingImpl" />
+ <reference name="cars" target="CarPartner/Cars" />
+ <reference name="flights" target="FlightPartner/Flights" />
+ <reference name="hotels" target="HotelPartner" />
+ </component>
+ <component name="CarPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarVendorImpl" />
+ </component>
+ <component name="FlightPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.FlightPartnerImpl" />
+ </component>
+ <component name="HotelPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.HotelPartnerImpl" />
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings2.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings2.composite
new file mode 100644
index 0000000000..be26a0f7f1
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings2.composite
@@ -0,0 +1,42 @@
+<?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://tuscanyscatours.com/"
+ name="bookings2">
+ <component name="TripBooking">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.TripBookingImpl" />
+ <reference name="cars" target="CarPartner/Cars" />
+ <reference name="flights" target="FlightPartner/Flights" />
+ </component>
+ <wire source="TripBooking/hotels" target="HotelPartner" />
+ <component name="CarPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarVendorImpl" />
+ </component>
+ <component name="FlightPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.FlightPartnerImpl" />
+ </component>
+ <component name="HotelPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.HotelPartnerImpl" />
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings3.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings3.composite
new file mode 100644
index 0000000000..e952a15381
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings3.composite
@@ -0,0 +1,39 @@
+<?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://tuscanyscatours.com/"
+ name="bookings3">
+ <component name="TripBooking" autowire="true">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.TripBookingImpl" />
+ </component>
+ <component name="CarPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarVendorImpl" />
+ </component>
+ <component name="FlightPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.FlightPartnerImpl" />
+ </component>
+ <component name="HotelPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.HotelPartnerImpl" />
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings4.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings4.composite
new file mode 100644
index 0000000000..acb6e269a4
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/bookings4.composite
@@ -0,0 +1,42 @@
+<?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://tuscanyscatours.com/"
+ name="bookings4">
+ <component name="TripBooking">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.TripBookingImpl" />
+ <service name="Bookings">
+ <binding.ws uri="http://tuscanyscatours.com:8085/Bookings" />
+ <binding.jms uri="jms:Bookings" />
+ </service>
+ <reference name="cars">
+ <binding.ws uri="http://tuscanycars.com:8081/Cars" />
+ </reference>
+ <reference name="flights">
+ <binding.ejb uri="corbaname:rir:#flight/FlightPartnerHome" />
+ </reference>
+ <reference name="hotels" target="HotelPartner" />
+ </component>
+ <component name="HotelPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.HotelPartnerImpl" />
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/carbookings1.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/carbookings1.composite
new file mode 100644
index 0000000000..c6dc6def16
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/carbookings1.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"
+ targetNamespace="http://tuscanyscatours.com/"
+ name="carbookings1">
+ <component name="CarPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarPartnerImpl" />
+ <reference name="cars" target="JoesCars KensCars" />
+ </component>
+ <component name="JoesCars">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarVendorImpl" />
+ </component>
+ <component name="KensCars">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarVendorImpl" />
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/carbookings2.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/carbookings2.composite
new file mode 100644
index 0000000000..af01006b6f
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/carbookings2.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://tuscanyscatours.com/"
+ name="carbookings2">
+ <component name="CarPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarPartnerImpl" />
+ </component>
+ <wire source="CarPartner/cars" target="JoesCars" />
+ <wire source="CarPartner/cars" target="KensCars" />
+ <component name="JoesCars">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarVendorImpl" />
+ </component>
+ <component name="KensCars">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarVendorImpl" />
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/carbookings3.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/carbookings3.composite
new file mode 100644
index 0000000000..f1d3a81d42
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/carbookings3.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"
+ targetNamespace="http://tuscanyscatours.com/"
+ name="carbookings3">
+ <component name="CarPartner" autowire="true">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarPartnerImpl" />
+ <reference name="luxuryCars" autowire="false" />
+ </component>
+ <component name="JoesCars">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarVendorImpl" />
+ </component>
+ <component name="KensCars">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarVendorImpl" />
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/converter.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/converter.composite
new file mode 100644
index 0000000000..c0a1d32e11
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/converter.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://tuscanyscatours.com/"
+ name="converter">
+ <component name="EURJPYConverter">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CurrencyConverterImpl" />
+ <property name="fromCurrency">EUR</property>
+ <property name="toCurrency">JPY</property>
+ </component>
+ <component name="USDGBPConverter">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CurrencyConverterImpl" />
+ <property name="fromCurrency">USD</property>
+ <property name="toCurrency">GBP</property>
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/hotelsdomain.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/hotelsdomain.composite
new file mode 100644
index 0000000000..1db3586513
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/hotelsdomain.composite
@@ -0,0 +1,38 @@
+<?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://tuscanyscahotels.com/"
+ name="hotelsdomain">
+ <component name="HotelPartner">
+ <implementation.java class=
+ "com.tuscanyscatours.using.impl.HotelPartnerImpl" />
+ <service name="Hotels">
+ <binding.ws uri=
+ "http://tuscanyscahotels.com:8083/Hotels" />
+ <binding.sca />
+ </service>
+ </component>
+ <component name="HotelOffers">
+ <implementation.java class=
+ "com.tuscanyscahotels.impl.HotelOffersImpl" />
+ <reference name="hotels"
+ target="HotelPartner/Hotels" />
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/orders1.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/orders1.composite
new file mode 100644
index 0000000000..ac2647b387
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/orders1.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://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="orders1">
+
+ <component name="Customer">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CustomerImpl" />
+ <property name="billingAddress" element="t:billingAddress">
+ <t:billingAddress xmlns="">
+ <street>123 Main Street</street>
+ <city>New York</city>
+ <state>NY</state>
+ <zip>01234</zip>
+ </t:billingAddress>
+ </property>
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/orders2.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/orders2.composite
new file mode 100644
index 0000000000..d0489bbd21
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/orders2.composite
@@ -0,0 +1,46 @@
+<?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://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ xmlns:o="http://tuscanyscatours.com/orders"
+ name="orders2">
+
+ <component name="Customer">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CustomerImpl" />
+ <property name="billingAddress" type="t:Address">
+ <o:address xmlns="">
+ <street>123 Main Street</street>
+ <city>New York</city>
+ <state>NY</state>
+ <zip>01234</zip>
+ </o:address>
+ </property>
+ <property name="deliveryAddress" type="t:Address">
+ <o:address xmlns="">
+ <street>456 Market Street</street>
+ <city>San Francisco</city>
+ <state>CA</state>
+ <zip>98765</zip>
+ </o:address>
+ </property>
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/orders2.xsd b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/orders2.xsd
new file mode 100644
index 0000000000..db6ee8766e
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/orders2.xsd
@@ -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.
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://tuscanyscatours.com/orders"
+ xmlns:t="http://tuscanyscatours.com/">
+ <xs:element name="address" type="t:Address" />
+</xs:schema>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/airportcodes-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/airportcodes-client.composite
new file mode 100644
index 0000000000..faf2aced82
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/airportcodes-client.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"
+ targetNamespace="http://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="airportcodes-client">
+
+ <!-- a test client for airportcodes.composite -->
+ <component name="AirportCodesClient">
+ <implementation.java class="scatours.client.impl.AirportCodesClientImpl" />
+ <reference name="airportcodes" target="AirportCodes" />
+ </component>
+
+ <!-- run airportcodes.composite in the same SCA node -->
+ <include name="t:airportcodes" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings1-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings1-client.composite
new file mode 100644
index 0000000000..c1c4ecfe12
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings1-client.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"
+ targetNamespace="http://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="bookings1-client">
+
+ <!-- a test client for bookings1.composite -->
+ <component name="Bookings1Client">
+ <implementation.java class="scatours.client.impl.BookingsClientImpl" />
+ <reference name="bookings" target="TripBooking" />
+ </component>
+
+ <!-- run bookings1.composite in the same SCA node -->
+ <include name="t:bookings1" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings2-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings2-client.composite
new file mode 100644
index 0000000000..e84c7fec06
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings2-client.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"
+ targetNamespace="http://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="bookings2-client">
+
+ <!-- a test client for bookings2.composite -->
+ <component name="Bookings2Client">
+ <implementation.java class="scatours.client.impl.BookingsClientImpl" />
+ <reference name="bookings" target="TripBooking" />
+ </component>
+
+ <!-- run bookings2.composite in the same SCA node -->
+ <include name="t:bookings2" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings3-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings3-client.composite
new file mode 100644
index 0000000000..21248976a6
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings3-client.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"
+ targetNamespace="http://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="bookings3-client">
+
+ <!-- a test client for bookings3.composite -->
+ <component name="Bookings3Client">
+ <implementation.java class="scatours.client.impl.BookingsClientImpl" />
+ <reference name="bookings" target="TripBooking" />
+ </component>
+
+ <!-- run bookings3.composite in the same SCA node -->
+ <include name="t:bookings3" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings4-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings4-client.composite
new file mode 100644
index 0000000000..bc3af6ae4a
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/bookings4-client.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://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="bookings4-client">
+
+ <!-- a test client for bookings4.composite -->
+ <component name="Bookings4Client">
+ <implementation.java class="scatours.client.impl.BookingsZeroClientImpl" />
+ <reference name="bookings">
+ <binding.jms uri="jms:Bookings" />
+ </reference>
+ </component>
+
+ <!-- run bookings4.composite in the same SCA node -->
+ <include name="t:bookings4" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/carbookings1-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/carbookings1-client.composite
new file mode 100644
index 0000000000..363f498997
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/carbookings1-client.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"
+ targetNamespace="http://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="carbookings1-client">
+
+ <!-- a test client for carbookings1.composite -->
+ <component name="CarBookings1Client">
+ <implementation.java class="scatours.client.impl.CarBookingsClientImpl" />
+ <reference name="cars" target="CarPartner" />
+ </component>
+
+ <!-- run carbookings1.composite in the same SCA node -->
+ <include name="t:carbookings1" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/carbookings2-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/carbookings2-client.composite
new file mode 100644
index 0000000000..f80eaf4eca
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/carbookings2-client.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"
+ targetNamespace="http://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="carbookings2-client">
+
+ <!-- a test client for carbookings2.composite -->
+ <component name="CarBookings2Client">
+ <implementation.java class="scatours.client.impl.CarBookingsClientImpl" />
+ <reference name="cars" target="CarPartner" />
+ </component>
+
+ <!-- run carbookings2.composite in the same SCA node -->
+ <include name="t:carbookings2" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/carbookings3-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/carbookings3-client.composite
new file mode 100644
index 0000000000..e3cf379de3
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/carbookings3-client.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"
+ targetNamespace="http://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="carbookings3-client">
+
+ <!-- a test client for carbookings3.composite -->
+ <component name="CarBookings3Client">
+ <implementation.java class="scatours.client.impl.CarBookingsClientImpl" />
+ <reference name="cars" target="CarPartner" />
+ </component>
+
+ <!-- run carbookings3.composite in the same SCA node -->
+ <include name="t:carbookings3" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/converter-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/converter-client.composite
new file mode 100644
index 0000000000..c488a454b4
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/converter-client.composite
@@ -0,0 +1,34 @@
+<?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://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="converter-client">
+
+ <!-- a test client for converter.composite -->
+ <component name="ConverterClient">
+ <implementation.java class="scatours.client.impl.ConverterClientImpl" />
+ <reference name="eur2jpy" target="EURJPYConverter" />
+ <reference name="usd2gbp" target="USDGBPConverter" />
+ </component>
+
+ <!-- run converter.composite in the same SCA node -->
+ <include name="t:converter" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/hotelsdomain-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/hotelsdomain-client.composite
new file mode 100644
index 0000000000..597a5f0a4f
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/hotelsdomain-client.composite
@@ -0,0 +1,34 @@
+<?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://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ xmlns:h="http://tuscanyscahotels.com/"
+ name="hotelsdomain-client">
+
+ <!-- a test client for hotelsdomain.composite -->
+ <component name="HotelsDomainClient">
+ <implementation.java class="scatours.client.impl.HotelOffersClientImpl" />
+ <reference name="offers" target="HotelOffers" />
+ </component>
+
+ <!-- run hotelsdomain.composite in the same SCA node -->
+ <include name="h:hotelsdomain" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/orders1-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/orders1-client.composite
new file mode 100644
index 0000000000..9015e14cb8
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/orders1-client.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"
+ targetNamespace="http://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="orders1-client">
+
+ <!-- a test client for orders1.composite -->
+ <component name="Orders1Client">
+ <implementation.java class="scatours.client.impl.Orders1ClientImpl" />
+ <reference name="customer" target="Customer" />
+ </component>
+
+ <!-- run orders1.composite in the same SCA node -->
+ <include name="t:orders1" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/orders2-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/orders2-client.composite
new file mode 100644
index 0000000000..f9ae67332b
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/orders2-client.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"
+ targetNamespace="http://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="orders2-client">
+
+ <!-- a test client for orders2.composite -->
+ <component name="Orders2Client">
+ <implementation.java class="scatours.client.impl.Orders2ClientImpl" />
+ <reference name="customer" target="Customer" />
+ </component>
+
+ <!-- run orders2.composite in the same SCA node -->
+ <include name="t:orders2" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/toursdomain-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/toursdomain-client.composite
new file mode 100644
index 0000000000..b84dbe8f72
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/test-clients/toursdomain-client.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"
+ targetNamespace="http://tuscanyscatours.com/"
+ xmlns:t="http://tuscanyscatours.com/"
+ name="toursdomain-client">
+
+ <!-- a test client for toursdomain.composite -->
+ <component name="ToursDomainClient">
+ <implementation.java class="scatours.client.impl.BookingsZeroClientImpl" />
+ <reference name="bookings" target="TripBooking" />
+ </component>
+
+ <!-- run toursdomain.composite in the same SCA node -->
+ <include name="t:toursdomain" />
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/toursdomain.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/toursdomain.composite
new file mode 100644
index 0000000000..c04fb897d7
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/main/resources/toursdomain.composite
@@ -0,0 +1,39 @@
+<?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://tuscanyscatours.com/"
+ name="toursdomain">
+ <component name="TripBooking">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.TripBookingImpl" />
+ <reference name="flights">
+ <binding.ws
+ uri="http://flightbookingservice.com:8084/Flights" />
+ </reference>
+ <reference name="hotels">
+ <binding.ws uri="http://tuscanyscahotels.com:8083/Hotels" />
+ </reference>
+ <reference name="cars" target="CarPartner/Cars" />
+ </component>
+ <component name="CarPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarVendorImpl" />
+ </component>
+</composite>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/AirportCodesTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/AirportCodesTestCase.java
new file mode 100644
index 0000000000..53d9029e7f
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/AirportCodesTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * 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.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests the AirportCodes component implementation class
+ */
+public class AirportCodesTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node = SCANodeFactory.newInstance().createSCANode("test-clients/airportcodes-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testImpl() {
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "AirportCodesClient");
+ client.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (node != null) {
+ node.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/BindingsTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/BindingsTestCase.java
new file mode 100644
index 0000000000..2daa59245e
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/BindingsTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * 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.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests services and references with configured bindings
+ */
+public class BindingsTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node = SCANodeFactory.newInstance().createSCANode("test-clients/bookings4-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testImpl() {
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "Bookings4Client");
+ client.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (node != null) {
+ node.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CarAutowireTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CarAutowireTestCase.java
new file mode 100644
index 0000000000..bf20e7cae1
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CarAutowireTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * 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.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests autowiring of references with different multiplicities
+ */
+public class CarAutowireTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node = SCANodeFactory.newInstance().createSCANode("test-clients/carbookings3-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testImpl() {
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "CarBookings3Client");
+ client.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (node != null) {
+ node.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CarPartnerTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CarPartnerTestCase.java
new file mode 100644
index 0000000000..18e43e7a8b
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CarPartnerTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * 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.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests wiring of references with different multiplicities
+ */
+public class CarPartnerTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node = SCANodeFactory.newInstance().createSCANode("test-clients/carbookings1-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testImpl() {
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "CarBookings1Client");
+ client.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (node != null) {
+ node.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CarWireElementTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CarWireElementTestCase.java
new file mode 100644
index 0000000000..997460e0ea
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CarWireElementTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * 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.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests wire elements for references with different multiplicities
+ */
+public class CarWireElementTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node = SCANodeFactory.newInstance().createSCANode("test-clients/carbookings2-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testImpl() {
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "CarBookings2Client");
+ client.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (node != null) {
+ node.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/ComplexPropertyElementTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/ComplexPropertyElementTestCase.java
new file mode 100644
index 0000000000..177b4b2355
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/ComplexPropertyElementTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * 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.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests complex properties defined as XML Schema global elements
+ */
+public class ComplexPropertyElementTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node = SCANodeFactory.newInstance().createSCANode("test-clients/orders1-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testImpl() {
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "Orders1Client");
+ client.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (node != null) {
+ node.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/ComplexPropertyTypeTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/ComplexPropertyTypeTestCase.java
new file mode 100644
index 0000000000..168d8f3273
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/ComplexPropertyTypeTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * 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.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests complex properties defined as XML Schema types
+ */
+public class ComplexPropertyTypeTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node = SCANodeFactory.newInstance().createSCANode("test-clients/orders2-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testImpl() {
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "Orders2Client");
+ client.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (node != null) {
+ node.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CurrencyConverterTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CurrencyConverterTestCase.java
new file mode 100644
index 0000000000..dec2ae9976
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/CurrencyConverterTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * 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.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests the CurrencyConverterImpl component implementation class
+ */
+public class CurrencyConverterTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node = SCANodeFactory.newInstance().createSCANode("test-clients/converter-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testImpl() {
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "ConverterClient");
+ client.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (node != null) {
+ node.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/MultiDomainTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/MultiDomainTestCase.java
new file mode 100644
index 0000000000..a7028f6d8c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/MultiDomainTestCase.java
@@ -0,0 +1,65 @@
+/*
+ * 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.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests the multiple domains with bindings scenario
+ */
+public class MultiDomainTestCase {
+
+ private SCANode hotelsNode;
+ private SCANode toursNode;
+
+ @Before
+ public void startServer() throws Exception {
+ hotelsNode = SCANodeFactory.newInstance().createSCANode("test-clients/hotelsdomain-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ hotelsNode.start();
+ toursNode = SCANodeFactory.newInstance().createSCANode("test-clients/toursdomain-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ toursNode.start();
+ }
+
+ @Test
+ public void testImpl() {
+ Runnable hotelsClient = ((SCAClient)hotelsNode).getService(Runnable.class, "HotelsDomainClient");
+ hotelsClient.run();
+ Runnable toursClient = ((SCAClient)toursNode).getService(Runnable.class, "ToursDomainClient");
+ toursClient.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (toursNode != null) {
+ toursNode.stop();
+ }
+ if (hotelsNode != null) {
+ hotelsNode.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/TripAutowireTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/TripAutowireTestCase.java
new file mode 100644
index 0000000000..a6f1df98ef
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/TripAutowireTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * 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.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests the use of autowire in the Trip Booking implementation scenario
+ */
+public class TripAutowireTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node = SCANodeFactory.newInstance().createSCANode("test-clients/bookings3-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testImpl() {
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "Bookings3Client");
+ client.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (node != null) {
+ node.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/TripBookingTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/TripBookingTestCase.java
new file mode 100644
index 0000000000..d08d176464
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/TripBookingTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * 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.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests the Trip Booking implementation scenario
+ */
+public class TripBookingTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node = SCANodeFactory.newInstance().createSCANode("test-clients/bookings1-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testImpl() {
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "Bookings1Client");
+ client.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (node != null) {
+ node.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/TripWireElementTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/TripWireElementTestCase.java
new file mode 100644
index 0000000000..36811a98d8
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/java/scatours/TripWireElementTestCase.java
@@ -0,0 +1,56 @@
+/*
+ * 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.SCAClient;
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests the use of wire elements in the Trip Booking implementation scenario
+ */
+public class TripWireElementTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node = SCANodeFactory.newInstance().createSCANode("test-clients/bookings2-client.composite",
+ new SCAContribution("using", "./target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testImpl() {
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "Bookings2Client");
+ client.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ if (node != null) {
+ node.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/resources/jndi.properties b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/resources/jndi.properties
new file mode 100644
index 0000000000..80236a8e6c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/usingsca/src/test/resources/jndi.properties
@@ -0,0 +1,38 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+# START SNIPPET: jndi
+
+java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
+
+# use the following property to configure the default connector
+java.naming.provider.url = vm://localhost?broker.persistent=false
+
+# use the following property to specify the JNDI name the connection factory
+# should appear as.
+#connectionFactoryNames = connectionFactory, queueConnectionFactory, topicConnectionFactry
+connectionFactoryNames = ConnectionFactory
+
+# register some queues in JNDI using the form
+# queue.[jndiName] = [physicalName]
+queue.Bookings = BookingsRequestQueue
+
+# register some topics in JNDI using the form
+# topic.[jndiName] = [physicalName]
+#topic.MyTopic = example.MyTopic
+
+# END SNIPPET: jndi
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/distribution/src/main/release/README b/sca-java-1.x/trunk/tutorials/travelsample/distribution/src/main/release/README
index 1bd6e29491..c4d0c2db36 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/distribution/src/main/release/README
+++ b/sca-java-1.x/trunk/tutorials/travelsample/distribution/src/main/release/README
@@ -56,253 +56,313 @@ sections of this file.
1) Jumpstart - First simple example of using Tuscany
-Description: *** to be added ***
+Description: The jumpstart launcher shows the code needed to load an
+ SCA contribution and invoke a method. The introducing-trips contribution
+ shows how to package an SCA component in a contribution.
Contributions: introducing-trips
Launchers: jumpstart
2) Introducing - Simplified introduction to the travel application
-Description: *** to be added ***
+Description: This scenario introduces a simplified form of the travel
+ booking application that will be developed and extended by other
+ scenarios in the travel sample. This scenario gives a clearer picture
+ than jumpstart of how SCA applications are constructed because it
+ shows multiple SCA components connected together with references wired
+ to services.
Contributions: introducing-client, introducing-tours, introducing-trips
Launchers: introducing
3) Introducing (distributed) - Distributed services with a domain manager
-Description: *** to be added ***
+Description: We're using the same SCA components, services, and implementations
+ as in the previous scenario but with a big difference--they're distributed
+ across multiple execution nodes and they make remote calls to each other
+ using configuration information provided by the Tuscany domain manager.
+ For simplicity these nodes are represented as different processes running on
+ a single computer, though the domain manager configuration could easily be
+ modified to run the nodes on different computers communicating across a network.
Contributions: introducing-client, introducing-tours, introducing-trips
Launchers: introducing-client, introducing-domain, introducing-tours,
- introducing-trips
+ introducing-trips
+
+4) Using SCA - Defining and using SCA Components
+
+Description: The examples in this scenario show how to define SCA components
+ and how to use SCA components in a business application. This "guided tour"
+ consists of code samples illustrating the major features of SCA components
+ including implementations, services, interfaces, references, wires, properties,
+ bindings and domains.
+Contributions: usingsca
+Launchers: usingsca
+
+5) Building blocks - Using SCA composites as application building blocks
+
+Description: We're looking at how to create composite applications using
+ SCA composites as building blocks. The ToursImpl composite shows how to
+ use a composite as a component implementation (black box reuse) and the
+ ToursImplInclude composite demonstrates including one composite in another
+ (white box reuse). The ToursAppl composite combines both of these kinds
+ of reuse and shows how easy it is to build a full composite application
+ using building blocks.
+Contributions: buildingblocks, buildingblocks-client, introducing-trips
+Launchers: buildingblocks
-4) Interaction - Different SCA interaction styles
+6) Interaction - Different SCA interaction styles
Description: Each SCA interaction pattern is demonstrated using a component
- from the travel booking application. We’re going to see the Hotel, Calendar,
- CurrencyConverter and ShoppingCart components used here. These components
- don't work in isolation so for each interaction pattern we've written a
- simple client component. For example, the InteractionLocalClient component
- demonstrates local interactions by sending a local message to the Calendar
- component. The launcher starts two nodes (node1 and node2) which are used
- to run samples for all of the interaction patterns. The first node "node1"
- loads the contributions common, currency, calendar, shoppingcart, and
- interaction-client, and runs the client.composite from the interaction-client
- contribution. The local interaction patterns are demonstrated by clients
- calling the currency, calendar, and shoppingcart components locally within
- node1. The second node node2 loads the contributions common, hotel, and
- interaction-service-remote, and runs the service.composite from the
- interaction-service-remote contribution. This node provides the hotel
- component that's used by client components in node1 for sending remote
- messages to demonstrate the remote interaction pattern.
+ from the travel booking application. We’re going to see the Hotel, Calendar,
+ CurrencyConverter and ShoppingCart components used here. These components
+ don't work in isolation so for each interaction pattern we've written a
+ simple client component. For example, the InteractionLocalClient component
+ demonstrates local interactions by sending a local message to the Calendar
+ component. The launcher starts two nodes (node1 and node2) which are used
+ to run samples for all of the interaction patterns. The first node "node1"
+ loads the contributions common, currency, calendar, shoppingcart, and
+ interaction-client, and runs the client.composite from the interaction-client
+ contribution. The local interaction patterns are demonstrated by clients
+ calling the currency, calendar, and shoppingcart components locally within
+ node1. The second node node2 loads the contributions common, hotel, and
+ interaction-service-remote, and runs the service.composite from the
+ interaction-service-remote contribution. This node provides the hotel
+ component that's used by client components in node1 for sending remote
+ messages to demonstrate the remote interaction pattern.
Contributions: calendar, common, currency, flight, hotel, interaction-client,
- interaction-service-remote, shoppingcart
+ interaction-service-remote, shoppingcart
Launchers: interaction
-5) Full application - The full interactive travel application
+7) Full application - The full interactive travel application
-Description: *** to be added ***
+Description: This is the fully functional travel application with a user
+ interface for booking a trip (either pre-packaged or customized), adding the
+ trip to a shopping cart, and checking out the purchase using a credit card.
Contributions: car, common, creditcard-payment-jaxb-policy, currency, flight,
- fullapp-bespoketrip, fullapp-coordination, fullapp-currency, fullapp-packagedtrip,
- fullapp-shoppingcart, fullapp-ui, hotel, payment-spring-policy, scatours,
- shoppingcart, travelcatalog, trip, tripbooking
+ fullapp-bespoketrip, fullapp-coordination, fullapp-currency, fullapp-packagedtrip,
+ fullapp-shoppingcart, fullapp-ui, hotel, payment-spring-policy, scatours,
+ shoppingcart, travelcatalog, trip, tripbooking
Launchers: fullapp
-6) Full application (distributed) - Distributed services with a domain manager
+8) Full application (distributed) - Distributed services with a domain manager
+
+Description: This version of the full travel application uses multiple execution
+ nodes and the domain manager. The execution nodes all run within the same
+ process, which isn't very realistic but shows the flexibility of the Tuscany
+ runtime model which allows nodes to be allocated to processes and computers in
+ any combination. There's one small difference in the contributions used by this
+ distributed version: payment-java-policy is used instead of payment-spring-policy
+ because of an incompatibility between the domain manager and implementation.spring
+ (see issue TUSCANY-3476).
-Description: *** to be added ***
Contributions: car, common, creditcard-payment-jaxb-policy, currency, flight,
- fullapp-bespoketrip, fullapp-coordination, fullapp-currency, fullapp-packagedtrip,
- fullapp-shoppingcart, fullapp-ui, hotel, payment-spring-policy, scatours,
- shoppingcart, travelcatalog, trip, tripbooking
+ fullapp-bespoketrip, fullapp-coordination, fullapp-currency, fullapp-packagedtrip,
+ fullapp-shoppingcart, fullapp-ui, hotel, payment-java-policy, scatours,
+ shoppingcart, travelcatalog, trip, tripbooking
Launchers: fullapp-domain, fullapp-nodes
-7) Building blocks - Using SCA composites as application building blocks
+9) Callback
-Description: *** to be added ***
-Contributions: buildingblocks, buildingblocks-client, introducing-trips
-Launchers: buildingblocks
+Description: SCA callbacks are illustrated using a variation of the Payment
+ service which makes callbacks to the client to perform additional security
+ checks for large payments.
+Contributions: payment-java-callback
+Launchers: payment-java-callback
-8) Blog feed
+10) Reference passing
-Description: *** to be added ***
-Contributions: blog-feed
-Launchers: blog-feed
+Description: We use another variation on the Payment service to show how
+ SCA service references can be passed as parameters when invoking a service.
+ The Payment service creates a service reference for the EmailGateway service
+ and passes this service reference to the CreditCardPayment service. When the
+ CreditCardPayment service has finished doing the credit card authorization,
+ it invokes the EmailGateway service using the service reference that was
+ passed in.
+Contributions: payment-java-reference-pass
+Launchers: payment-java-reference-pass
+
+11) Help pages
+
+Description: This scenario shows how an SCA application can expose HTML web pages
+ by using an SCA component with the implementation.resource implementation type.
+Contributions: help-pages
+Launchers: help-pages
-9) Data binding
+12) Blog feed
Description: *** to be added ***
-Contributions: creditcard-payment-sdo, databinding-client, payment-java
-Launchers: databinding
+Contributions: blog-feed
+Launchers: blog-feed
-10) Feed logger
+13) Feed logger
Description: *** to be added ***
Contributions: feed-logger
Launchers: feed-logger
-11) Help pages
+14) Data binding
Description: *** to be added ***
-Contributions: help-pages
-Launchers: help-pages
+Contributions: creditcard-payment-sdo, databinding-client, payment-java
+Launchers: databinding
-12) Policy
+15) Policy
Description: *** to be added ***
Contributions: creditcard-payment-jaxb-policy, payment-java-policy, policy-client
Launchers: policy
-13) Using - Using SCA Components
+16) SCA credit card payment service packaged as a web application
-Description: *** to be added ***
-Contributions: using
-Launchers: using
-
-14) SCA credit card payment service packaged as a web application
-
-Description: *** to be added ***
+Description: The CreditCardPayment service is packaged as a web application
+ (.war file) including all its Tuscany runtime dependencies, so that it
+ can be deployed to a Web application server such as Apache Tomcat. The web
+ application also includes a JSP that invokes the CreditCardPayment service.
Contributions: creditcard-payment-jaxb, creditcard-payment-webapp
Webapp: creditcard-payment-webapp
-15) Payment service with different implementation types
+17) Payment service with different implementation types
-Description: *** to be added ***
+Description: In SCA the technology used to implement a service is encapsulated
+ by the service and doesn't affect other components that invoke the service.
+ In this scenario we show how the Payment service can be implemented using a
+ range of different technologies while providing the same interface and the
+ same semantics.
-15a) implementation.bpel
+17a) implementation.bpel
-Description: *** to be added ***
+Description: The Payment service is implemented using a BPEL process.
Contributions: creditcard-payment-jaxb, emailgateway, payment-bpel, payment-bpel-process
Launchers: payment-bpel
-15b) implementation.script written in Groovy
+17b) implementation.script written in Groovy
-Description: *** to be added ***
+Description: The Payment service is implemented using a Groovy script.
Contributions: creditcard-payment-jaxb, emailgateway, payment-groovy
Launchers: payment-groovy
-15c) implementation.java
+17c) implementation.java
-Description: *** to be added ***
+Description: The Payment service is implemented using a Java class.
Contributions: creditcard-payment-jaxb, payment-java
Launchers: payment-java
-15d) implementation.java with callback
-
-Description: *** to be added ***
-Contributions: payment-java-callback
-Launchers: payment-java-callback
-
-15e) implementation.java with policy
+17d) implementation.java with policy
-Description: *** to be added ***
+Description: The Payment service is implemented using a Java class, and
+ the reference from the Payment service to the CreditCardPayment service
+ is defined as requiring the "authentication" security policy.
Contributions: creditcard-payment-jaxb-policy, payment-java-policy
Launchers: payment-java-policy
-15f) implementation.java with reference passing
-
-Description: *** to be added ***
-Contributions: payment-java-reference-pass
-Launchers: payment-java-reference-pass
-
-15g) implementation.script written in Python
+17e) implementation.script written in Python
-Description: *** to be added ***
+Description: The Payment service is implemented using a Python script.
Contributions: creditcard-payment-jaxb, emailgateway, payment-python
Launchers: payment-python
-15h) implementation.spring
+17f) implementation.spring
-Description: *** to be added ***
+Description: The Payment service is implemented using a Spring application
+ context which doesn't use any SCA-specific features.
Contributions: creditcard-payment-jaxb, payment-spring
Launchers: payment-spring
-15i) implementation.spring with SCA tags
+17g) implementation.spring with SCA tags
-Description: *** to be added ***
+Description: The Payment service is implemented using a Spring application
+ context which uses SCA-specific XML elements (tags) to define SCA references
+ and properties.
Contributions: creditcard-payment-jaxb, payment-spring-scatag
Launchers: payment-spring-scatag
-16) SCA currency converter service interoperating with SCA or non-SCA client
+18) SCA currency converter service interoperating with SCA or non-SCA client
-Description: *** to be added ***
+Description: In SCA a service can be configured with a variety of bindings
+ to expose it using a range of different communication protocols. This
+ scenario contains a number of examples showing the CurrencyConverter service
+ exposed using different bindings and invoked by SCA or non-SCA clients
+ using various protocols.
-16a) SCA client
+18a) SCA client
-Description: *** to be added ***
+Description: The CurrencyConverter service uses the default binding and is
+ invoked by an SCA client running in the same process.
Contributions: currency
Launchers: currency-converter
-16b) CORBA client
+18b) CORBA client
-Description: *** to be added ***
+Description: The CurrencyConverter service is exposed using binding.corba and is
+ invoked by a CORBA Java client running in a different process.
Contributions: currency, currency-corba
Launchers: currency-converter-corba
Clients: currency-converter-corba
-16c) JMS client
+18c) JMS client
Description: *** to be added ***
Contributions: currency, currency-jms
Launchers: currency-converter-jms
Clients: currency-converter-jms
-16d) RMI client
+18d) RMI client
Description: *** to be added ***
Contributions: currency, currency-rmi
Launchers: currency-converter-rmi
Clients: currency-converter-rmi
-16e) JAX-WS client
+18e) JAX-WS client
Description: *** to be added ***
Contributions: currency, currency-ws
Launchers: currency-converter-ws
Clients: currency-converter-ws-jaxws
-16f) Web application JSP client
+18f) Web application JSP client
Description: *** to be added ***
Contributions: currency, currency-jsp
Webapp: scatours-contribution-currency-jsp.war
-16g) Web application servlet client
+18g) Web application servlet client
Description: *** to be added ***
Contributions: currency, currency-servlet
Webapp: scatours-contribution-currency-servlet.war
-17) SCA notification service interoperating with non-SCA SMS gateway service
+19) SCA notification service interoperating with non-SCA SMS gateway service
Description: *** to be added ***
-17a) SMS gateway CORBA service
+19a) SMS gateway CORBA service
Description: *** to be added ***
Contributions: notification, notification-corba
Services: smsgateway-corba
Launchers: notification-corba
-17b) SMS gateway EJB service
+19b) SMS gateway EJB service
Description: *** to be added ***
Contributions: notification, notification-ejb
Services: smsgateway-ejb
Launchers: notification-ejb
-17c) SMS gateway JMS service
+19c) SMS gateway JMS service
Description: *** to be added ***
Contributions: notification, notification-jms
Services: smsgateway-jms
Launchers: notification-jms
-17d) SMS gateway RMI service
+19d) SMS gateway RMI service
Description: *** to be added ***
Contributions: notification, notification-rmi
Services: smsgateway-rmi
Launchers: notification-rmi
-17e) SMS gateway JAX-WS service
+19e) SMS gateway JAX-WS service
Description: *** to be added ***
Contributions: notification, notification-ws
@@ -345,102 +405,102 @@ You can run the launcher ant scripts as follows:
Firefox as some scenarios don't work with Internet Explorer.
Table 1. Running scenarios packaged as launchers and contributions
------------------------------------------------------------------------------------------------------
-| Scenario Launcher directory Commands URLs |
------------------------------------------------------------------------------------------------------
-| 1) Jumpstart | jumpstart | ant run | |
------------------------------------------------------------------------------------------------------
-| 2) Introducing | introducing | ant run | |
------------------------------------------------------------------------------------------------------
-| 3) Introducing | introducing-client | ant run-domain | |
-| (distributed) | | ant run-trips | |
-| | | ant run-tours | |
-| | | ant run | |
------------------------------------------------------------------------------------------------------
-| 4) Interaction | interaction | ant run | |
------------------------------------------------------------------------------------------------------
-| 5) Full application | fullapp | ant run | http://localhost:8080/scatours |
------------------------------------------------------------------------------------------------------
-| 6) Full application | fullapp-nodes | ant run-domain | |
-| (distributed) | | ant run | |
------------------------------------------------------------------------------------------------------
-| 7) Building blocks | buildingblocks | ant run | |
------------------------------------------------------------------------------------------------------
-| 8) Blog feed | blog-feed | ant run | http://localhost:8090/BlogAtom |
-| | | | http://localhost:8090/BlogRSS |
-| | | | http://localhost:8090/BlogAtomAPIs |
-| | | | http://localhost:8090/BlogRSSAPIs |
------------------------------------------------------------------------------------------------------
-| 9) Data binding | databinding | ant run | |
------------------------------------------------------------------------------------------------------
-| 10) Feed logger | feed-logger | ant run | |
------------------------------------------------------------------------------------------------------
-| 11) Help pages | help-pages | ant run | http://localhost:8085/help/index.html |
------------------------------------------------------------------------------------------------------
-| 12) Policy | policy | ant run | |
------------------------------------------------------------------------------------------------------
-| 13) Using | using | ant run | |
------------------------------------------------------------------------------------------------------
-| 15) Payment service implementation types |
-| |
-| Impl type Launcher directory Commands URLs |
------------------------------------------------------------------------------------------------------
-| 15a) BPEL | payment-bpel | ant run | |
------------------------------------------------------------------------------------------------------
-| 15b) Groovy | payment-groovy | ant run | |
------------------------------------------------------------------------------------------------------
-| 15c) Java | payment-java | ant run | |
------------------------------------------------------------------------------------------------------
-| 15d) Java + callback | payment-java-callback | ant run | |
------------------------------------------------------------------------------------------------------
-| 15e) Java + policy | payment-java-policy | ant run | |
------------------------------------------------------------------------------------------------------
-| 15f) Java + reference | payment-java-reference-pass | ant run | |
-| passing | | | |
------------------------------------------------------------------------------------------------------
-| 15g) Python | payment-python | ant run | |
------------------------------------------------------------------------------------------------------
-| 15h) Spring | payment-spring | ant run | |
------------------------------------------------------------------------------------------------------
-| 15i) Spring SCA tags | payment-spring-scatag | ant run | |
------------------------------------------------------------------------------------------------------
-| 16) Currency converter service binding types |
-| |
-| Binding type Launcher directory Commands URLs |
------------------------------------------------------------------------------------------------------
-| 16a) SCA | currency-converter | ant run | |
------------------------------------------------------------------------------------------------------
-| 16b) CORBA | currency-converter-corba | ant run | |
-| | | ant run-client | |
------------------------------------------------------------------------------------------------------
-| 16c) JMS | currency-converter-jms | ant run | |
-| | | ant run-client | |
------------------------------------------------------------------------------------------------------
-| 16d) RMI | currency-converter-rmi | ant run | |
-| | | ant run-client | |
------------------------------------------------------------------------------------------------------
-| 16e) WS | currency-converter-ws | ant run | |
-| | | ant run-client | |
------------------------------------------------------------------------------------------------------
-| 17) Notification reference binding types |
-| |
-| Binding type Launcher directory Commands URLs |
------------------------------------------------------------------------------------------------------
-| 17a) CORBA | notification-corba | ant run-smsgateway | |
-| | | ant run | |
------------------------------------------------------------------------------------------------------
-| 17b) EJB | notification-ejb | ant run-smsgateway | |
-| | | ant run | |
------------------------------------------------------------------------------------------------------
-| 17c) JMS | notification-jms | ant run-smsgateway | |
-| | | ant run | |
------------------------------------------------------------------------------------------------------
-| 17d) RMI | notification-rmi | ant run-smsgateway | |
-| | | ant run | |
------------------------------------------------------------------------------------------------------
-| 17e) WS | notification-ws | ant run-smsgateway | |
-| | | ant run | |
------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------
+| Scenario Launcher directory Commands URLs |
+---------------------------------------------------------------------------------------------------------------
+| 1) Jumpstart | jumpstart | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 2) Introducing | introducing | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 3) Introducing | introducing-client | ant run-domain | |
+| (distributed) | | ant run-trips | |
+| | | ant run-tours | |
+| | | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 4) Using SCA | usingsca | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 5) Building blocks | buildingblocks | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 6) Interaction | interaction | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 7) Full application | fullapp | ant run | http://localhost:8080/scatours |
+---------------------------------------------------------------------------------------------------------------
+| 8) Full application | fullapp-nodes | ant run-domain | |
+| (distributed) | | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 9) Callback | payment-java-callback | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 10) Reference | payment-java-reference-pass | ant run | |
+| passing | | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 11) Help pages | help-pages | ant run | http://localhost:8085/help/index.html |
+---------------------------------------------------------------------------------------------------------------
+| 12) Blog feed | blog-feed | ant run | http://localhost:8090/BlogAtom |
+| | | | http://localhost:8090/BlogRSS |
+| | | | http://localhost:8090/BlogAtomAPIs |
+| | | | http://localhost:8090/BlogRSSAPIs |
+---------------------------------------------------------------------------------------------------------------
+| 13) Feed logger | feed-logger | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 14) Data binding | databinding | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 15) Policy | policy | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 17) Payment service implementation types |
+| |
+| Impl type Launcher directory Commands URLs |
+---------------------------------------------------------------------------------------------------------------
+| 17a) BPEL | payment-bpel | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 17b) Groovy | payment-groovy | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 17c) Java | payment-java | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 17d) Java + policy | payment-java-policy | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 17e) Python | payment-python | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 17f) Spring | payment-spring | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 17g) Spring SCA tags | payment-spring-scatag | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 18) Currency converter service binding types |
+| |
+| Binding type Launcher directory Commands URLs |
+---------------------------------------------------------------------------------------------------------------
+| 18a) SCA | currency-converter | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 18b) CORBA | currency-converter-corba | ant run | |
+| | | ant run-client | |
+---------------------------------------------------------------------------------------------------------------
+| 18c) JMS | currency-converter-jms | ant run | |
+| | | ant run-client | |
+---------------------------------------------------------------------------------------------------------------
+| 18d) RMI | currency-converter-rmi | ant run | |
+| | | ant run-client | |
+---------------------------------------------------------------------------------------------------------------
+| 18e) WS | currency-converter-ws | ant run | |
+| | | ant run-client | |
+---------------------------------------------------------------------------------------------------------------
+| 19) Notification reference binding types |
+| |
+| Binding type Launcher directory Commands URLs |
+---------------------------------------------------------------------------------------------------------------
+| 19a) CORBA | notification-corba | ant run-smsgateway | |
+| | | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 19b) EJB | notification-ejb | ant run-smsgateway | |
+| | | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 19c) JMS | notification-jms | ant run-smsgateway | |
+| | | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 19d) RMI | notification-rmi | ant run-smsgateway | |
+| | | ant run | |
+---------------------------------------------------------------------------------------------------------------
+| 19e) WS | notification-ws | ant run-smsgateway | |
+| | | ant run | |
+---------------------------------------------------------------------------------------------------------------
Running travel sample scenarios in a Web application server
@@ -467,13 +527,13 @@ Table 2. Running scenarios packaged as web applications
--------------------------------------------------------------------------------------------------------------------------
| Scenario | Contribution directory | URL |
--------------------------------------------------------------------------------------------------------------------------
-| 14) Credit card | creditcard-payment-webapp | http://localhost:8080/scatours-contribution-creditcard-payment-webapp |
+| 16) Credit card | creditcard-payment-webapp | http://localhost:8080/scatours-contribution-creditcard-payment-webapp |
| webapp service | | | |
--------------------------------------------------------------------------------------------------------------------------
-| 16f) Currency | currency-jsp | http://localhost:8080/scatours-contribution-currency-jsp | |
+| 18f) Currency | currency-jsp | http://localhost:8080/scatours-contribution-currency-jsp | |
| converter JSP | | |
--------------------------------------------------------------------------------------------------------------------------
-| 16g) Currency | currency-servlet | http://localhost:8080/scatours-contribution-currency-servlet | |
+| 18g) Currency | currency-servlet | http://localhost:8080/scatours-contribution-currency-servlet | |
| converter | | |
| servlet | | |
--------------------------------------------------------------------------------------------------------------------------
@@ -486,23 +546,23 @@ The travelsample/testdomain directory is provided for the purpose
of running the domain manager and creating your own configuration.
You can do this as follows:
-1) Open a command prompt and make travelsample/testdomain your
+1. Open a command prompt and make travelsample/testdomain your
current directory.
-2) Enter "ant run" to start the domain manager.
+2. Enter "ant run" to start the domain manager.
-3) In a browser, start the domain manager GUI by entering the URL
+3. In a browser, start the domain manager GUI by entering the URL
"http://localhost:9990/ui/home". The recommended browser is Firefox
because the domain manager GUI doesn't work with Internet Explorer.
-4) In the browser window, create or update your domain manager
+4. In the browser window, create or update your domain manager
configuration using the domain manager GUI.
-5) To exit the domain manager, enter "q" in the command prompt window.
+5. To exit the domain manager, enter "q" in the command prompt window.
The domain configuration is saved automatically and will be
restored the next time you start the domain manager.
-6) If you want to remove your saved configuration and start again from
+6. If you want to remove your saved configuration and start again from
a clean slate, enter either "ant clean" or "mvn clean" from the
command prompt window.
@@ -552,102 +612,102 @@ the following:
Firefox as some scenarios don't work with Internet Explorer.
Table 3. Running scenarios with launchers from the binaries directory
---------------------------------------------------------------------------------------------------------
-| Scenario | Directory | Commands | URLs |
---------------------------------------------------------------------------------------------------------
-| 1) Jumpstart | launchers | ant run-jumpstart | |
---------------------------------------------------------------------------------------------------------
-| 2) Introducing | launchers | ant run-introducing | |
---------------------------------------------------------------------------------------------------------
-| 3) Introducing | launchers | ant run-introducing-domain | |
-| (distributed) | launchers | ant run-introducing-trips | |
-| | launchers | ant run-introducing-tours | |
-| | launchers | ant run-introducing-client | |
---------------------------------------------------------------------------------------------------------
-| 4) Interaction | launchers | ant run-interaction | |
---------------------------------------------------------------------------------------------------------
-| 5) Full application | launchers | ant run-fullapp | http://localhost:8080/scatours |
---------------------------------------------------------------------------------------------------------
-| 6) Full application | launchers | ant run-fullapp-domain | |
-| (distributed) | launchers | ant run-fullapp-nodes | |
---------------------------------------------------------------------------------------------------------
-| 7) Building blocks | launchers | ant run-buildingblocks | |
---------------------------------------------------------------------------------------------------------
-| 8) Blog feed | launchers | ant run-blog-feed | http://localhost:8090/BlogAtom |
-| | | | http://localhost:8090/BlogRSS |
-| | | | http://localhost:8090/BlogAtomAPIs |
-| | | | http://localhost:8090/BlogRSSAPIs |
---------------------------------------------------------------------------------------------------------
-| 9) Data binding | launchers | ant run-databinding | |
---------------------------------------------------------------------------------------------------------
-| 10) Feed logger | launchers | ant run-feed-logger | |
---------------------------------------------------------------------------------------------------------
-| 11) Help pages | launchers | ant run-help-pages | http://localhost:8085/help/index.html |
---------------------------------------------------------------------------------------------------------
-| 12) Policy | launchers | ant run-policy | |
---------------------------------------------------------------------------------------------------------
-| 13) Using | launchers | ant run-using | |
---------------------------------------------------------------------------------------------------------
-| 15) Payment service implementation types |
-| |
-| Impl type Directory Commands URLs |
---------------------------------------------------------------------------------------------------------
-| 15a) BPEL | launchers | ant run-payment-bpel | |
---------------------------------------------------------------------------------------------------------
-| 15b) Groovy | launchers | ant run-payment-groovy | |
---------------------------------------------------------------------------------------------------------
-| 15c) Java | launchers | ant run-payment-java | |
---------------------------------------------------------------------------------------------------------
-| 15d) Java + callback | launchers | ant run-payment-java-callback | |
---------------------------------------------------------------------------------------------------------
-| 15e) Java + policy | launchers | ant run-payment-java-policy | |
---------------------------------------------------------------------------------------------------------
-| 15f) Java + reference | launchers | ant run-payment-java-reference-pass | |
-| passing | | | |
---------------------------------------------------------------------------------------------------------
-| 15g) Python | launchers | ant run-payment-python | |
---------------------------------------------------------------------------------------------------------
-| 15h) Spring | launchers | ant run-payment-spring | |
---------------------------------------------------------------------------------------------------------
-| 15i) Spring SCA tags | launchers | ant run-payment-spring-scatag | |
---------------------------------------------------------------------------------------------------------
-| 16) Currency converter service binding types |
-| |
-| Binding type Directories Commands URLs |
---------------------------------------------------------------------------------------------------------
-| 16a) SCA | launchers | ant run-currency-converter | |
---------------------------------------------------------------------------------------------------------
-| 16b) CORBA | launchers | ant run-currency-converter-corba | |
-| | clients | ant run-currency-converter-corba | |
---------------------------------------------------------------------------------------------------------
-| 16c) JMS | launchers | ant run-currency-converter-jms | |
-| | clients | ant run-currency-converter-jms | |
---------------------------------------------------------------------------------------------------------
-| 16d) RMI | launchers | ant run-currency-converter-rmi | |
-| | clients | ant run-currency-converter-rmi | |
---------------------------------------------------------------------------------------------------------
-| 16e) WS | launchers | ant run-currency-converter-ws | |
-| | clients | ant run-currency-converter-ws-jaxws | |
---------------------------------------------------------------------------------------------------------
-| 17) Notification reference binding types |
-| |
-| Binding type Directories Commands URLs |
---------------------------------------------------------------------------------------------------------
-| 17a) CORBA | services | ant run-smsgateway-corba | |
-| | launchers | ant run-notification-corba | |
---------------------------------------------------------------------------------------------------------
-| 17b) EJB | services | ant run-smsgateway-ejb | |
-| | launchers | ant run-notification-ejb | |
---------------------------------------------------------------------------------------------------------
-| 17c) JMS | services | ant run-smsgateway-jms | |
-| | launchers | ant run-notification-jms | |
---------------------------------------------------------------------------------------------------------
-| 17d) RMI | services | ant run-smsgateway-rmi | |
-| | launchers | ant run-notification-rmi | |
---------------------------------------------------------------------------------------------------------
-| 17e) WS | services | ant run-smsgateway-jaxws | |
-| | launchers | ant run-notification-ws | |
---------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------------------
+| Scenario Directory Commands URLs |
+-------------------------------------------------------------------------------------------------------------------
+| 1) Jumpstart | launchers | ant run-jumpstart | |
+-------------------------------------------------------------------------------------------------------------------
+| 2) Introducing | launchers | ant run-introducing | |
+-------------------------------------------------------------------------------------------------------------------
+| 3) Introducing | launchers | ant run-introducing-domain | |
+| (distributed) | launchers | ant run-introducing-trips | |
+| | launchers | ant run-introducing-tours | |
+| | launchers | ant run-introducing-client | |
+-------------------------------------------------------------------------------------------------------------------
+| 4) Using SCA | launchers | ant run-usingsca | |
+-------------------------------------------------------------------------------------------------------------------
+| 5) Building blocks | launchers | ant run-buildingblocks | |
+-------------------------------------------------------------------------------------------------------------------
+| 6) Interaction | launchers | ant run-interaction | |
+-------------------------------------------------------------------------------------------------------------------
+| 7) Full application | launchers | ant run-fullapp | http://localhost:8080/scatours |
+-------------------------------------------------------------------------------------------------------------------
+| 8) Full application | launchers | ant run-fullapp-domain | |
+| (distributed) | launchers | ant run-fullapp-nodes | |
+-------------------------------------------------------------------------------------------------------------------
+| 9) Callback | launchers | ant run-payment-java-callback | |
+-------------------------------------------------------------------------------------------------------------------
+| 10) Reference | launchers | ant run-payment-java-reference-pass | |
+| passing | | | |
+-------------------------------------------------------------------------------------------------------------------
+| 11) Help pages | launchers | ant run-help-pages | http://localhost:8085/help/index.html |
+-------------------------------------------------------------------------------------------------------------------
+| 12) Blog feed | launchers | ant run-blog-feed | http://localhost:8090/BlogAtom |
+| | | | http://localhost:8090/BlogRSS |
+| | | | http://localhost:8090/BlogAtomAPIs |
+| | | | http://localhost:8090/BlogRSSAPIs |
+-------------------------------------------------------------------------------------------------------------------
+| 13) Feed logger | launchers | ant run-feed-logger | |
+-------------------------------------------------------------------------------------------------------------------
+| 14) Data binding | launchers | ant run-databinding | |
+-------------------------------------------------------------------------------------------------------------------
+| 15) Policy | launchers | ant run-policy | |
+-------------------------------------------------------------------------------------------------------------------
+| 17) Payment service implementation types |
+| |
+| Impl type Directory Commands URLs |
+-------------------------------------------------------------------------------------------------------------------
+| 17a) BPEL | launchers | ant run-payment-bpel | |
+-------------------------------------------------------------------------------------------------------------------
+| 17b) Groovy | launchers | ant run-payment-groovy | |
+-------------------------------------------------------------------------------------------------------------------
+| 17c) Java | launchers | ant run-payment-java | |
+-------------------------------------------------------------------------------------------------------------------
+| 17d) Java + policy | launchers | ant run-payment-java-policy | |
+-------------------------------------------------------------------------------------------------------------------
+| 17e) Python | launchers | ant run-payment-python | |
+-------------------------------------------------------------------------------------------------------------------
+| 17f) Spring | launchers | ant run-payment-spring | |
+-------------------------------------------------------------------------------------------------------------------
+| 17g) Spring SCA tags | launchers | ant run-payment-spring-scatag | |
+-------------------------------------------------------------------------------------------------------------------
+| 18) Currency converter service binding types |
+| |
+| Binding type Directories Commands URLs |
+-------------------------------------------------------------------------------------------------------------------
+| 18a) SCA | launchers | ant run-currency-converter | |
+-------------------------------------------------------------------------------------------------------------------
+| 18b) CORBA | launchers | ant run-currency-converter-corba | |
+| | clients | ant run-currency-converter-corba | |
+-------------------------------------------------------------------------------------------------------------------
+| 18c) JMS | launchers | ant run-currency-converter-jms | |
+| | clients | ant run-currency-converter-jms | |
+-------------------------------------------------------------------------------------------------------------------
+| 18d) RMI | launchers | ant run-currency-converter-rmi | |
+| | clients | ant run-currency-converter-rmi | |
+-------------------------------------------------------------------------------------------------------------------
+| 18e) WS | launchers | ant run-currency-converter-ws | |
+| | clients | ant run-currency-converter-ws-jaxws | |
+-------------------------------------------------------------------------------------------------------------------
+| 19) Notification reference binding types |
+| |
+| Binding type Directories Commands URLs |
+-------------------------------------------------------------------------------------------------------------------
+| 19a) CORBA | services | ant run-smsgateway-corba | |
+| | launchers | ant run-notification-corba | |
+-------------------------------------------------------------------------------------------------------------------
+| 19b) EJB | services | ant run-smsgateway-ejb | |
+| | launchers | ant run-notification-ejb | |
+-------------------------------------------------------------------------------------------------------------------
+| 19c) JMS | services | ant run-smsgateway-jms | |
+| | launchers | ant run-notification-jms | |
+-------------------------------------------------------------------------------------------------------------------
+| 19d) RMI | services | ant run-smsgateway-rmi | |
+| | launchers | ant run-notification-rmi | |
+-------------------------------------------------------------------------------------------------------------------
+| 19e) WS | services | ant run-smsgateway-jaxws | |
+| | launchers | ant run-notification-ws | |
+-------------------------------------------------------------------------------------------------------------------
The scenarios packaged as web applications can be run using .war files
from the binaries/target/webapps directory as follows:
@@ -666,13 +726,13 @@ Table 4. Running scenarios packaged as web applications
----------------------------------------------------------------------------------------------------------------------------------------------------
| Scenario | Web application file | URL |
----------------------------------------------------------------------------------------------------------------------------------------------------
-| 14) Credit card | scatours-contribution-creditcard-payment-webapp.war | http://localhost:8080/scatours-contribution-creditcard-payment-webapp |
+| 16) Credit card | scatours-contribution-creditcard-payment-webapp.war | http://localhost:8080/scatours-contribution-creditcard-payment-webapp |
| webapp service | | | |
----------------------------------------------------------------------------------------------------------------------------------------------------
-| 16f) Currency | scatours-contribution-currency-jsp.war | http://localhost:8080/scatours-contribution-currency-jsp | |
+| 18f) Currency | scatours-contribution-currency-jsp.war | http://localhost:8080/scatours-contribution-currency-jsp | |
| converter JSP | | |
----------------------------------------------------------------------------------------------------------------------------------------------------
-| 16g) Currency | scatours-contribution-currency-servlet.war | http://localhost:8080/scatours-contribution-currency-servlet | |
+| 18g) Currency | scatours-contribution-currency-servlet.war | http://localhost:8080/scatours-contribution-currency-servlet | |
| converter | | |
| servlet | | |
----------------------------------------------------------------------------------------------------------------------------------------------------
@@ -703,62 +763,62 @@ Cross-reference of contributions to scenarios
The following table shows which contributions are used in which scenarios.
-contributions/blog-feed 8
-contributions/buildingblocks 7
-contributions/buildingblocks-client 7
-contributions/calendar 4
-contributions/car 5, 6
-contributions/common 4, 5, 6, 12
-contributions/creditcard-payment-jaxb 15a, 15b, 15c, 15g, 15h, 15i, 14
-contributions/creditcard-payment-jaxb-policy 5, 6, 12, 15e
-contributions/creditcard-payment-sdo 9
-contributions/creditcard-payment-webapp 14
-contributions/currency 4, 5, 6, 16a, 16b, 16c, 16d, 16e, 16f, 16g
-contributions/currency-corba 16b
-contributions/currency-jms 16c
-contributions/currency-jsp 16f
-contributions/currency-rmi 16d
-contributions/currency-servlet 16g
-contributions/currency-ws 16e
-contributions/databinding-client 9
-contributions/emailgateway 15a, 15b, 15g
-contributions/feed-logger 10
-contributions/flight 4, 5, 6
-contributions/fullapp-bespoketrip 5, 6
-contributions/fullapp-coordination 5, 6
-contributions/fullapp-currency 5, 6
-contributions/fullapp-packagedtrip 5, 6
-contributions/fullapp-shoppingcart 5, 6
-contributions/fullapp-ui 5, 6
+contributions/blog-feed 12
+contributions/buildingblocks 5
+contributions/buildingblocks-client 5
+contributions/calendar 6
+contributions/car 7, 8
+contributions/common 6, 7, 8, 15
+contributions/creditcard-payment-jaxb 17a, 17b, 17c, 17e, 17f, 17g, 16
+contributions/creditcard-payment-jaxb-policy 7, 8, 15, 17d
+contributions/creditcard-payment-sdo 14
+contributions/creditcard-payment-webapp 16
+contributions/currency 6, 7, 8, 18a, 18b, 18c, 18d, 18e, 18f, 18g
+contributions/currency-corba 18b
+contributions/currency-jms 18c
+contributions/currency-jsp 18f
+contributions/currency-rmi 18d
+contributions/currency-servlet 18g
+contributions/currency-ws 18e
+contributions/databinding-client 14
+contributions/emailgateway 17a, 17b, 17e
+contributions/feed-logger 13
+contributions/flight 6, 7, 8
+contributions/fullapp-bespoketrip 7, 8
+contributions/fullapp-coordination 7, 8
+contributions/fullapp-currency 7, 8
+contributions/fullapp-packagedtrip 7, 8
+contributions/fullapp-shoppingcart 7, 8
+contributions/fullapp-ui 7, 8
contributions/help-pages 11
-contributions/hotel 5, 6
-contributions/interaction-client 4
-contributions/interaction-service-remote 4
+contributions/hotel 7, 8
+contributions/interaction-client 6
+contributions/interaction-service-remote 6
contributions/introducing-client 2, 3
contributions/introducing-tours 2, 3
-contributions/introducing-trips 1, 2, 3, 7
-contributions/notification 17a, 17b, 17c, 17d, 17e
-contributions/notification-corba 17a
-contributions/notification-ejb 17b
-contributions/notification-jms 17c
-contributions/notification-rmi 17d
-contributions/notification-ws 17e
-contributions/payment-bpel 15a
-contributions/payment-bpel-process 15a
-contributions/payment-groovy 15b
-contributions/payment-java 9, 15c
-contributions/payment-java-callback 15d
-contributions/payment-java-policy 12, 15e
-contributions/payment-java-reference-pass 15f
-contributions/payment-python 15g
-contributions/payment-spring 15h
-contributions/payment-spring-policy 5, 6
-contributions/payment-spring-scatag 15i
-contributions/policy-client 12
-contributions/scatours 5, 6
-contributions/shoppingcart 4, 5, 6
-contributions/travelcatalog 5, 6
-contributions/trip 5, 6
-contributions/tripbooking 5, 6
-contributions/trip-policy 12
-contributions/using 13
+contributions/introducing-trips 1, 2, 3, 5
+contributions/notification 19a, 19b, 19c, 19d, 19e
+contributions/notification-corba 19a
+contributions/notification-ejb 19b
+contributions/notification-jms 19c
+contributions/notification-rmi 19d
+contributions/notification-ws 19e
+contributions/payment-bpel 17a
+contributions/payment-bpel-process 17a
+contributions/payment-groovy 17b
+contributions/payment-java 14, 17c
+contributions/payment-java-callback 9
+contributions/payment-java-policy 8, 15, 17d
+contributions/payment-java-reference-pass 10
+contributions/payment-python 17e
+contributions/payment-spring 17f
+contributions/payment-spring-policy 7
+contributions/payment-spring-scatag 17g
+contributions/policy-client 15
+contributions/scatours 7, 8
+contributions/shoppingcart 6, 7, 8
+contributions/travelcatalog 7, 8
+contributions/trip 7, 8
+contributions/tripbooking 7, 8
+contributions/trip-policy 15
+contributions/usingsca 4
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/build.xml
index 2f934ad32e..61e01fb824 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/launchers/build.xml
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/build.xml
@@ -73,7 +73,7 @@
<ant dir="payment-groovy" target="${target}"/>
<ant dir="payment-python" target="${target}"/>
<ant dir="policy" target="${target}"/>
- <ant dir="using" target="${target}"/>
+ <ant dir="usingsca" target="${target}"/>
</target>
</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/pom.xml
index caf076997c..f3301b4793 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/launchers/pom.xml
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/pom.xml
@@ -72,7 +72,7 @@
<module>payment-groovy</module>
<module>payment-python</module>
<module>policy</module>
- <module>using</module>
+ <module>usingsca</module>
</modules>
</profile>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/build.xml
new file mode 100644
index 0000000000..0f74d2fdf7
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * 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-launcher-usingsca" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.UsingLauncher" fork="true" failonerror="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/pom.xml
new file mode 100644
index 0000000000..66144b037c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/pom.xml
@@ -0,0 +1,138 @@
+<?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>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-usingsca</artifactId>
+ <name>Apache Tuscany SCA Tours Using SCA Components Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-all</artifactId>
+ <version>5.2.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-web-demo</artifactId>
+ </exclusion>
+ </exclusions>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-jms-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jms-asf</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ejb-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</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.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>${scatours.selfContained}</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.BuildingBlocksLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/src/main/java/scatours/UsingLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/src/main/java/scatours/UsingLauncher.java
new file mode 100644
index 0000000000..bb58e5752c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/src/main/java/scatours/UsingLauncher.java
@@ -0,0 +1,208 @@
+/*
+ * 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.activemq.broker.BrokerService;
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+import static scatours.launcher.LauncherUtil.locate;
+
+public class UsingLauncher {
+
+ public static void main(String[] args) throws Exception {
+ runAirportCodes();
+ runBindings();
+ runCarAutowire();
+ runCarPartner();
+ runCarWireElement();
+ runComplexPropertyElement();
+ runComplexPropertyType();
+ runCurrencyConverter();
+ runMultiDomain();
+ runTripAutowire();
+ runTripBooking();
+ runTripWireElement();
+ }
+
+ private static void runAirportCodes() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("test-clients/airportcodes-client.composite",
+ locate("usingsca"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "AirportCodesClient");
+ client.run();
+
+ node.stop();
+ }
+
+ private static void runBindings() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("test-clients/bookings4-client.composite",
+ locate("usingsca"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "Bookings4Client");
+ client.run();
+
+ node.stop();
+ }
+
+ private static void runCarAutowire() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("test-clients/carbookings3-client.composite",
+ locate("usingsca"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "CarBookings3Client");
+ client.run();
+
+ node.stop();
+ }
+
+ private static void runCarPartner() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("test-clients/carbookings1-client.composite",
+ locate("usingsca"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "CarBookings1Client");
+ client.run();
+
+ node.stop();
+ }
+
+ private static void runCarWireElement() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("test-clients/carbookings2-client.composite",
+ locate("usingsca"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "CarBookings2Client");
+ client.run();
+
+ node.stop();
+ }
+
+ private static void runComplexPropertyElement() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("test-clients/orders1-client.composite",
+ locate("usingsca"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "Orders1Client");
+ client.run();
+
+ node.stop();
+ }
+
+ private static void runComplexPropertyType() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("test-clients/orders2-client.composite",
+ locate("usingsca"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "Orders2Client");
+ client.run();
+
+ node.stop();
+ }
+
+ private static void runCurrencyConverter() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("test-clients/converter-client.composite",
+ locate("usingsca"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "ConverterClient");
+ client.run();
+
+ node.stop();
+ }
+
+ private static void runMultiDomain() throws Exception {
+ SCANode hotelsNode =
+ SCANodeFactory.newInstance().createSCANode("test-clients/hotelsdomain-client.composite",
+ locate("usingsca"));
+ SCANode toursNode =
+ SCANodeFactory.newInstance().createSCANode("test-clients/toursdomain-client.composite",
+ locate("usingsca"));
+
+ hotelsNode.start();
+ toursNode.start();
+
+ Runnable hotelsClient = ((SCAClient)hotelsNode).getService(Runnable.class, "HotelsDomainClient");
+ hotelsClient.run();
+ Runnable toursClient = ((SCAClient)toursNode).getService(Runnable.class, "ToursDomainClient");
+ toursClient.run();
+
+ toursNode.stop();
+ hotelsNode.stop();
+ }
+
+ private static void runTripAutowire() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("test-clients/bookings3-client.composite",
+ locate("usingsca"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "Bookings3Client");
+ client.run();
+
+ node.stop();
+ }
+
+ private static void runTripBooking() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("test-clients/bookings1-client.composite",
+ locate("usingsca"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "Bookings1Client");
+ client.run();
+
+ node.stop();
+ }
+
+ private static void runTripWireElement() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("test-clients/bookings2-client.composite",
+ locate("usingsca"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "Bookings2Client");
+ client.run();
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/src/main/resources/jndi.properties b/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/src/main/resources/jndi.properties
new file mode 100644
index 0000000000..80236a8e6c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/src/main/resources/jndi.properties
@@ -0,0 +1,38 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+# START SNIPPET: jndi
+
+java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
+
+# use the following property to configure the default connector
+java.naming.provider.url = vm://localhost?broker.persistent=false
+
+# use the following property to specify the JNDI name the connection factory
+# should appear as.
+#connectionFactoryNames = connectionFactory, queueConnectionFactory, topicConnectionFactry
+connectionFactoryNames = ConnectionFactory
+
+# register some queues in JNDI using the form
+# queue.[jndiName] = [physicalName]
+queue.Bookings = BookingsRequestQueue
+
+# register some topics in JNDI using the form
+# topic.[jndiName] = [physicalName]
+#topic.MyTopic = example.MyTopic
+
+# END SNIPPET: jndi
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/src/test/java/scatours/UsingTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/src/test/java/scatours/UsingTestCase.java
new file mode 100644
index 0000000000..cd643b6649
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/usingsca/src/test/java/scatours/UsingTestCase.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package scatours;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests the launcher
+ */
+public class UsingTestCase {
+
+ @Before
+ public void startServer() throws Exception {
+ }
+
+ @Test
+ public void testLauncher() throws Exception {
+ UsingLauncher.main(null);
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ }
+}