summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/trunk
diff options
context:
space:
mode:
authornash <nash@13f79535-47bb-0310-9956-ffa450edef68>2010-03-29 07:33:21 +0000
committernash <nash@13f79535-47bb-0310-9956-ffa450edef68>2010-03-29 07:33:21 +0000
commit10483772ad356ee789f109b50ef37bf73f2c69f9 (patch)
tree7db34775e588fcfe8b20825a369d1fa8fa5efffe /sca-java-1.x/trunk
parent1ce560e27518c22115478a672d033fc810f8cafe (diff)
Add complete "using" contribution and "using" launcher
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@928619 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/trunk')
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/build.xml1
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/pom.xml62
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscahotels/HotelOffers.java26
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscahotels/impl/HotelOffersImpl.java35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/Address.java172
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/AirportCodes.java18
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/BillingAddress.java174
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/CurrencyConverter.java19
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/CustomerInfo.java27
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CarPartnerImpl.java2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CarVendorImpl.java2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CurrencyConverterImpl.java37
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CustomerImpl.java47
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/TripBookingImpl.java26
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/scatours/client/impl/AirportCodesClientImpl.java36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/scatours/client/impl/BookingsClientImpl.java36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/scatours/client/impl/BookingsZeroClientImpl.java36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/scatours/client/impl/CarBookingsClientImpl.java38
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/scatours/client/impl/ConverterClientImpl.java43
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/scatours/client/impl/HotelOffersClientImpl.java36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/scatours/client/impl/Orders1ClientImpl.java36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/scatours/client/impl/Orders2ClientImpl.java38
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/address.xsd41
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/airportcodes.composite26
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/bookings1.composite42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/bookings2.composite43
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/bookings3.composite42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/bookings4.composite42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/carbookings1.composite37
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/carbookings2.composite37
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/carbookings3.composite36
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/converter.composite35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/hotelsdomain.composite38
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/orders1.composite37
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/orders2.composite46
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/orders2.xsd24
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/airportcodes-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/bookings1-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/bookings2-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/bookings3-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/bookings4-client.composite35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/carbookings1-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/carbookings2-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/carbookings3-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/converter-client.composite34
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/hotelsdomain-client.composite34
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/orders1-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/orders2-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/test-clients/toursdomain-client.composite33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/toursdomain.composite39
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/AirportCodesTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/BindingsTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/CarAutowireTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/CarPartnerTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/CarWireElementTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/ComplexPropertyElementTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/ComplexPropertyTypeTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/CurrencyConverterTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/MultiDomainTestCase.java65
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/TripAutowireTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/TripBookingTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/TripWireElementTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/resources/jndi.properties38
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/distribution/bundle/pom.xml10
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/distribution/src/main/resources/build-launchers.xml6
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/build.xml1
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/using/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/using/pom.xml138
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/using/src/main/java/scatours/UsingLauncher.java208
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/using/src/main/resources/jndi.properties38
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/using/src/test/java/scatours/UsingTestCase.java42
71 files changed, 3118 insertions, 24 deletions
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 a30dd29ec9..0b250301c5 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/contributions/build.xml
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/build.xml
@@ -92,6 +92,7 @@
<ant dir="tripbooking" target="${target}"/> <!--needed by scatours-->
<ant dir="scatours" target="${target}"/>
<ant dir="trip" target="${target}"/>
+ <ant dir="using" target="${target}"/>
</target>
</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/pom.xml
index f2c7343eb7..42aea70182 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/pom.xml
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/pom.xml
@@ -43,6 +43,68 @@
</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>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscahotels/HotelOffers.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/com/tuscanyscahotels/impl/HotelOffersImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/com/tuscanyscatours/Address.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/com/tuscanyscatours/AirportCodes.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/AirportCodes.java
index 54826a4254..577f22250a 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/AirportCodes.java
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/AirportCodes.java
@@ -1,3 +1,21 @@
+/*
+ * 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 {
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/BillingAddress.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/com/tuscanyscatours/CurrencyConverter.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/CurrencyConverter.java
index 88db57a35f..9c201813e1 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/CurrencyConverter.java
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/CurrencyConverter.java
@@ -1,4 +1,23 @@
+/*
+ * 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;
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/CustomerInfo.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/com/tuscanyscatours/using/impl/CarPartnerImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CarPartnerImpl.java
index 3482090405..687fc49230 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CarPartnerImpl.java
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CarPartnerImpl.java
@@ -29,7 +29,7 @@ public class CarPartnerImpl implements 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/using/src/main/java/com/tuscanyscatours/using/impl/CarVendorImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CarVendorImpl.java
index 7b440467d2..f8644bab2c 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CarVendorImpl.java
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CarVendorImpl.java
@@ -23,6 +23,8 @@ 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 +
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CurrencyConverterImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CurrencyConverterImpl.java
index 55ed3e7c55..3749221aa9 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CurrencyConverterImpl.java
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/CurrencyConverterImpl.java
@@ -1,4 +1,23 @@
+/*
+ * 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;
@@ -13,22 +32,14 @@ public class CurrencyConverterImpl implements CurrencyConverter {
public BigDecimal convert(BigDecimal amount) {
return amount.multiply(getRate(toCurrency))
- .divide(getRate(fromCurrency));
+ .divide(getRate(fromCurrency), 2, 0);
}
private BigDecimal getRate(String currency) {
- lastRate = lastRate.add(increment); // test code
- return lastRate; // test code A
- }
-
- private BigDecimal lastRate; // test code
- private BigDecimal increment; // test code
-
- CurrencyConverterImpl() { // test code
- try {
- lastRate = new BigDecimal("1.1");
- increment = new BigDecimal("0.2");
- } catch (Exception e) {
+ 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/using/src/main/java/com/tuscanyscatours/using/impl/CustomerImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/com/tuscanyscatours/using/impl/TripBookingImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/TripBookingImpl.java
index 670d14b3d7..9d81a0d4ed 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/TripBookingImpl.java
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/com/tuscanyscatours/using/impl/TripBookingImpl.java
@@ -29,7 +29,7 @@ import com.tuscanyscatours.Hotels;
public class TripBookingImpl implements Bookings {
- TripBookingImpl(@Reference(name="cars") Cars cars) {
+ public TripBookingImpl(@Reference(name="cars") Cars cars) {
this.cars = cars;
}
@@ -46,16 +46,28 @@ public class TripBookingImpl implements Bookings {
}
public String newBooking(String trip, int people) {
- Date startDate = null;
+ /* 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("07/07/2012");
+ startDate = DateFormat.getInstance().parse("7 Jul, 2012");
} catch (Exception e) {
+ e.printStackTrace();
}
+ */
- cars.bookCar(startDate, 7, "B");
- flights.bookFlight("AA123", startDate, people, "Y");
- hotels.bookHotel("DBH", startDate, 7, "SUP");
+ if (people > 0) {
+ cars.bookCar(startDate, 7, "B");
+ flights.bookFlight("AA123", startDate, people, "Y");
+ hotels.bookHotel("DBH", startDate, 7, "SUP");
- return "HW3546";
+ return "HW3546";
+
+ } else {
+ return "NONE";
+ }
}
}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/java/scatours/client/impl/AirportCodesClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/scatours/client/impl/BookingsClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/scatours/client/impl/BookingsZeroClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/scatours/client/impl/CarBookingsClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/scatours/client/impl/ConverterClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/scatours/client/impl/HotelOffersClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/scatours/client/impl/Orders1ClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/java/scatours/client/impl/Orders2ClientImpl.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/address.xsd b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/address.xsd
new file mode 100644
index 0000000000..116110f1f3
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/main/resources/airportcodes.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/airportcodes.composite
new file mode 100644
index 0000000000..e68fc732b1
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/main/resources/bookings1.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/bookings1.composite
new file mode 100644
index 0000000000..783bc3c6c7
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/main/resources/bookings2.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/bookings2.composite
new file mode 100644
index 0000000000..35b5eff4a1
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/bookings2.composite
@@ -0,0 +1,43 @@
+<?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" />
+ <reference name="hotels" />
+ </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/using/src/main/resources/bookings3.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/bookings3.composite
new file mode 100644
index 0000000000..8cb7b94010
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/bookings3.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="bookings3">
+ <component name="TripBooking" autowire="true">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.TripBookingImpl" />
+ <reference name="cars" />
+ <reference name="flights" />
+ <reference name="hotels" />
+ </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/using/src/main/resources/bookings4.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/bookings4.composite
new file mode 100644
index 0000000000..acb6e269a4
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/main/resources/carbookings1.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/carbookings1.composite
new file mode 100644
index 0000000000..16c8b24684
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/carbookings1.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="carbookings1">
+ <component name="CarPartner">
+ <implementation.java
+ class="com.tuscanyscatours.using.impl.CarPartnerImpl" />
+ <reference name="cars" target="JoesCars KensCars" />
+ <reference name="luxuryCars" />
+ </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/using/src/main/resources/carbookings2.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/carbookings2.composite
new file mode 100644
index 0000000000..af01006b6f
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/main/resources/carbookings3.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/carbookings3.composite
new file mode 100644
index 0000000000..f1d3a81d42
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/main/resources/converter.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/converter.composite
new file mode 100644
index 0000000000..c0a1d32e11
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/main/resources/hotelsdomain.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/hotelsdomain.composite
new file mode 100644
index 0000000000..1db3586513
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/main/resources/orders1.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/orders1.composite
new file mode 100644
index 0000000000..ac2647b387
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/main/resources/orders2.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/orders2.composite
new file mode 100644
index 0000000000..d0489bbd21
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/main/resources/orders2.xsd b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/orders2.xsd
new file mode 100644
index 0000000000..db6ee8766e
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/main/resources/test-clients/airportcodes-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/test-clients/bookings1-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/test-clients/bookings2-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/test-clients/bookings3-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/test-clients/bookings4-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/test-clients/carbookings1-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/test-clients/carbookings2-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/test-clients/carbookings3-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/test-clients/converter-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/test-clients/hotelsdomain-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/test-clients/orders1-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/test-clients/orders2-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/test-clients/toursdomain-client.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/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/using/src/main/resources/toursdomain.composite b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/main/resources/toursdomain.composite
new file mode 100644
index 0000000000..c04fb897d7
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/java/scatours/AirportCodesTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/AirportCodesTestCase.java
new file mode 100644
index 0000000000..53d9029e7f
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/java/scatours/BindingsTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/BindingsTestCase.java
new file mode 100644
index 0000000000..2daa59245e
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/java/scatours/CarAutowireTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/CarAutowireTestCase.java
new file mode 100644
index 0000000000..bf20e7cae1
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/java/scatours/CarPartnerTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/CarPartnerTestCase.java
new file mode 100644
index 0000000000..18e43e7a8b
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/java/scatours/CarWireElementTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/CarWireElementTestCase.java
new file mode 100644
index 0000000000..997460e0ea
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/java/scatours/ComplexPropertyElementTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/ComplexPropertyElementTestCase.java
new file mode 100644
index 0000000000..177b4b2355
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/java/scatours/ComplexPropertyTypeTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/ComplexPropertyTypeTestCase.java
new file mode 100644
index 0000000000..168d8f3273
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/java/scatours/CurrencyConverterTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/CurrencyConverterTestCase.java
new file mode 100644
index 0000000000..dec2ae9976
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/java/scatours/MultiDomainTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/MultiDomainTestCase.java
new file mode 100644
index 0000000000..a7028f6d8c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/java/scatours/TripAutowireTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/TripAutowireTestCase.java
new file mode 100644
index 0000000000..a6f1df98ef
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/java/scatours/TripBookingTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/TripBookingTestCase.java
new file mode 100644
index 0000000000..d08d176464
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/java/scatours/TripWireElementTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/java/scatours/TripWireElementTestCase.java
new file mode 100644
index 0000000000..36811a98d8
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/using/src/test/resources/jndi.properties b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/src/test/resources/jndi.properties
new file mode 100644
index 0000000000..80236a8e6c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/contributions/using/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/bundle/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/distribution/bundle/pom.xml
index c4a141109e..2e2b96c4c3 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/distribution/bundle/pom.xml
+++ b/sca-java-1.x/trunk/tutorials/travelsample/distribution/bundle/pom.xml
@@ -330,6 +330,11 @@
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-contribution-using</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
<artifactId>scatours-launcher-blog-feed</artifactId>
<version>${pom.version}</version>
</dependency>
@@ -485,6 +490,11 @@
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-launcher-using</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
<artifactId>scatours-service-creditcard-payment-jaxws</artifactId>
<version>${pom.version}</version>
</dependency>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/distribution/src/main/resources/build-launchers.xml b/sca-java-1.x/trunk/tutorials/travelsample/distribution/src/main/resources/build-launchers.xml
index 5bd4931b40..694a20700a 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/distribution/src/main/resources/build-launchers.xml
+++ b/sca-java-1.x/trunk/tutorials/travelsample/distribution/src/main/resources/build-launchers.xml
@@ -290,10 +290,10 @@
</java>
</target>
- <target name="run-policy">
- <java classname="scatours.PolicyLauncher" fork="true" failonerror="true">
+ <target name="run-using">
+ <java classname="scatours.UsingLauncher" fork="true" failonerror="true">
<classpath>
- <pathelement location="scatours-launcher-policy.jar"/>
+ <pathelement location="scatours-launcher-using.jar"/>
<path refid="scatours.tuscany-manifest"/>
</classpath>
</java>
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 fd11d4c28a..1fa1387dd2 100644
--- a/sca-java-1.x/trunk/tutorials/travelsample/launchers/build.xml
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/build.xml
@@ -64,6 +64,7 @@
<ant dir="notification-rmi" target="${target}"/>
<ant dir="notification-ws" target="${target}"/>
<ant dir="policy" target="${target}"/>
+ <ant dir="using" target="${target}"/>
</target>
</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/using/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/using/build.xml
new file mode 100644
index 0000000000..8fb4c92ef2
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/using/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-using" 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/using/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/using/pom.xml
new file mode 100644
index 0000000000..09e7647fc0
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/using/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-using</artifactId>
+ <name>Apache Tuscany SCA Tours Using 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/using/src/main/java/scatours/UsingLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/using/src/main/java/scatours/UsingLauncher.java
new file mode 100644
index 0000000000..59a2ea427f
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/using/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("using"));
+
+ 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("using"));
+
+ 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("using"));
+
+ 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("using"));
+
+ 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("using"));
+
+ 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("using"));
+
+ 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("using"));
+
+ 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("using"));
+
+ 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("using"));
+ SCANode toursNode =
+ SCANodeFactory.newInstance().createSCANode("test-clients/toursdomain-client.composite",
+ locate("using"));
+
+ 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("using"));
+
+ 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("using"));
+
+ 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("using"));
+
+ 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/using/src/main/resources/jndi.properties b/sca-java-1.x/trunk/tutorials/travelsample/launchers/using/src/main/resources/jndi.properties
new file mode 100644
index 0000000000..80236a8e6c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/using/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/using/src/test/java/scatours/UsingTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/using/src/test/java/scatours/UsingTestCase.java
new file mode 100644
index 0000000000..cd643b6649
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/using/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 {
+ }
+}