From ef4943a695cc635c90ef6ab563810583bafe99fa Mon Sep 17 00:00:00 2001 From: nash Date: Sat, 15 May 2010 15:22:00 +0000 Subject: Merge revision r944272 from trunk git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@944664 13f79535-47bb-0310-9956-ffa450edef68 --- .../binaries/bundle/pom.xml | 4 +- .../src/main/resources/build-launchers.xml | 4 +- .../contributions/build.xml | 2 +- .../contributions/pom.xml | 2 +- .../contributions/usingsca/build.xml | 22 + .../contributions/usingsca/pom.xml | 118 ++++ .../java/com/tuscanyscahotels/HotelOffers.java | 26 + .../com/tuscanyscahotels/impl/HotelOffersImpl.java | 35 + .../src/main/java/com/tuscanyscatours/Address.java | 172 +++++ .../java/com/tuscanyscatours/AirportCodes.java | 28 + .../java/com/tuscanyscatours/BillingAddress.java | 174 +++++ .../main/java/com/tuscanyscatours/Bookings.java | 26 + .../src/main/java/com/tuscanyscatours/Cars.java | 27 + .../com/tuscanyscatours/CurrencyConverter.java | 27 + .../java/com/tuscanyscatours/CustomerInfo.java | 27 + .../src/main/java/com/tuscanyscatours/Flights.java | 27 + .../src/main/java/com/tuscanyscatours/Hotels.java | 27 + .../tuscanyscatours/using/impl/CarPartnerImpl.java | 36 + .../tuscanyscatours/using/impl/CarVendorImpl.java | 34 + .../using/impl/CurrencyConverterImpl.java | 45 ++ .../tuscanyscatours/using/impl/CustomerImpl.java | 47 ++ .../using/impl/FlightPartnerImpl.java | 31 + .../using/impl/HotelPartnerImpl.java | 31 + .../using/impl/TripBookingImpl.java | 73 ++ .../client/impl/AirportCodesClientImpl.java | 36 + .../scatours/client/impl/BookingsClientImpl.java | 36 + .../client/impl/BookingsZeroClientImpl.java | 36 + .../client/impl/CarBookingsClientImpl.java | 38 + .../scatours/client/impl/ConverterClientImpl.java | 43 ++ .../client/impl/HotelOffersClientImpl.java | 36 + .../scatours/client/impl/Orders1ClientImpl.java | 36 + .../scatours/client/impl/Orders2ClientImpl.java | 38 + .../usingsca/src/main/resources/address.xsd | 41 ++ .../src/main/resources/airportcodes.composite | 26 + .../src/main/resources/bookings1.composite | 42 ++ .../src/main/resources/bookings2.composite | 42 ++ .../src/main/resources/bookings3.composite | 39 + .../src/main/resources/bookings4.composite | 42 ++ .../src/main/resources/carbookings1.composite | 36 + .../src/main/resources/carbookings2.composite | 37 + .../src/main/resources/carbookings3.composite | 36 + .../src/main/resources/converter.composite | 35 + .../src/main/resources/hotelsdomain.composite | 38 + .../usingsca/src/main/resources/orders1.composite | 37 + .../usingsca/src/main/resources/orders2.composite | 46 ++ .../usingsca/src/main/resources/orders2.xsd | 24 + .../test-clients/airportcodes-client.composite | 33 + .../test-clients/bookings1-client.composite | 33 + .../test-clients/bookings2-client.composite | 33 + .../test-clients/bookings3-client.composite | 33 + .../test-clients/bookings4-client.composite | 35 + .../test-clients/carbookings1-client.composite | 33 + .../test-clients/carbookings2-client.composite | 33 + .../test-clients/carbookings3-client.composite | 33 + .../test-clients/converter-client.composite | 34 + .../test-clients/hotelsdomain-client.composite | 34 + .../test-clients/orders1-client.composite | 33 + .../test-clients/orders2-client.composite | 33 + .../test-clients/toursdomain-client.composite | 33 + .../src/main/resources/toursdomain.composite | 39 + .../test/java/scatours/AirportCodesTestCase.java | 56 ++ .../src/test/java/scatours/BindingsTestCase.java | 56 ++ .../test/java/scatours/CarAutowireTestCase.java | 56 ++ .../src/test/java/scatours/CarPartnerTestCase.java | 56 ++ .../test/java/scatours/CarWireElementTestCase.java | 56 ++ .../scatours/ComplexPropertyElementTestCase.java | 56 ++ .../java/scatours/ComplexPropertyTypeTestCase.java | 56 ++ .../java/scatours/CurrencyConverterTestCase.java | 56 ++ .../test/java/scatours/MultiDomainTestCase.java | 65 ++ .../test/java/scatours/TripAutowireTestCase.java | 56 ++ .../test/java/scatours/TripBookingTestCase.java | 56 ++ .../java/scatours/TripWireElementTestCase.java | 56 ++ .../usingsca/src/test/resources/jndi.properties | 38 + .../distribution/src/main/release/README | 782 +++++++++++---------- .../sca-java-travelsample-1.0/launchers/build.xml | 2 +- .../sca-java-travelsample-1.0/launchers/pom.xml | 2 +- .../launchers/usingsca/build.xml | 35 + .../launchers/usingsca/pom.xml | 138 ++++ .../src/main/java/scatours/UsingLauncher.java | 208 ++++++ .../usingsca/src/main/resources/jndi.properties | 38 + .../src/test/java/scatours/UsingTestCase.java | 42 ++ 81 files changed, 3934 insertions(+), 369 deletions(-) create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/build.xml create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/pom.xml create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscahotels/HotelOffers.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscahotels/impl/HotelOffersImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/Address.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/AirportCodes.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/BillingAddress.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/Bookings.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/Cars.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/CurrencyConverter.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/CustomerInfo.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/Flights.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/Hotels.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CarPartnerImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CarVendorImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CurrencyConverterImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/CustomerImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/FlightPartnerImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/HotelPartnerImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/using/impl/TripBookingImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/scatours/client/impl/AirportCodesClientImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/scatours/client/impl/BookingsClientImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/scatours/client/impl/BookingsZeroClientImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/scatours/client/impl/CarBookingsClientImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/scatours/client/impl/ConverterClientImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/scatours/client/impl/HotelOffersClientImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/scatours/client/impl/Orders1ClientImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/scatours/client/impl/Orders2ClientImpl.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/address.xsd create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/airportcodes.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/bookings1.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/bookings2.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/bookings3.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/bookings4.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/carbookings1.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/carbookings2.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/carbookings3.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/converter.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/hotelsdomain.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/orders1.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/orders2.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/orders2.xsd create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/airportcodes-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/bookings1-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/bookings2-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/bookings3-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/bookings4-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/carbookings1-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/carbookings2-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/carbookings3-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/converter-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/hotelsdomain-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/orders1-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/orders2-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/test-clients/toursdomain-client.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/resources/toursdomain.composite create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/java/scatours/AirportCodesTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/java/scatours/BindingsTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/java/scatours/CarAutowireTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/java/scatours/CarPartnerTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/java/scatours/CarWireElementTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/java/scatours/ComplexPropertyElementTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/java/scatours/ComplexPropertyTypeTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/java/scatours/CurrencyConverterTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/java/scatours/MultiDomainTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/java/scatours/TripAutowireTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/java/scatours/TripBookingTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/java/scatours/TripWireElementTestCase.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/test/resources/jndi.properties create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/launchers/usingsca/build.xml create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/launchers/usingsca/pom.xml create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/launchers/usingsca/src/main/java/scatours/UsingLauncher.java create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/launchers/usingsca/src/main/resources/jndi.properties create mode 100644 sca-java-1.x/branches/sca-java-travelsample-1.0/launchers/usingsca/src/test/java/scatours/UsingTestCase.java diff --git a/sca-java-1.x/branches/sca-java-travelsample-1.0/binaries/bundle/pom.xml b/sca-java-1.x/branches/sca-java-travelsample-1.0/binaries/bundle/pom.xml index 7dd0b3fc1a..94bdfd5a81 100644 --- a/sca-java-1.x/branches/sca-java-travelsample-1.0/binaries/bundle/pom.xml +++ b/sca-java-1.x/branches/sca-java-travelsample-1.0/binaries/bundle/pom.xml @@ -347,7 +347,7 @@ org.apache.tuscany.sca - scatours-contribution-using + scatours-contribution-usingsca ${pom.version} @@ -522,7 +522,7 @@ org.apache.tuscany.sca - scatours-launcher-using + scatours-launcher-usingsca ${pom.version} diff --git a/sca-java-1.x/branches/sca-java-travelsample-1.0/binaries/src/main/resources/build-launchers.xml b/sca-java-1.x/branches/sca-java-travelsample-1.0/binaries/src/main/resources/build-launchers.xml index ab54f9b7d2..4bdd8b580d 100644 --- a/sca-java-1.x/branches/sca-java-travelsample-1.0/binaries/src/main/resources/build-launchers.xml +++ b/sca-java-1.x/branches/sca-java-travelsample-1.0/binaries/src/main/resources/build-launchers.xml @@ -317,10 +317,10 @@ - + - + diff --git a/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/build.xml b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/build.xml index 126fcfe04d..b2fcc9d3b5 100644 --- a/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/build.xml +++ b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/build.xml @@ -96,7 +96,7 @@ - + diff --git a/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/pom.xml b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/pom.xml index f6475d0db8..212068d1f9 100644 --- a/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/pom.xml +++ b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/pom.xml @@ -95,7 +95,7 @@ payment-python policy-client trip-policy - using + usingsca diff --git a/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/build.xml b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/build.xml new file mode 100644 index 0000000000..9f5fa9ed69 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/build.xml @@ -0,0 +1,22 @@ + + + + + diff --git a/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/pom.xml b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/pom.xml new file mode 100644 index 0000000000..cb759ac7c9 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/pom.xml @@ -0,0 +1,118 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + scatours + 1.0-SNAPSHOT + ../../pom.xml + 1.0-SNAPSHOT + scatours-contribution-usingsca + Apache Tuscany SCA Tours Using SCA Components Contribution + + + + org.apache.tuscany.sca + tuscany-sca-api + ${tuscany.version} + + + + org.apache.tuscany.sca + tuscany-implementation-java-runtime + ${tuscany.version} + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ws-axis2 + ${tuscany.version} + runtime + + + + org.apache.tuscany.sca + tuscany-binding-jms-runtime + ${tuscany.version} + runtime + + + + org.apache.tuscany.sca + tuscany-binding-ejb-runtime + ${tuscany.version} + runtime + + + + org.apache.tuscany.sca + tuscany-node-api + ${tuscany.version} + test + + + + org.apache.tuscany.sca + tuscany-node-impl + ${tuscany.version} + test + + + + org.apache.tuscany.sca + tuscany-host-jms-asf + ${tuscany.version} + test + + + + org.apache.activemq + activemq-all + 5.2.0 + + + org.apache.activemq + activemq-web-demo + + + test + + + + org.apache.tuscany.sca + tuscany-host-jetty + ${tuscany.version} + test + + + + junit + junit + 4.5 + test + + + + + ${artifactId} + + diff --git a/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscahotels/HotelOffers.java b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscahotels/HotelOffers.java new file mode 100644 index 0000000000..8abc5af687 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscahotels/HotelOffers.java @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.tuscanyscahotels; + +import org.osoa.sca.annotations.Remotable; + +@Remotable +public interface HotelOffers { + String bookTodaysSpecial(); +} diff --git a/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscahotels/impl/HotelOffersImpl.java b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscahotels/impl/HotelOffersImpl.java new file mode 100644 index 0000000000..fccef2beed --- /dev/null +++ b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscahotels/impl/HotelOffersImpl.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.tuscanyscahotels.impl; + +import java.util.Date; +import org.osoa.sca.annotations.Reference; + +import com.tuscanyscahotels.HotelOffers; +import com.tuscanyscatours.Hotels; + +public class HotelOffersImpl implements HotelOffers { + + @Reference + protected Hotels hotels; + + public String bookTodaysSpecial() { + return hotels.bookHotel("LBH", new Date(), 3, "STD"); + } +} diff --git a/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/Address.java b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/Address.java new file mode 100644 index 0000000000..614da1e2ad --- /dev/null +++ b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/Address.java @@ -0,0 +1,172 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 +// See http://java.sun.com/xml/jaxb +// 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; + + +/** + *

Java class for Address complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="Address">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="street" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="city" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="state" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="zip" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@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/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/AirportCodes.java b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/AirportCodes.java new file mode 100644 index 0000000000..577f22250a --- /dev/null +++ b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/AirportCodes.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.tuscanyscatours; + +public class AirportCodes { + public String getAirport(String code) { + if ("AAA".equals(code)) return "Anaa"; + else if ("AAB".equals(code)) return "Arrabury"; + // other airport codes and cities would follow here + else return null; + } +} diff --git a/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/BillingAddress.java b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/BillingAddress.java new file mode 100644 index 0000000000..4687cf1116 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-travelsample-1.0/contributions/usingsca/src/main/java/com/tuscanyscatours/BillingAddress.java @@ -0,0 +1,174 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 +// See http://java.sun.com/xml/jaxb +// 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; + + +/** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

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