summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/trunk/tutorials/travelsample/launchers
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2010-01-24 14:24:14 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2010-01-24 14:24:14 +0000
commit3d3670cdd4ee1aaf6d3e22fd7de7fb362c9eefba (patch)
treeb62fd62bad2d3713c7d2b331598c092413bd96c6 /sca-java-1.x/trunk/tutorials/travelsample/launchers
parent878131a50cf9651fc8de402420b8c94696328a3c (diff)
Copy into trunk from sandbox
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@902572 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/blog-feed/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/blog-feed/pom.xml110
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/blog-feed/src/main/java/scatours/BlogFeedLauncher.java50
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/build.xml69
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/pom.xml130
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/src/main/java/scatours/BuildingBlocksLauncher.java92
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/src/main/resources/jndi.properties39
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/src/test/java/scatours/BuildingBlocksTestCase.java42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/build.xml51
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/pom.xml104
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/src/main/java/scatours/CurrencyConverterCORBALauncher.java52
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/src/main/java/scatours/currencyconverter/CurrencyConverter.java33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/build.xml54
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/pom.xml115
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/src/main/java/scatours/CurrencyConverterJMSLauncher.java45
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/src/main/java/scatours/JMSBrokerLauncher.java38
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/build.xml42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/pom.xml111
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/src/main/java/com/tuscanyscatours/currencyconverter/CurrencyConverter.java33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/src/main/java/scatours/CurrencyConverterRMILauncher.java52
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/build.xml42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/pom.xml105
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/src/main/java/scatours/CurrencyConverterWSLauncher.java53
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/src/main/java/scatours/currencyconverter/CurrencyConverter.java33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/pom.xml90
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/src/main/java/scatours/CurrencyConverterLauncher.java48
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/src/main/java/scatours/currencyconverter/CurrencyConverter.java33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/databinding/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/databinding/pom.xml169
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/databinding/src/main/java/scatours/DatabindingLauncher.java45
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/pom.xml111
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/src/main/java/scatours/FeedLoggerLauncher.java44
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/src/main/java/scatours/feedlogger/FeedLogger.java30
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/build.xml54
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/pom.xml115
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/src/main/java/scatours/FullAppDomainAPILauncher.java42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/src/main/java/scatours/FullAppDomainLauncher.java30
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-nodes/build.xml37
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-nodes/pom.xml212
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-nodes/src/main/java/scatours/FullAppNodesLauncher.java78
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp/pom.xml208
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp/src/main/java/scatours/FullAppLauncher.java67
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/help-pages/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/help-pages/pom.xml104
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/help-pages/src/main/java/scatours/HelpPagesLauncher.java44
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/pom.xml104
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/src/main/java/scatours/InteractionLauncher.java74
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/src/test/java/scatours/InteractionTestCase.java42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-client/build.xml44
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-client/pom.xml93
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-client/src/main/java/scatours/IntroducingClientLauncher.java38
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/build.xml54
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/pom.xml80
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/src/main/java/scatours/IntroducingDomainAPILauncher.java42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/src/main/java/scatours/IntroducingDomainLauncher.java30
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-tours/build.xml33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-tours/pom.xml58
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-tours/src/main/java/scatours/IntroducingToursLauncher.java30
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-trips/build.xml33
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-trips/pom.xml58
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-trips/src/main/java/scatours/IntroducingTripsLauncher.java30
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/pom.xml90
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/src/main/java/scatours/IntroducingLauncher.java44
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/src/test/java/scatours/IntroducingTestCase.java62
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/pom.xml90
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/main/java/scatours/JumpstartLauncher.java44
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/main/java/scatours/Trips.java26
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/test/java/scatours/JumpstartTestCase.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/build.xml53
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/pom.xml104
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/src/main/java/scatours/NotificationCORBALauncher.java54
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/src/main/java/scatours/notification/Notification.java26
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/build.xml42
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/pom.xml110
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/src/main/java/scatours/NotificationEJBLauncher.java59
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/src/main/java/scatours/notification/Notification.java26
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/build.xml45
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/pom.xml148
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/src/main/java/scatours/NotificationJMSLauncher.java56
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/src/main/java/scatours/notification/Notification.java26
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/build.xml41
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/pom.xml104
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/src/main/java/com/tuscanyscatours/smsgateway/SMSGateway.java30
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/src/main/java/scatours/NotificationRMILauncher.java54
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/src/main/java/scatours/notification/Notification.java26
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/build.xml41
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/pom.xml104
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/src/main/java/scatours/NotificationWSLauncher.java54
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/src/main/java/scatours/notification/Notification.java26
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/pom.xml136
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java62
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java82
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/Payment.java43
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/PaymentService.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/package-info.java2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/scatours/payment/PaymentLauncher.java48
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/pom.xml111
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/EmailGateway.java40
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/EmailGatewayService.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/EmailType.java118
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/ObjectFactory.java79
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/SendEmailResponseType.java62
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/SendEmailType.java62
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/package-info.java2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java62
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java82
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/Payment.java43
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/PaymentService.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/package-info.java2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/scatours/payment/PaymentLauncher.java47
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/pom.xml104
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java62
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java82
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/Payment.java43
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/PaymentService.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/package-info.java2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/scatours/payment/PaymentLauncher.java47
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/pom.xml104
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java62
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java82
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/Payment.java43
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/PaymentService.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/package-info.java2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/scatours/payment/PaymentLauncher.java47
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/pom.xml118
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java62
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java82
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/Payment.java43
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/PaymentService.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/package-info.java2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/scatours/payment/PaymentLauncher.java47
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/pom.xml118
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java62
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java82
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/Payment.java43
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/PaymentService.java71
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/package-info.java2
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/scatours/payment/PaymentLauncher.java47
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/build.xml35
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/maven-eclipse.xml8
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/pom.xml111
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/src/main/java/scatours/PolicyLauncher.java49
-rw-r--r--sca-java-1.x/trunk/tutorials/travelsample/launchers/pom.xml77
162 files changed, 9774 insertions, 0 deletions
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/blog-feed/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/blog-feed/build.xml
new file mode 100644
index 0000000000..c708dabbe5
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/blog-feed/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-blog-feed" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.BlogFeedLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/blog-feed/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/blog-feed/pom.xml
new file mode 100644
index 0000000000..7df381d2e1
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/blog-feed/pom.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-blog-feed</artifactId>
+ <name>Apache Tuscany SCA Tours Blog Feed Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-atom-abdera</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-rss-rome</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.BlogFeedLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/blog-feed/src/main/java/scatours/BlogFeedLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/blog-feed/src/main/java/scatours/BlogFeedLauncher.java
new file mode 100644
index 0000000000..8dc6956986
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/blog-feed/src/main/java/scatours/BlogFeedLauncher.java
@@ -0,0 +1,50 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+public class BlogFeedLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution feedContribution = locate("blog-feed");
+
+ SCANode node = SCANodeFactory.newInstance().createSCANode("blog-feed.composite", feedContribution);
+ node.start();
+
+ System.out.println("Node started - Press enter to shutdown.");
+ System.out.println();
+ System.out.println("To view the blog feed, use your Web browser to view:");
+ System.out.println(" Feeds using Tuscany Data APIs");
+ System.out.println(" http://localhost:8090/BlogAtom");
+ System.out.println(" http://localhost:8090/BlogRSS");
+ System.out.println(" Feeds using Atom APIs");
+ System.out.println(" http://localhost:8090/BlogAtomAPIs");
+ System.out.println(" Feeds using RSS APIs");
+ System.out.println(" http://localhost:8090/BlogRSSAPIs");
+ System.out.println();
+ System.in.read();
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/build.xml
new file mode 100644
index 0000000000..fd11d4c28a
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/build.xml
@@ -0,0 +1,69 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launchers" default="compile">
+
+ <target name="compile">
+ <antcall target="allsubdirs">
+ <param name="target" value="compile"/>
+ </antcall>
+ </target>
+
+ <target name="test">
+ <antcall target="allsubdirs">
+ <param name="target" value="test"/>
+ </antcall>
+ </target>
+
+ <target name="clean">
+ <antcall target="allsubdirs">
+ <param name="target" value="clean"/>
+ </antcall>
+ </target>
+
+ <target name="allsubdirs">
+ <ant dir="blog-feed" target="${target}"/>
+ <ant dir="buildingblocks" target="${target}"/>
+ <ant dir="currency-converter" target="${target}"/>
+ <ant dir="currency-converter-corba" target="${target}"/>
+ <ant dir="currency-converter-jms" target="${target}"/>
+ <ant dir="currency-converter-rmi" target="${target}"/>
+ <ant dir="currency-converter-ws" target="${target}"/>
+ <ant dir="databinding" target="${target}"/>
+ <ant dir="feed-logger" target="${target}"/>
+ <ant dir="fullapp" target="${target}"/>
+ <ant dir="fullapp-domain" target="${target}"/>
+ <ant dir="fullapp-nodes" target="${target}"/>
+ <ant dir="help-pages" target="${target}"/>
+ <ant dir="interaction" target="${target}"/>
+ <ant dir="introducing" target="${target}"/>
+ <ant dir="introducing-client" target="${target}"/>
+ <ant dir="introducing-domain" target="${target}"/>
+ <ant dir="introducing-tours" target="${target}"/>
+ <ant dir="introducing-trips" target="${target}"/>
+ <ant dir="jumpstart" target="${target}"/>
+ <ant dir="notification-corba" target="${target}"/>
+ <ant dir="notification-ejb" target="${target}"/>
+ <ant dir="notification-jms" target="${target}"/>
+ <ant dir="notification-rmi" target="${target}"/>
+ <ant dir="notification-ws" target="${target}"/>
+ <ant dir="policy" target="${target}"/>
+ </target>
+
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/build.xml
new file mode 100644
index 0000000000..127afa94d7
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-buildingblocks" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.BuildingBlocksLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/pom.xml
new file mode 100644
index 0000000000..81c13098f4
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/pom.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-buildingblocks</artifactId>
+ <name>Apache Tuscany SCA Tours Building Blocks Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-all</artifactId>
+ <version>5.2.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-web-demo</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-jms-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jms-asf</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.BuildingBlocksLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/src/main/java/scatours/BuildingBlocksLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/src/main/java/scatours/BuildingBlocksLauncher.java
new file mode 100644
index 0000000000..aaca0f44fa
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/src/main/java/scatours/BuildingBlocksLauncher.java
@@ -0,0 +1,92 @@
+/*
+ * 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 BuildingBlocksLauncher {
+
+ public static void main(String[] args) throws Exception {
+ runImpl();
+ runImplInclude();
+ runAppl();
+ }
+
+ private static void runImpl() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("tours-impl-client.composite",
+ locate("buildingblocks"),
+ locate("buildingblocks-client"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "ToursClient/Runnable");
+ client.run();
+
+ node.stop();
+ }
+
+ private static void runImplInclude() throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("tours-impl-include-client.composite",
+ locate("introducing-trips"),
+ locate("buildingblocks"),
+ locate("buildingblocks-client"));
+
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "ToursClient/Runnable");
+ client.run();
+
+ node.stop();
+ }
+
+ private static void runAppl() throws Exception {
+ final BrokerService jmsBroker = new BrokerService();
+ jmsBroker.setPersistent(false);
+ jmsBroker.setUseJmx(false);
+ jmsBroker.addConnector("tcp://localhost:61619");
+
+ SCANode node1 =
+ SCANodeFactory.newInstance().createSCANode("tours-appl.composite",
+ locate("introducing-trips"),
+ locate("buildingblocks"));
+
+ SCANode node2 =
+ SCANodeFactory.newInstance().createSCANode("tours-appl-client.composite",
+ locate("buildingblocks-client"));
+
+ jmsBroker.start();
+ node1.start();
+ node2.start();
+
+ Runnable client = ((SCAClient)node2).getService(Runnable.class, "ApplClient/Runnable");
+ client.run();
+
+ node2.stop();
+ node1.stop();
+ jmsBroker.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/src/main/resources/jndi.properties b/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/src/main/resources/jndi.properties
new file mode 100644
index 0000000000..88270fd1e0
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/src/main/resources/jndi.properties
@@ -0,0 +1,39 @@
+## ---------------------------------------------------------------------------
+## 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.BookTrip = BookTripRequestQueue
+queue.Checkout = CheckoutRequestQueue
+
+# register some topics in JNDI using the form
+# topic.[jndiName] = [physicalName]
+#topic.MyTopic = example.MyTopic
+
+# END SNIPPET: jndi
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/src/test/java/scatours/BuildingBlocksTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/src/test/java/scatours/BuildingBlocksTestCase.java
new file mode 100644
index 0000000000..55943e2f45
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/buildingblocks/src/test/java/scatours/BuildingBlocksTestCase.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 BuildingBlocksTestCase {
+
+ @Before
+ public void startServer() throws Exception {
+ }
+
+ @Test
+ public void testLauncher() throws Exception {
+ BuildingBlocksLauncher.main(null);
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/build.xml
new file mode 100644
index 0000000000..20c4a3c11c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/build.xml
@@ -0,0 +1,51 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-currency-converter-corba" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <!-- After starting the SCA CORBA service by invoking the "run" target below,
+ the CORBA Java implementation of the currency converter client should be
+ run in another process using the "run-client" target. -->
+ <target name="run-client">
+ <ant dir="../../clients/currency-converter-corba" target="run"/>
+ </target>
+
+ <!-- When running this sample, the tuscany-host-corba-jse and
+ tuscany-host-corba-jse-tns jars need to be present on the classpath.
+ These aren't included in tuscany-sca-manifest so they need to be
+ added to the classpath explicitly. For some reason these jars aren't
+ part of the Tuscany binary distribution so you'll need to download
+ them from the maven repository http://repo1.maven.org/maven2 and set
+ the TUSCANY_HOST_CORBA environment variable to the name of your local
+ download directory. -->
+ <target name="run">
+ <java classname="scatours.CurrencyConverterCORBALauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ <fileset dir="${env.TUSCANY_HOST_CORBA}"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/pom.xml
new file mode 100644
index 0000000000..bf82181763
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/pom.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-currency-converter-corba</artifactId>
+ <name>Apache Tuscany SCA Tours Currency Converter CORBA Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-corba-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-corba-jse-tns</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.CurrencyConverterCORBALauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/src/main/java/scatours/CurrencyConverterCORBALauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/src/main/java/scatours/CurrencyConverterCORBALauncher.java
new file mode 100644
index 0000000000..0f9d0eca80
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/src/main/java/scatours/CurrencyConverterCORBALauncher.java
@@ -0,0 +1,52 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+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 scatours.currencyconverter.CurrencyConverter;
+
+public class CurrencyConverterCORBALauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution currencyCORBAContribution = locate("currency-corba");
+ SCAContribution currencyContribution = locate("currency");
+
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("currency-converter-corba.composite",
+ currencyContribution,
+ currencyCORBAContribution);
+ node.start();
+
+ System.out.println("Quick currency converter test");
+ CurrencyConverter converter = ((SCAClient)node).getService(CurrencyConverter.class, "CurrencyConverter");
+ System.out.println("USD -> GBP = " + converter.getExchangeRate("USD", "GBP"));
+ System.out.println("100 USD = " + converter.convert("USD", "GBP", 100) + "GBP");
+
+ System.out.println("Node started - Press enter to shutdown.");
+ System.in.read();
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/src/main/java/scatours/currencyconverter/CurrencyConverter.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/src/main/java/scatours/currencyconverter/CurrencyConverter.java
new file mode 100644
index 0000000000..fe5c98bf02
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-corba/src/main/java/scatours/currencyconverter/CurrencyConverter.java
@@ -0,0 +1,33 @@
+/*
+ * 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.currencyconverter;
+
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ * The CurrencyConverter service interface
+ */
+@Remotable
+public interface CurrencyConverter {
+
+ double getExchangeRate(String fromCurrencyCode, String toCurrencyCode);
+
+ double convert(String fromCurrencyCode, String toCurrencyCode, double amount);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/build.xml
new file mode 100644
index 0000000000..470e28bbf9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/build.xml
@@ -0,0 +1,54 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-currency-converter-jms" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <!-- Before invoking the "run" target, the JMS broker needs to be
+ started and running in a different process. -->
+ <target name="run-broker">
+ <java classname="scatours.JMSBrokerLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <!-- The following is used to bring in the ActiveMQ runtime. -->
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+
+ <!-- After starting the SCA JMS service by invoking the "run" target below,
+ the ActiveMQ JMS implementation of the currency converter client should be
+ run in another process using the "run-client" target. -->
+ <target name="run-client">
+ <ant dir="../../clients/currency-converter-jms" target="run"/>
+ </target>
+
+ <target name="run">
+ <java classname="scatours.CurrencyConverterJMSLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/pom.xml
new file mode 100644
index 0000000000..d69d8a5cb1
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/pom.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-currency-converter-jms</artifactId>
+ <name>Apache Tuscany SCA Tours Currency Converter JMS Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-jms-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jms-asf</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-all</artifactId>
+ <version>5.2.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-web-demo</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.CurrencyConverterJMSLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/src/main/java/scatours/CurrencyConverterJMSLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/src/main/java/scatours/CurrencyConverterJMSLauncher.java
new file mode 100644
index 0000000000..9de41eb478
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/src/main/java/scatours/CurrencyConverterJMSLauncher.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 scatours;
+
+import static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+public class CurrencyConverterJMSLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution currencyJMSContribution = locate("currency-jms");
+ SCAContribution currencyContribution = locate("currency");
+
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("currency-converter-jms.composite",
+ currencyContribution,
+ currencyJMSContribution);
+ node.start();
+
+ System.out.println("Node started - Press enter to shutdown.");
+ System.in.read();
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/src/main/java/scatours/JMSBrokerLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/src/main/java/scatours/JMSBrokerLauncher.java
new file mode 100644
index 0000000000..929eb78431
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-jms/src/main/java/scatours/JMSBrokerLauncher.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;
+
+import org.apache.activemq.broker.BrokerService;
+
+public class JMSBrokerLauncher {
+
+ public static void main(String[] args) throws Exception {
+ final BrokerService jmsBroker = new BrokerService();
+ jmsBroker.setPersistent(false);
+ jmsBroker.setUseJmx(false);
+ jmsBroker.addConnector("tcp://localhost:61619");
+ jmsBroker.start();
+
+ System.out.println("JMS Message Broker started");
+ System.out.println("Press enter to shutdown.");
+ System.in.read();
+
+ jmsBroker.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/build.xml
new file mode 100644
index 0000000000..e61222505e
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/build.xml
@@ -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.
+-->
+
+<project name="scatours-launcher-currency-converter-rmi" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <!-- After starting the SCA RMI service by invoking the "run" target below,
+ the RMI Java implementation of the currency converter client should be
+ run in another process using the "run-client" target. -->
+ <target name="run-client">
+ <ant dir="../../clients/currency-converter-rmi" target="run"/>
+ </target>
+
+ <target name="run">
+ <java classname="scatours.CurrencyConverterRMILauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/pom.xml
new file mode 100644
index 0000000000..2782f72a76
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/pom.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-currency-converter-rmi</artifactId>
+ <name>Apache Tuscany SCA Tours Currency Converter RMI Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-rmi</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-rmi-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-rmi</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.CurrencyConverterRMILauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/src/main/java/com/tuscanyscatours/currencyconverter/CurrencyConverter.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/src/main/java/com/tuscanyscatours/currencyconverter/CurrencyConverter.java
new file mode 100644
index 0000000000..b1f783bfba
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/src/main/java/com/tuscanyscatours/currencyconverter/CurrencyConverter.java
@@ -0,0 +1,33 @@
+/*
+ * 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.currencyconverter;
+
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ * The CurrencyConverter service interface
+ */
+@Remotable
+public interface CurrencyConverter {
+
+ double getExchangeRate(String fromCurrencyCode, String toCurrencyCode);
+
+ double convert(String fromCurrencyCode, String toCurrencyCode, double amount);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/src/main/java/scatours/CurrencyConverterRMILauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/src/main/java/scatours/CurrencyConverterRMILauncher.java
new file mode 100644
index 0000000000..b509cfef5c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-rmi/src/main/java/scatours/CurrencyConverterRMILauncher.java
@@ -0,0 +1,52 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+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 com.tuscanyscatours.currencyconverter.CurrencyConverter;
+
+public class CurrencyConverterRMILauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution currencyRMIContribution = locate("currency-rmi");
+ SCAContribution currencyContribution = locate("currency");
+
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("currency-converter-rmi.composite",
+ currencyContribution,
+ currencyRMIContribution);
+ node.start();
+
+ System.out.println("Quick currency converter test");
+ CurrencyConverter converter = ((SCAClient)node).getService(CurrencyConverter.class, "CurrencyConverter");
+ System.out.println("USD -> GBP = " + converter.getExchangeRate("USD", "GBP"));
+ System.out.println("100 USD = " + converter.convert("USD", "GBP", 100) + "GBP");
+
+ System.out.println("Node started - Press enter to shutdown.");
+ System.in.read();
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/build.xml
new file mode 100644
index 0000000000..be278c5c24
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/build.xml
@@ -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.
+-->
+
+<project name="scatours-launcher-currency-converter-ws" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <!-- After starting the SCA Web service by invoking the "run" target below,
+ the JAX-WS implementation of the currency converter client should be
+ run in another process using the "run-client" target. -->
+ <target name="run-client">
+ <ant dir="../../clients/currency-converter-ws-jaxws" target="run"/>
+ </target>
+
+ <target name="run">
+ <java classname="scatours.CurrencyConverterWSLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/pom.xml
new file mode 100644
index 0000000000..cc57ab3c9e
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/pom.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-currency-converter-ws</artifactId>
+ <name>Apache Tuscany SCA Tours Currency Converter Web Service Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.CurrencyConverterWSLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/src/main/java/scatours/CurrencyConverterWSLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/src/main/java/scatours/CurrencyConverterWSLauncher.java
new file mode 100644
index 0000000000..2425d3f483
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/src/main/java/scatours/CurrencyConverterWSLauncher.java
@@ -0,0 +1,53 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+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 scatours.currencyconverter.CurrencyConverter;
+
+public class CurrencyConverterWSLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution currencyWSContribution = locate("currency-ws");
+ SCAContribution currencyContribution = locate("currency");
+
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("currency-converter-ws.composite",
+ currencyContribution,
+ currencyWSContribution);
+ node.start();
+
+ System.out.println("Quick currency converter test");
+ CurrencyConverter converter = ((SCAClient)node).getService(CurrencyConverter.class, "CurrencyConverter");
+ System.out.println("USD -> GBP = " + converter.getExchangeRate("USD", "GBP"));
+ System.out.println("100 USD = " + converter.convert("USD", "GBP", 100) + "GBP");
+
+ System.out.println("Node started - Press enter to shutdown.");
+ System.in.read();
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/src/main/java/scatours/currencyconverter/CurrencyConverter.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/src/main/java/scatours/currencyconverter/CurrencyConverter.java
new file mode 100644
index 0000000000..fe5c98bf02
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter-ws/src/main/java/scatours/currencyconverter/CurrencyConverter.java
@@ -0,0 +1,33 @@
+/*
+ * 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.currencyconverter;
+
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ * The CurrencyConverter service interface
+ */
+@Remotable
+public interface CurrencyConverter {
+
+ double getExchangeRate(String fromCurrencyCode, String toCurrencyCode);
+
+ double convert(String fromCurrencyCode, String toCurrencyCode, double amount);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/build.xml
new file mode 100644
index 0000000000..2771b47262
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-currency-converter" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.CurrencyConverterLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/pom.xml
new file mode 100644
index 0000000000..e2dd7cf85b
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/pom.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-currency-converter</artifactId>
+ <name>Apache Tuscany SCA Tours Currency Converter Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.CurrencyConverterLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/src/main/java/scatours/CurrencyConverterLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/src/main/java/scatours/CurrencyConverterLauncher.java
new file mode 100644
index 0000000000..cacd579b3b
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/src/main/java/scatours/CurrencyConverterLauncher.java
@@ -0,0 +1,48 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+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 scatours.currencyconverter.CurrencyConverter;
+
+public class CurrencyConverterLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution currencyContribution = locate("currency");
+
+ SCANode node = SCANodeFactory.newInstance().createSCANode("currency-converter.composite", currencyContribution);
+ node.start();
+
+ System.out.println("Quick currency converter test");
+ CurrencyConverter converter = ((SCAClient)node).getService(CurrencyConverter.class, "CurrencyConverter");
+ System.out.println("USD -> GBP = " + converter.getExchangeRate("USD", "GBP"));
+ System.out.println("100 USD = " + converter.convert("USD", "GBP", 100) + "GBP");
+
+ System.out.println("Node started - Press enter to shutdown.");
+ System.in.read();
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/src/main/java/scatours/currencyconverter/CurrencyConverter.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/src/main/java/scatours/currencyconverter/CurrencyConverter.java
new file mode 100644
index 0000000000..fe5c98bf02
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/currency-converter/src/main/java/scatours/currencyconverter/CurrencyConverter.java
@@ -0,0 +1,33 @@
+/*
+ * 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.currencyconverter;
+
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ * The CurrencyConverter service interface
+ */
+@Remotable
+public interface CurrencyConverter {
+
+ double getExchangeRate(String fromCurrencyCode, String toCurrencyCode);
+
+ double convert(String fromCurrencyCode, String toCurrencyCode, double amount);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/databinding/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/databinding/build.xml
new file mode 100644
index 0000000000..32756dad73
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/databinding/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-databinding" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.DatabindingLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/databinding/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/databinding/pom.xml
new file mode 100644
index 0000000000..8ebfef67af
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/databinding/pom.xml
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-databinding</artifactId>
+ <name>Apache Tuscany SCA Tours Databinding Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-widget-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-resource-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-atom-abdera</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-http-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-sca-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ejb-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-ejb</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-bpel-ode</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.3.1.4</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.DatabindingLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/databinding/src/main/java/scatours/DatabindingLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/databinding/src/main/java/scatours/DatabindingLauncher.java
new file mode 100644
index 0000000000..6271c60d53
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/databinding/src/main/java/scatours/DatabindingLauncher.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 scatours;
+
+import static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+public class DatabindingLauncher {
+ public static void main(String[] args) throws Exception {
+ SCANode node1 = SCANodeFactory.newInstance().createSCANode(null,
+ locate("payment-java"),
+ locate("databinding-client"));
+
+ SCANode node2 = SCANodeFactory.newInstance().createSCANode(null, locate("creditcard-payment-sdo"));
+
+ node1.start();
+ node2.start();
+
+ Runnable runner = ((SCAClient)node1).getService(Runnable.class, "TestClient/Runnable");
+ runner.run();
+
+ node1.stop();
+ node2.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/build.xml
new file mode 100644
index 0000000000..26031f3686
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-feed-logger" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.FeedLoggerLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/pom.xml
new file mode 100644
index 0000000000..5b8a188592
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/pom.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-feed-logger</artifactId>
+ <name>Apache Tuscany SCA Tours Feed Logger Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-atom-abdera</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-rss-rome</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.FeedLoggerLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/src/main/java/scatours/FeedLoggerLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/src/main/java/scatours/FeedLoggerLauncher.java
new file mode 100644
index 0000000000..4aea24dbfe
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/src/main/java/scatours/FeedLoggerLauncher.java
@@ -0,0 +1,44 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+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 scatours.feedlogger.FeedLogger;
+
+public class FeedLoggerLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution feedContribution = locate("feed-logger");
+
+ SCANode node = SCANodeFactory.newInstance().createSCANode("feed-logger.composite", feedContribution);
+ node.start();
+
+ FeedLogger logger = ((SCAClient)node).getService(FeedLogger.class, "FeedLogger");
+ logger.logFeeds(5);
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/src/main/java/scatours/feedlogger/FeedLogger.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/src/main/java/scatours/feedlogger/FeedLogger.java
new file mode 100644
index 0000000000..8187e34d2c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/feed-logger/src/main/java/scatours/feedlogger/FeedLogger.java
@@ -0,0 +1,30 @@
+/*
+ * 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.feedlogger;
+
+public interface FeedLogger {
+
+ /**
+ * Captures the configured feeds and logs the feed entries.
+ *
+ * @param maxEntriesPerFeed The maximum number of entries to log per feed
+ */
+ public void logFeeds(int maxEntriesPerFeed);
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/build.xml
new file mode 100644
index 0000000000..d294dc664a
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/build.xml
@@ -0,0 +1,54 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-fullapp-domain" default="run">
+ <import file="../../antdefs.xml"/>
+
+ <!-- In Tuscany 1.5.1 the command-line launcher for the domain manager
+ is hard wired to use the current directory for the domain configuration,
+ so we use a custom launcher to override this setting using the domain
+ manager API. Note that the classpath only includes the node launcher
+ jar which will bootstrap the rest of the Tuscany runtime. -->
+ <target name="run">
+ <java classname="scatours.FullAppDomainAPILauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <fileset dir="${env.TUSCANY_HOME}/modules">
+ <include name="tuscany-node-launcher-*.jar"/>
+ </fileset>
+ </classpath>
+ </java>
+ </target>
+
+ <!-- The "run-command" target runs the DomainManagerLauncher class
+ directly (as if it had been invoked from a command line) and passes
+ in the domain configuration directory as a command-line argument.
+ This only works for Tuscany versions greater than 1.5.1. -->
+ <target name="run-command">
+ <java classname="org.apache.tuscany.sca.node.launcher.DomainManagerLauncher"
+ dir="." fork="true">
+ <classpath>
+ <fileset dir="${env.TUSCANY_HOME}/modules">
+ <include name="tuscany-node-launcher-*.jar"/>
+ </fileset>
+ </classpath>
+ <arg value="./target/classes"/>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/pom.xml
new file mode 100644
index 0000000000..ae69ddd348
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/pom.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-fullapp-domain</artifactId>
+ <name>Apache Tuscany SCA Tours Full App Domain Launcher</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-launcher</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-contribution-fullapp-bespoketrip</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-contribution-creditcard-payment-jaxb</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-contribution-fullapp-currency</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-contribution-fullapp-coordination</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-contribution-fullapp-packagedtrip</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-contribution-payment-java</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-contribution-fullapp-shoppingcart</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-contribution-fullapp-ui</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.FullAppDomainLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/src/main/java/scatours/FullAppDomainAPILauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/src/main/java/scatours/FullAppDomainAPILauncher.java
new file mode 100644
index 0000000000..4f8d564eac
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/src/main/java/scatours/FullAppDomainAPILauncher.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 java.io.IOException;
+import org.apache.tuscany.sca.node.launcher.DomainManagerLauncher;
+
+public class FullAppDomainAPILauncher {
+
+ public static void main(String[] args) throws Exception {
+ DomainManagerLauncher dml = DomainManagerLauncher.newInstance();
+ Object dm = dml.createDomainManager("../../domainconfig/fullapp/target/classes");
+ dm.getClass().getMethod("start").invoke(dm);
+
+ System.out.println("Point your browser at - http://localhost:9990/ui/home/ ");
+ System.out.println("Domain started - Press enter to shutdown.");
+
+ try {
+ System.in.read();
+ } catch (IOException e) {
+ }
+
+ dm.getClass().getMethod("stop").invoke(dm);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/src/main/java/scatours/FullAppDomainLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/src/main/java/scatours/FullAppDomainLauncher.java
new file mode 100644
index 0000000000..599ca75e24
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-domain/src/main/java/scatours/FullAppDomainLauncher.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package scatours;
+
+import org.apache.tuscany.sca.node.launcher.DomainManagerLauncher;
+
+public class FullAppDomainLauncher {
+
+ public static void main(String[] args) throws Exception {
+ String[] dmArgs = {"../domainconfig/fullapp"};
+ DomainManagerLauncher.main(dmArgs);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-nodes/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-nodes/build.xml
new file mode 100644
index 0000000000..00fef1d701
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-nodes/build.xml
@@ -0,0 +1,37 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-fullapp-nodes" default="compile">
+ <import file="../../antdefs.xml"/>
+
+ <!-- Before invoking the "run" target, the domain manager needs
+ to be started and running in a different process. -->
+ <target name="run-domain">
+ <ant dir="../fullapp-domain" target="run"/>
+ </target>
+
+ <target name="run">
+ <java classname="scatours.FullAppNodesLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-nodes/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-nodes/pom.xml
new file mode 100644
index 0000000000..fc5f595bdd
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-nodes/pom.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-fullapp-nodes</artifactId>
+ <name>Apache Tuscany SCA Tours Full Application Nodes Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-assembly</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-core</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-assembly-xml</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-launcher</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-domain-manager</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-node-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-widget-runtime-tuscany</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-atom-abdera</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-jsonrpc-js</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-http-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-sca-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ejb-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-ejb</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-bpel-ode</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-spring</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-spring-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+<!--
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-policy-transaction</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+-->
+
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.3.1.4</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.FullAppNodesLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-nodes/src/main/java/scatours/FullAppNodesLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-nodes/src/main/java/scatours/FullAppNodesLauncher.java
new file mode 100644
index 0000000000..4d6459b749
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp-nodes/src/main/java/scatours/FullAppNodesLauncher.java
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package scatours;
+
+import java.io.IOException;
+
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+public class FullAppNodesLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCANode nodeCreditcard =
+ SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/creditcard");
+ nodeCreditcard.start();
+
+ SCANode nodePayment =
+ SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/payment");
+ nodePayment.start();
+
+ SCANode nodeShoppingcart =
+ SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/shoppingcart");
+ nodeShoppingcart.start();
+
+ SCANode nodeCurrency =
+ SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/currency");
+ nodeCurrency.start();
+
+ SCANode nodePackagedtrip =
+ SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/packagedtrip");
+ nodePackagedtrip.start();
+
+ SCANode nodeBespoketrip =
+ SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/bespoketrip");
+ nodeBespoketrip.start();
+
+ SCANode nodeFrontend =
+ SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/coordination");
+ nodeFrontend.start();
+
+ SCANode nodeUI = SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/ui");
+ nodeUI.start();
+
+ System.out.println("Point your browser at - http://localhost:8080/scatours/ ");
+ System.out.println("Nodes started - Press enter to shutdown.");
+
+ try {
+ System.in.read();
+ } catch (IOException e) {
+ }
+
+ nodeCreditcard.stop();
+ nodePayment.stop();
+ nodeShoppingcart.stop();
+ nodeCurrency.stop();
+ nodePackagedtrip.stop();
+ nodeBespoketrip.stop();
+ nodeFrontend.stop();
+ nodeUI.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp/build.xml
new file mode 100644
index 0000000000..977dd2710c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-fullapp" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.FullAppLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp/pom.xml
new file mode 100644
index 0000000000..7ece4347be
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp/pom.xml
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-fullapp</artifactId>
+ <name>Apache Tuscany SCA Tours Full Application Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-assembly</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-core</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-assembly-xml</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-widget-runtime-tuscany</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-atom-abdera</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-jsonrpc-js</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-http-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-sca-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ejb-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-ejb</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-bpel-ode</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-spring</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-spring-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.3.1.4</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.FullAppLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp/src/main/java/scatours/FullAppLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp/src/main/java/scatours/FullAppLauncher.java
new file mode 100644
index 0000000000..9c3bfa8209
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/fullapp/src/main/java/scatours/FullAppLauncher.java
@@ -0,0 +1,67 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+import java.io.IOException;
+
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+public class FullAppLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode(null,
+ locate("common"),
+ locate("currency"),
+ locate("hotel"),
+ locate("flight"),
+ locate("car"),
+ locate("trip"),
+ locate("tripbooking"),
+ locate("travelcatalog"),
+ locate("payment-java-policy"),
+ //locate("payment-spring"),
+ locate("creditcard-payment-jaxb-policy"),
+ //locate("creditcard-payment-jaxb-policy"),
+ locate("shoppingcart"),
+ locate("scatours"),
+ locate("fullapp-ui"),
+ locate("fullapp-coordination"),
+ locate("fullapp-currency"),
+ locate("fullapp-packagedtrip"),
+ locate("fullapp-bespoketrip"),
+ locate("fullapp-shoppingcart"));
+
+ node.start();
+
+ System.out.println("Point your browser at - http://localhost:8080/scatours/ ");
+ System.out.println("Node started - Press enter to shutdown.");
+
+ try {
+ System.in.read();
+ } catch (IOException e) {
+ }
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/help-pages/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/help-pages/build.xml
new file mode 100644
index 0000000000..6488677cb9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/help-pages/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-help-pages" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.HelpPagesLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/help-pages/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/help-pages/pom.xml
new file mode 100644
index 0000000000..a501b7849c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/help-pages/pom.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-help-pages</artifactId>
+ <name>Apache Tuscany SCA Tours Help Pages Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-resource-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-http-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.HelpPagesLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/help-pages/src/main/java/scatours/HelpPagesLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/help-pages/src/main/java/scatours/HelpPagesLauncher.java
new file mode 100644
index 0000000000..a72f5c4c54
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/help-pages/src/main/java/scatours/HelpPagesLauncher.java
@@ -0,0 +1,44 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAContribution;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+public class HelpPagesLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution helpContribution = locate("help-pages");
+
+ SCANode node = SCANodeFactory.newInstance().createSCANode("help-pages.composite", helpContribution);
+ node.start();
+
+ System.out.println("Node started - Press enter to shutdown.");
+ System.out.println();
+ System.out.println("To view the help pages, use your Web browser to view:");
+ System.out.println(" http://localhost:8085/help/index.html");
+ System.out.println();
+ System.in.read();
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/build.xml
new file mode 100644
index 0000000000..28d3c93d61
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-interaction" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.InteractionLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/pom.xml
new file mode 100644
index 0000000000..7cff4aaea7
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/pom.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-interaction</artifactId>
+ <name>Apache Tuscany SCA Tours Interaction Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.InteractionLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/src/main/java/scatours/InteractionLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/src/main/java/scatours/InteractionLauncher.java
new file mode 100644
index 0000000000..292b10aaf0
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/src/main/java/scatours/InteractionLauncher.java
@@ -0,0 +1,74 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+public class InteractionLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCANode node1 =
+ SCANodeFactory.newInstance().createSCANode("client.composite",
+ locate("common"),
+ locate("currency"),
+ locate("calendar"),
+ locate("shoppingcart"),
+ locate("interaction-client"));
+
+ SCANode node2 =
+ SCANodeFactory.newInstance().createSCANode("service.composite",
+ locate("common"),
+ locate("hotel"),
+ locate("flight"),
+ locate("interaction-service-remote"));
+
+ node2.start();
+ node1.start();
+
+ Runnable localInteraction = ((SCAClient)node1).getService(Runnable.class, "InteractionLocalClient/Runnable");
+ localInteraction.run();
+
+ Runnable remoteInteraction = ((SCAClient)node1).getService(Runnable.class, "InteractionRemoteClient/Runnable");
+ remoteInteraction.run();
+
+ Runnable requestResponseInteraction =
+ ((SCAClient)node1).getService(Runnable.class, "InteractionRequestResponseClient/Runnable");
+ requestResponseInteraction.run();
+
+ Runnable onewayCallbackInteraction =
+ ((SCAClient)node1).getService(Runnable.class, "InteractionOneWayCallbackClient/Runnable");
+ onewayCallbackInteraction.run();
+
+ Runnable conversationalInteraction =
+ ((SCAClient)node1).getService(Runnable.class, "InteractionConversationClient/Runnable");
+ conversationalInteraction.run();
+
+ Runnable statefulCallbackInteraction =
+ ((SCAClient)node1).getService(Runnable.class, "InteractionStatefulCallbackClient/Runnable");
+ statefulCallbackInteraction.run();
+
+ node1.stop();
+ node2.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/src/test/java/scatours/InteractionTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/src/test/java/scatours/InteractionTestCase.java
new file mode 100644
index 0000000000..c64e5d1e5b
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/interaction/src/test/java/scatours/InteractionTestCase.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 InteractionTestCase {
+
+ @Before
+ public void startServer() throws Exception {
+ }
+
+ @Test
+ public void testLauncher() throws Exception {
+ InteractionLauncher.main(null);
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-client/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-client/build.xml
new file mode 100644
index 0000000000..cfe3a6fd76
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-client/build.xml
@@ -0,0 +1,44 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-introducing-client" default="compile">
+ <import file="../../antdefs.xml"/>
+
+ <!-- Before invoking the "run" target, the domain manager and the
+ introducing-trips and introducing-tours nodes need to be started
+ and running in different processes. -->
+ <target name="run-domain">
+ <ant dir="../introducing-domain" target="run"/>
+ </target>
+ <target name="run-trips">
+ <ant dir="../introducing-trips" target="run"/>
+ </target>
+ <target name="run-tours">
+ <ant dir="../introducing-tours" target="run"/>
+ </target>
+
+ <target name="run">
+ <java classname="scatours.IntroducingClientLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-client/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-client/pom.xml
new file mode 100644
index 0000000000..f348ea9456
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-client/pom.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-introducing-client</artifactId>
+ <name>Apache Tuscany SCA Tours Introducing Client Launcher</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-sca-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.IntroducingClientLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-client/src/main/java/scatours/IntroducingClientLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-client/src/main/java/scatours/IntroducingClientLauncher.java
new file mode 100644
index 0000000000..f261ef6e27
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-client/src/main/java/scatours/IntroducingClientLauncher.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;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+public class IntroducingClientLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANodeFromURL("http://localhost:9990/node-config/ClientNode");
+ node.start();
+
+ Runnable client = ((SCAClient)node).getService(Runnable.class, "TestClient/Runnable");
+ client.run();
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/build.xml
new file mode 100644
index 0000000000..700515a791
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/build.xml
@@ -0,0 +1,54 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-introducing-domain" default="run">
+ <import file="../../antdefs.xml"/>
+
+ <!-- In Tuscany 1.5.1 the command-line launcher for the domain manager
+ is hard wired to use the current directory for the domain configuration,
+ so we use a custom launcher to override this setting using the domain
+ manager API. Note that the classpath only includes the node launcher
+ jar which will bootstrap the rest of the Tuscany runtime. -->
+ <target name="run">
+ <java classname="scatours.IntroducingDomainAPILauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <fileset dir="${env.TUSCANY_HOME}/modules">
+ <include name="tuscany-node-launcher-*.jar"/>
+ </fileset>
+ </classpath>
+ </java>
+ </target>
+
+ <!-- The "run-command" target runs the DomainManagerLauncher class
+ directly (as if it had been invoked from a command line) and passes
+ in the domain configuration directory as a command-line argument.
+ This only works for Tuscany versions greater than 1.5.1. -->
+ <target name="run-command">
+ <java classname="org.apache.tuscany.sca.node.launcher.DomainManagerLauncher"
+ dir="." fork="true">
+ <classpath>
+ <fileset dir="${env.TUSCANY_HOME}/modules">
+ <include name="tuscany-node-launcher-*.jar"/>
+ </fileset>
+ </classpath>
+ <arg value="./target/classes"/>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/pom.xml
new file mode 100644
index 0000000000..2a9f3e53fb
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/pom.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-introducing-domain</artifactId>
+ <name>Apache Tuscany SCA Tours Introducing Domain Launcher</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-launcher</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-contribution-introducing-tours</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-contribution-introducing-trips</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-contribution-introducing-client</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.IntroducingDomainLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/src/main/java/scatours/IntroducingDomainAPILauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/src/main/java/scatours/IntroducingDomainAPILauncher.java
new file mode 100644
index 0000000000..06c5597327
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/src/main/java/scatours/IntroducingDomainAPILauncher.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 java.io.IOException;
+import org.apache.tuscany.sca.node.launcher.DomainManagerLauncher;
+
+public class IntroducingDomainAPILauncher {
+
+ public static void main(String[] args) throws Exception {
+ DomainManagerLauncher dml = DomainManagerLauncher.newInstance();
+ Object dm = dml.createDomainManager("../../domainconfig/introducing/target/classes");
+ dm.getClass().getMethod("start").invoke(dm);
+
+ System.out.println("Point your browser at - http://localhost:9990/ui/home/ ");
+ System.out.println("Domain started - Press enter to shutdown.");
+
+ try {
+ System.in.read();
+ } catch (IOException e) {
+ }
+
+ dm.getClass().getMethod("stop").invoke(dm);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/src/main/java/scatours/IntroducingDomainLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/src/main/java/scatours/IntroducingDomainLauncher.java
new file mode 100644
index 0000000000..b9f7fe040f
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-domain/src/main/java/scatours/IntroducingDomainLauncher.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package scatours;
+
+import org.apache.tuscany.sca.node.launcher.DomainManagerLauncher;
+
+public class IntroducingDomainLauncher {
+
+ public static void main(String[] args) throws Exception {
+ String[] dmArgs = {"../domainconfig/introducing"};
+ DomainManagerLauncher.main(dmArgs);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-tours/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-tours/build.xml
new file mode 100644
index 0000000000..3df9db154f
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-tours/build.xml
@@ -0,0 +1,33 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-introducing-tours" default="run">
+ <import file="../../antdefs.xml"/>
+
+ <target name="run">
+ <java classname="org.apache.tuscany.sca.node.launcher.NodeLauncher" fork="true">
+ <arg value="http://localhost:9990/node-config/ToursNode"/>
+ <classpath>
+ <fileset dir="${env.TUSCANY_HOME}/modules">
+ <include name="tuscany-node-launcher-*.jar"/>
+ </fileset>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-tours/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-tours/pom.xml
new file mode 100644
index 0000000000..0391994557
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-tours/pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-introducing-tours</artifactId>
+ <name>Apache Tuscany SCA Tours Introducing Tours Launcher</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-launcher</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.IntroducingToursLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-tours/src/main/java/scatours/IntroducingToursLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-tours/src/main/java/scatours/IntroducingToursLauncher.java
new file mode 100644
index 0000000000..7a1dd79890
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-tours/src/main/java/scatours/IntroducingToursLauncher.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package scatours;
+
+import org.apache.tuscany.sca.node.launcher.NodeLauncher;
+
+public class IntroducingToursLauncher {
+
+ public static void main(String[] args) throws Exception {
+ String[] dmArgs = {"http://localhost:9990/node-config/ToursNode"};
+ NodeLauncher.main(dmArgs);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-trips/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-trips/build.xml
new file mode 100644
index 0000000000..ce9973e395
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-trips/build.xml
@@ -0,0 +1,33 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-introducing-trips" default="run">
+ <import file="../../antdefs.xml"/>
+
+ <target name="run">
+ <java classname="org.apache.tuscany.sca.node.launcher.NodeLauncher" fork="true">
+ <arg value="http://localhost:9990/node-config/TripsNode"/>
+ <classpath>
+ <fileset dir="${env.TUSCANY_HOME}/modules">
+ <include name="tuscany-node-launcher-*.jar"/>
+ </fileset>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-trips/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-trips/pom.xml
new file mode 100644
index 0000000000..1ef9d06774
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-trips/pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-introducing-trips</artifactId>
+ <name>Apache Tuscany SCA Tours Introducing Trips Launcher</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-launcher</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.IntroducingTripsLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-trips/src/main/java/scatours/IntroducingTripsLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-trips/src/main/java/scatours/IntroducingTripsLauncher.java
new file mode 100644
index 0000000000..781949940c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing-trips/src/main/java/scatours/IntroducingTripsLauncher.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package scatours;
+
+import org.apache.tuscany.sca.node.launcher.NodeLauncher;
+
+public class IntroducingTripsLauncher {
+
+ public static void main(String[] args) throws Exception {
+ String[] dmArgs = {"http://localhost:9990/node-config/TripsNode"};
+ NodeLauncher.main(dmArgs);
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/build.xml
new file mode 100644
index 0000000000..2da6f00d28
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-introducing" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.IntroducingLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/pom.xml
new file mode 100644
index 0000000000..5ded853c2a
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/pom.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-introducing</artifactId>
+ <name>Apache Tuscany SCA Tours Introducing Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.IntroducingLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/src/main/java/scatours/IntroducingLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/src/main/java/scatours/IntroducingLauncher.java
new file mode 100644
index 0000000000..4ad19762d9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/src/main/java/scatours/IntroducingLauncher.java
@@ -0,0 +1,44 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+public class IntroducingLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode(null,
+ locate("introducing-tours"),
+ locate("introducing-trips"),
+ locate("introducing-client"));
+
+ node.start();
+
+ Runnable proxy = ((SCAClient)node).getService(Runnable.class, "TestClient/Runnable");
+ proxy.run();
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/src/test/java/scatours/IntroducingTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/src/test/java/scatours/IntroducingTestCase.java
new file mode 100644
index 0000000000..573d2e76bd
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/introducing/src/test/java/scatours/IntroducingTestCase.java
@@ -0,0 +1,62 @@
+/*
+ * 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;
+
+/**
+ * Test case to run the test code in the introducing-client contribution
+ * that tests components and services in the introducing-tours contribution
+ * and the introducing-trips contribution.
+ */
+public class IntroducingTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node =
+ SCANodeFactory.newInstance()
+ .createSCANode(null,
+ new SCAContribution("introducing-tours",
+ "../../contributions/introducing-tours/target/classes"),
+ new SCAContribution("introducing-trips",
+ "../../contributions/introducing-trips/target/classes"),
+ new SCAContribution("introducing-client",
+ "../../contributions/introducing-client/target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testClient() throws Exception {
+ Runnable proxy = ((SCAClient)node).getService(Runnable.class, "TestClient/Runnable");
+ proxy.run();
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/build.xml
new file mode 100644
index 0000000000..1ae0e6133e
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-jumpstart" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.JumpstartLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/pom.xml
new file mode 100644
index 0000000000..1f3722d993
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/pom.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-jumpstart</artifactId>
+ <name>Apache Tuscany SCA Tours Jump Start Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.JumpstartLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/main/java/scatours/JumpstartLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/main/java/scatours/JumpstartLauncher.java
new file mode 100644
index 0000000000..1ded112193
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/main/java/scatours/JumpstartLauncher.java
@@ -0,0 +1,44 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+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;
+
+public class JumpstartLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution gvtContribution = locate("introducing-trips");
+
+ SCANode node = SCANodeFactory.newInstance().createSCANode("trips.composite", gvtContribution);
+
+ node.start();
+
+ Trips tripProvider = ((SCAClient)node).getService(Trips.class, "TripProvider/Trips");
+
+ System.out.println("Trip boooking code = " + tripProvider.checkAvailability("FS1APR4", 1));
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/main/java/scatours/Trips.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/main/java/scatours/Trips.java
new file mode 100644
index 0000000000..a7abf8e08d
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/main/java/scatours/Trips.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 scatours;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface Trips {
+ String checkAvailability(String trip, int people);
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/test/java/scatours/JumpstartTestCase.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/test/java/scatours/JumpstartTestCase.java
new file mode 100644
index 0000000000..4da7c54917
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/jumpstart/src/test/java/scatours/JumpstartTestCase.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 Jump Start scenario
+ */
+public class JumpstartTestCase {
+
+ private SCANode node;
+
+ @Before
+ public void startServer() throws Exception {
+ node =
+ SCANodeFactory.newInstance()
+ .createSCANode("trips.composite",
+ new SCAContribution("introducing-trips",
+ "../../contributions/introducing-trips/target/classes"));
+ node.start();
+ }
+
+ @Test
+ public void testClient() throws Exception {
+ Trips tripProvider = ((SCAClient)node).getService(Trips.class, "TripProvider/Trips");
+ System.out.println("Trip boooking code = " + tripProvider.checkAvailability("FS1APR4", 2));
+ }
+
+ @After
+ public void stopServer() throws Exception {
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/build.xml
new file mode 100644
index 0000000000..10146b8500
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/build.xml
@@ -0,0 +1,53 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-notification-corba" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <!-- Before invoking the "run" target, both the CORBA nameserver and
+ the CORBA SMS Gateway service need to be started and running in
+ different processes. -->
+ <target name="run-nameserver">
+ <ant dir="../../services/smsgateway-corba" target="run-nameserver"/>
+ </target>
+ <target name="run-smsgateway">
+ <ant dir="../../services/smsgateway-corba" target="run"/>
+ </target>
+
+ <!-- When running this sample, the tuscany-host-corba-jse jar needs to be
+ present on the classpath. This isn't included in tuscany-sca-manifest
+ so it needs to be added to the classpath explicitly. For some reason
+ this jar isn't part of the Tuscany binary distribution so you'll need
+ to download it from the maven repository http://repo1.maven.org/maven2
+ and set the TUSCANY_HOST_CORBA environment variable to the name of
+ your local download directory. -->
+ <target name="run">
+ <java classname="scatours.NotificationCORBALauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ <fileset dir="${env.TUSCANY_HOST_CORBA}"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/pom.xml
new file mode 100644
index 0000000000..b99b64b0cf
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/pom.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-notification-corba</artifactId>
+ <name>Apache Tuscany SCA Tours Notification CORBA Service Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-corba-runtime</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-corba-jse-tns</artifactId>
+ <version>1.6-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.NotificationCORBALauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/src/main/java/scatours/NotificationCORBALauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/src/main/java/scatours/NotificationCORBALauncher.java
new file mode 100644
index 0000000000..44b94b3a59
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/src/main/java/scatours/NotificationCORBALauncher.java
@@ -0,0 +1,54 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+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 scatours.notification.Notification;
+
+public class NotificationCORBALauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution notificationContribution = locate("notification");
+ SCAContribution notificationCORBAContribution = locate("notification-corba");
+
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("notification-corba.composite",
+ notificationContribution,
+ notificationCORBAContribution);
+ node.start();
+
+ System.out.println("Quick notification test");
+ Notification notification = ((SCAClient)node).getService(Notification.class, "Notification");
+ String accountID = "1234";
+ String subject = "Holiday payment taken";
+ String message = "Payment of £102.37 accepted...";
+ notification.notify(accountID, subject, message);
+
+ System.out.println("Node started - Press enter to shutdown.");
+ System.in.read();
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/src/main/java/scatours/notification/Notification.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/src/main/java/scatours/notification/Notification.java
new file mode 100644
index 0000000000..020e1e40db
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-corba/src/main/java/scatours/notification/Notification.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 scatours.notification;
+
+public interface Notification {
+
+ boolean notify(String accountID, String subject, String message);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/build.xml
new file mode 100644
index 0000000000..f9dbaeb246
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/build.xml
@@ -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.
+-->
+
+<project name="scatours-launcher-notification-ejb" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <!-- Before invoking the "run" target, the EJB server for the SMS Gateway EJB
+ needs to be started and running in a different process. -->
+ <target name="run-smsgateway">
+ <ant dir="../../services/smsgateway-ejb" target="run"/>
+ </target>
+
+ <target name="run">
+ <java classname="scatours.NotificationEJBLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ <fileset dir="${env.OPENEJB_HOME}/lib"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/pom.xml
new file mode 100644
index 0000000000..06cd88f2fd
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/pom.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-notification-ejb</artifactId>
+ <name>Apache Tuscany SCA Tours Notification EJB Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ejb</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ejb-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.openejb</groupId>
+ <artifactId>openejb-ejbd</artifactId>
+ <version>3.1.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.NotificationEJBLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/src/main/java/scatours/NotificationEJBLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/src/main/java/scatours/NotificationEJBLauncher.java
new file mode 100644
index 0000000000..2d843e9ff9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/src/main/java/scatours/NotificationEJBLauncher.java
@@ -0,0 +1,59 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+import javax.naming.Context;
+
+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 scatours.notification.Notification;
+
+public class NotificationEJBLauncher {
+
+ public static void main(String[] args) throws Exception {
+ System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
+ System.setProperty(Context.PROVIDER_URL, "ejbd://localhost:4201");
+
+ SCAContribution notificationContribution = locate("notification");
+ SCAContribution notificationEJBContribution = locate("notification-ejb");
+
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("notification-ejb.composite",
+ notificationContribution,
+ notificationEJBContribution);
+ node.start();
+
+ System.out.println("Quick notification test");
+ Notification notification = ((SCAClient)node).getService(Notification.class, "Notification");
+ String accountID = "1234";
+ String subject = "Holiday payment taken";
+ String message = "Payment of £102.37 accepted...";
+ notification.notify(accountID, subject, message);
+
+ System.out.println("Node started - Press enter to shutdown.");
+ System.in.read();
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/src/main/java/scatours/notification/Notification.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/src/main/java/scatours/notification/Notification.java
new file mode 100644
index 0000000000..020e1e40db
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ejb/src/main/java/scatours/notification/Notification.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 scatours.notification;
+
+public interface Notification {
+
+ boolean notify(String accountID, String subject, String message);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/build.xml
new file mode 100644
index 0000000000..3d20022d2e
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/build.xml
@@ -0,0 +1,45 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-notification-jms" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <!-- Before invoking the "run" target, both the JMS broker and the
+ JMS implementation of the SMS gateway need to be started and running
+ in different processes. -->
+ <target name="run-broker">
+ <ant dir="../../services/smsgateway-jms" target="run-broker"/>
+ </target>
+ <target name="run-smsgateway">
+ <ant dir="../../services/smsgateway-jms" target="run"/>
+ </target>
+
+ <target name="run">
+ <java classname="scatours.NotificationJMSLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/pom.xml
new file mode 100644
index 0000000000..0441ba9cff
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/pom.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-notification-jms</artifactId>
+ <name>Apache Tuscany SCA Tours Notification JMS Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jms-asf</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-all</artifactId>
+ <version>5.2.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>activemq-web-demo</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.ws.commons.axiom</groupId>
+ <artifactId>axiom-api</artifactId>
+ <version>1.2.7</version>
+ <exclusions>
+ <exclusion>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>stax</groupId>
+ <artifactId>stax-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.ws.commons.axiom</groupId>
+ <artifactId>axiom-impl</artifactId>
+ <version>1.2.7</version>
+ <scope>runtime</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>stax</groupId>
+ <artifactId>stax-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.NotificationJMSLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/src/main/java/scatours/NotificationJMSLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/src/main/java/scatours/NotificationJMSLauncher.java
new file mode 100644
index 0000000000..c2ffda0725
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/src/main/java/scatours/NotificationJMSLauncher.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 static scatours.launcher.LauncherUtil.locate;
+
+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 scatours.notification.Notification;
+
+public class NotificationJMSLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution notificationContribution = locate("notification");
+ SCAContribution notificationJMSContribution = locate("notification-jms");
+
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("notification-jms.composite",
+ notificationContribution,
+ notificationJMSContribution);
+
+ try {
+ node.start();
+
+ System.out.println("Quick notification test");
+ Notification notification = ((SCAClient)node).getService(Notification.class, "Notification");
+ String accountID = "1234";
+ String subject = "Holiday payment taken";
+ String message = "Payment of £102.37 accepted...";
+ notification.notify(accountID, subject, message);
+ System.out.println("Notification sent");
+ } finally {
+ node.stop();
+ }
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/src/main/java/scatours/notification/Notification.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/src/main/java/scatours/notification/Notification.java
new file mode 100644
index 0000000000..020e1e40db
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-jms/src/main/java/scatours/notification/Notification.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 scatours.notification;
+
+public interface Notification {
+
+ boolean notify(String accountID, String subject, String message);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/build.xml
new file mode 100644
index 0000000000..c21d30071d
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/build.xml
@@ -0,0 +1,41 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-notification-rmi" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <!-- Before invoking the "run" target, the RMI server for the SMS Gateway
+ remote object needs to be started and running in a different process. -->
+ <target name="run-smsgateway">
+ <ant dir="../../services/smsgateway-rmi" target="run"/>
+ </target>
+
+ <target name="run">
+ <java classname="scatours.NotificationRMILauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/pom.xml
new file mode 100644
index 0000000000..ecac2d2d18
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/pom.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-notification-rmi</artifactId>
+ <name>Apache Tuscany SCA Tours Notification RMI Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-rmi</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-rmi-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.NotificationRMILauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/src/main/java/com/tuscanyscatours/smsgateway/SMSGateway.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/src/main/java/com/tuscanyscatours/smsgateway/SMSGateway.java
new file mode 100644
index 0000000000..4ce528fd23
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/src/main/java/com/tuscanyscatours/smsgateway/SMSGateway.java
@@ -0,0 +1,30 @@
+/*
+ * 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.smsgateway;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+
+/**
+ * A gateway to send SMS messages.
+ */
+public interface SMSGateway extends Remote {
+ boolean sendSMS(String fromNumber, String toNumber, String text) throws RemoteException;
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/src/main/java/scatours/NotificationRMILauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/src/main/java/scatours/NotificationRMILauncher.java
new file mode 100644
index 0000000000..2904349a49
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/src/main/java/scatours/NotificationRMILauncher.java
@@ -0,0 +1,54 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+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 scatours.notification.Notification;
+
+public class NotificationRMILauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution notificationContribution = locate("notification");
+ SCAContribution notificationRMIContribution = locate("notification-rmi");
+
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("notification-rmi.composite",
+ notificationContribution,
+ notificationRMIContribution);
+ node.start();
+
+ System.out.println("Quick notification test");
+ Notification notification = ((SCAClient)node).getService(Notification.class, "Notification");
+ String accountID = "1234";
+ String subject = "Holiday payment taken";
+ String message = "Payment of £102.37 accepted...";
+ notification.notify(accountID, subject, message);
+
+ System.out.println("Node started - Press enter to shutdown.");
+ System.in.read();
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/src/main/java/scatours/notification/Notification.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/src/main/java/scatours/notification/Notification.java
new file mode 100644
index 0000000000..020e1e40db
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-rmi/src/main/java/scatours/notification/Notification.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 scatours.notification;
+
+public interface Notification {
+
+ boolean notify(String accountID, String subject, String message);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/build.xml
new file mode 100644
index 0000000000..7f8e3bc917
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/build.xml
@@ -0,0 +1,41 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-notification-ws" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <!-- Before invoking the "run" target, the JAX-WS server for the SMS Gateway
+ remote object needs to be started and running in a different process. -->
+ <target name="run-smsgateway">
+ <ant dir="../../services/smsgateway-jaxws" target="run"/>
+ </target>
+
+ <target name="run">
+ <java classname="scatours.NotificationWSLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/pom.xml
new file mode 100644
index 0000000000..19669752cb
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/pom.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-notification-ws</artifactId>
+ <name>Apache Tuscany SCA Tours Notification Web Service Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.NotificationWSLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/src/main/java/scatours/NotificationWSLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/src/main/java/scatours/NotificationWSLauncher.java
new file mode 100644
index 0000000000..fbdb1500f5
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/src/main/java/scatours/NotificationWSLauncher.java
@@ -0,0 +1,54 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+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 scatours.notification.Notification;
+
+public class NotificationWSLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCAContribution notificationContribution = locate("notification");
+ SCAContribution notificationWSContribution = locate("notification-ws");
+
+ SCANode node =
+ SCANodeFactory.newInstance().createSCANode("notification-ws.composite",
+ notificationContribution,
+ notificationWSContribution);
+ node.start();
+
+ System.out.println("Quick notification test");
+ Notification notification = ((SCAClient)node).getService(Notification.class, "Notification");
+ String accountID = "1234";
+ String subject = "Holiday payment taken";
+ String message = "Payment of £102.37 accepted...";
+ notification.notify(accountID, subject, message);
+
+ System.out.println("Node started - Press enter to shutdown.");
+ System.in.read();
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/src/main/java/scatours/notification/Notification.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/src/main/java/scatours/notification/Notification.java
new file mode 100644
index 0000000000..020e1e40db
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/notification-ws/src/main/java/scatours/notification/Notification.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 scatours.notification;
+
+public interface Notification {
+
+ boolean notify(String accountID, String subject, String message);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/build.xml
new file mode 100644
index 0000000000..f1811cd2f4
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-payment-bpel" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.PaymentLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/pom.xml
new file mode 100644
index 0000000000..7c48fec51f
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/pom.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-payment-bpel</artifactId>
+ <name>Apache Tuscany SCA Tours Payment BPEL Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-bpel-ode</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.PaymentLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack</id>
+ <phase>test-compile</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-dao-jpa-ojpa-derby</artifactId>
+ <version>1.1</version>
+ <type>zip</type>
+ <overWrite>true</overWrite>
+ <outputDirectory>${project.build.directory}/classes/</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java
new file mode 100644
index 0000000000..e5f3ef3cad
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java
@@ -0,0 +1,62 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MakePaymentMemberResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MakePaymentMemberResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="Status" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MakePaymentMemberResponseType", propOrder = {
+ "status"
+})
+public class MakePaymentMemberResponseType {
+
+ @XmlElement(name = "Status", required = true)
+ protected String status;
+
+ /**
+ * Gets the value of the status property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java
new file mode 100644
index 0000000000..ca94d86628
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java
@@ -0,0 +1,82 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MakePaymentMemberType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MakePaymentMemberType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="CustomerId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="Amount" type="{http://www.w3.org/2001/XMLSchema}float"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MakePaymentMemberType", propOrder = {
+ "customerId",
+ "amount"
+})
+public class MakePaymentMemberType {
+
+ @XmlElement(name = "CustomerId", required = true)
+ protected String customerId;
+ @XmlElement(name = "Amount")
+ protected float amount;
+
+ /**
+ * Gets the value of the customerId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCustomerId() {
+ return customerId;
+ }
+
+ /**
+ * Sets the value of the customerId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCustomerId(String value) {
+ this.customerId = value;
+ }
+
+ /**
+ * Gets the value of the amount property.
+ *
+ */
+ public float getAmount() {
+ return amount;
+ }
+
+ /**
+ * Sets the value of the amount property.
+ *
+ */
+ public void setAmount(float value) {
+ this.amount = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java
new file mode 100644
index 0000000000..b069b2ba94
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the com.tuscanyscatours.payment package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _MakePaymentMember_QNAME = new QName("http://www.tuscanyscatours.com/Payment/", "makePaymentMember");
+ private final static QName _MakePaymentMemberResponse_QNAME = new QName("http://www.tuscanyscatours.com/Payment/", "makePaymentMemberResponse");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.tuscanyscatours.payment
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link MakePaymentMemberResponseType }
+ *
+ */
+ public MakePaymentMemberResponseType createMakePaymentMemberResponseType() {
+ return new MakePaymentMemberResponseType();
+ }
+
+ /**
+ * Create an instance of {@link MakePaymentMemberType }
+ *
+ */
+ public MakePaymentMemberType createMakePaymentMemberType() {
+ return new MakePaymentMemberType();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MakePaymentMemberType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/Payment/", name = "makePaymentMember")
+ public JAXBElement<MakePaymentMemberType> createMakePaymentMember(MakePaymentMemberType value) {
+ return new JAXBElement<MakePaymentMemberType>(_MakePaymentMember_QNAME, MakePaymentMemberType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MakePaymentMemberResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/Payment/", name = "makePaymentMemberResponse")
+ public JAXBElement<MakePaymentMemberResponseType> createMakePaymentMemberResponse(MakePaymentMemberResponseType value) {
+ return new JAXBElement<MakePaymentMemberResponseType>(_MakePaymentMemberResponse_QNAME, MakePaymentMemberResponseType.class, null, value);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/Payment.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/Payment.java
new file mode 100644
index 0000000000..bbbd03d89a
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/Payment.java
@@ -0,0 +1,43 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebService(name = "Payment", targetNamespace = "http://www.tuscanyscatours.com/Payment/")
+@XmlSeeAlso({
+ ObjectFactory.class
+})
+public interface Payment {
+
+
+ /**
+ *
+ * @param amount
+ * @param customerId
+ * @return
+ * returns java.lang.String
+ */
+ @WebMethod(action = "http://www.tuscanyscatours.com/Payment/makePayment")
+ @WebResult(name = "Status", targetNamespace = "")
+ @RequestWrapper(localName = "makePaymentMember", targetNamespace = "http://www.tuscanyscatours.com/Payment/", className = "com.tuscanyscatours.payment.MakePaymentMemberType")
+ @ResponseWrapper(localName = "makePaymentMemberResponse", targetNamespace = "http://www.tuscanyscatours.com/Payment/", className = "com.tuscanyscatours.payment.MakePaymentMemberResponseType")
+ public String makePaymentMember(
+ @WebParam(name = "CustomerId", targetNamespace = "")
+ String customerId,
+ @WebParam(name = "Amount", targetNamespace = "")
+ float amount);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/PaymentService.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/PaymentService.java
new file mode 100644
index 0000000000..a430175976
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/PaymentService.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.payment;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebServiceClient(name = "PaymentService", targetNamespace = "http://www.tuscanyscatours.com/Payment/", wsdlLocation = "file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl")
+public class PaymentService
+ extends Service
+{
+
+ private final static URL PAYMENTSERVICE_WSDL_LOCATION;
+ private final static Logger logger = Logger.getLogger(com.tuscanyscatours.payment.PaymentService.class.getName());
+
+ static {
+ URL url = null;
+ try {
+ URL baseUrl;
+ baseUrl = com.tuscanyscatours.payment.PaymentService.class.getResource(".");
+ url = new URL(baseUrl, "file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl");
+ } catch (MalformedURLException e) {
+ logger.warning("Failed to create URL for the wsdl Location: 'file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl', retrying as a local file");
+ logger.warning(e.getMessage());
+ }
+ PAYMENTSERVICE_WSDL_LOCATION = url;
+ }
+
+ public PaymentService(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+ public PaymentService() {
+ super(PAYMENTSERVICE_WSDL_LOCATION, new QName("http://www.tuscanyscatours.com/Payment/", "PaymentService"));
+ }
+
+ /**
+ *
+ * @return
+ * returns Payment
+ */
+ @WebEndpoint(name = "PaymentPort")
+ public Payment getPaymentPort() {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/Payment/", "PaymentPort"), Payment.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return
+ * returns Payment
+ */
+ @WebEndpoint(name = "PaymentPort")
+ public Payment getPaymentPort(WebServiceFeature... features) {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/Payment/", "PaymentPort"), Payment.class, features);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/package-info.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/package-info.java
new file mode 100644
index 0000000000..acd208f5c9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/com/tuscanyscatours/payment/package-info.java
@@ -0,0 +1,2 @@
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.tuscanyscatours.com/Payment/")
+package com.tuscanyscatours.payment;
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/scatours/payment/PaymentLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/scatours/payment/PaymentLauncher.java
new file mode 100644
index 0000000000..0208f058a6
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-bpel/src/main/java/scatours/payment/PaymentLauncher.java
@@ -0,0 +1,48 @@
+/*
+ * 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.payment;
+
+import static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+import com.tuscanyscatours.payment.Payment;
+
+public class PaymentLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCANode node = SCANodeFactory.newInstance().createSCANode(null,
+ locate("payment-bpel"),
+ locate("creditcard-payment-jaxb"),
+ locate("emailgateway"));
+ node.start();
+
+ SCAClient client = (SCAClient)node;
+ Payment payment = client.getService(Payment.class, "Payment/paymentPartnerLink");
+
+ System.out.println("Payment BPEL test");
+ System.out.println("\nSuccessful Payment - Status = \n\n" + payment.makePaymentMember("c-0", 100.00f));
+ System.out.println("\n\nFailed Payment - Status = \n\n" + payment.makePaymentMember("c-1", 100.00f));
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/build.xml
new file mode 100644
index 0000000000..8889eb370c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-payment-groovy" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.PaymentLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/pom.xml
new file mode 100644
index 0000000000..a4c56c19a5
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/pom.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-payment-groovy</artifactId>
+ <name>Apache Tuscany SCA Tours Payment Groovy Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-script</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.PaymentLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/EmailGateway.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/EmailGateway.java
new file mode 100644
index 0000000000..0e4e9726de
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/EmailGateway.java
@@ -0,0 +1,40 @@
+
+package com.tuscanyscatours.emailgateway;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebService(name = "EmailGateway", targetNamespace = "http://www.tuscanyscatours.com/EmailGateway/")
+@XmlSeeAlso({
+ ObjectFactory.class
+})
+public interface EmailGateway {
+
+
+ /**
+ *
+ * @param email
+ * @return
+ * returns java.lang.String
+ */
+ @WebMethod(action = "http://www.tuscanyscatours.com/EmailGateway/sendEmail")
+ @WebResult(name = "Status", targetNamespace = "")
+ @RequestWrapper(localName = "sendEmail", targetNamespace = "http://www.tuscanyscatours.com/EmailGateway/", className = "com.tuscanyscatours.emailgateway.SendEmailType")
+ @ResponseWrapper(localName = "sendEmailResponse", targetNamespace = "http://www.tuscanyscatours.com/EmailGateway/", className = "com.tuscanyscatours.emailgateway.SendEmailResponseType")
+ public String sendEmail(
+ @WebParam(name = "Email", targetNamespace = "")
+ EmailType email);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/EmailGatewayService.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/EmailGatewayService.java
new file mode 100644
index 0000000000..8f87855dd9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/EmailGatewayService.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.emailgateway;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebServiceClient(name = "EmailGatewayService", targetNamespace = "http://www.tuscanyscatours.com/EmailGateway/", wsdlLocation = "file:/C:/simon/tuscany/travelsample/contributions/payment-groovy/src/main/resources/EmailGateway.wsdl")
+public class EmailGatewayService
+ extends Service
+{
+
+ private final static URL EMAILGATEWAYSERVICE_WSDL_LOCATION;
+ private final static Logger logger = Logger.getLogger(com.tuscanyscatours.emailgateway.EmailGatewayService.class.getName());
+
+ static {
+ URL url = null;
+ try {
+ URL baseUrl;
+ baseUrl = com.tuscanyscatours.emailgateway.EmailGatewayService.class.getResource(".");
+ url = new URL(baseUrl, "file:/C:/simon/tuscany/travelsample/contributions/payment-groovy/src/main/resources/EmailGateway.wsdl");
+ } catch (MalformedURLException e) {
+ logger.warning("Failed to create URL for the wsdl Location: 'file:/C:/simon/tuscany/travelsample/contributions/payment-groovy/src/main/resources/EmailGateway.wsdl', retrying as a local file");
+ logger.warning(e.getMessage());
+ }
+ EMAILGATEWAYSERVICE_WSDL_LOCATION = url;
+ }
+
+ public EmailGatewayService(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+ public EmailGatewayService() {
+ super(EMAILGATEWAYSERVICE_WSDL_LOCATION, new QName("http://www.tuscanyscatours.com/EmailGateway/", "EmailGatewayService"));
+ }
+
+ /**
+ *
+ * @return
+ * returns EmailGateway
+ */
+ @WebEndpoint(name = "EmailGatewayPort")
+ public EmailGateway getEmailGatewayPort() {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/EmailGateway/", "EmailGatewayPort"), EmailGateway.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return
+ * returns EmailGateway
+ */
+ @WebEndpoint(name = "EmailGatewayPort")
+ public EmailGateway getEmailGatewayPort(WebServiceFeature... features) {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/EmailGateway/", "EmailGatewayPort"), EmailGateway.class, features);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/EmailType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/EmailType.java
new file mode 100644
index 0000000000..25935d2303
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/EmailType.java
@@ -0,0 +1,118 @@
+
+package com.tuscanyscatours.emailgateway;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for EmailType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="EmailType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="To" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="Title" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="Body" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "EmailType", propOrder = {
+ "to",
+ "title",
+ "body"
+})
+public class EmailType {
+
+ @XmlElement(name = "To", required = true)
+ protected String to;
+ @XmlElement(name = "Title", required = true)
+ protected String title;
+ @XmlElement(name = "Body", required = true)
+ protected String body;
+
+ /**
+ * Gets the value of the to property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTo() {
+ return to;
+ }
+
+ /**
+ * Sets the value of the to property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTo(String value) {
+ this.to = value;
+ }
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTitle(String value) {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the body property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getBody() {
+ return body;
+ }
+
+ /**
+ * Sets the value of the body property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setBody(String value) {
+ this.body = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/ObjectFactory.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/ObjectFactory.java
new file mode 100644
index 0000000000..f414bb3eb3
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/ObjectFactory.java
@@ -0,0 +1,79 @@
+
+package com.tuscanyscatours.emailgateway;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the com.tuscanyscatours.emailgateway package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _SendEmailResponse_QNAME = new QName("http://www.tuscanyscatours.com/EmailGateway/", "sendEmailResponse");
+ private final static QName _SendEmail_QNAME = new QName("http://www.tuscanyscatours.com/EmailGateway/", "sendEmail");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.tuscanyscatours.emailgateway
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link SendEmailType }
+ *
+ */
+ public SendEmailType createSendEmailType() {
+ return new SendEmailType();
+ }
+
+ /**
+ * Create an instance of {@link EmailType }
+ *
+ */
+ public EmailType createEmailType() {
+ return new EmailType();
+ }
+
+ /**
+ * Create an instance of {@link SendEmailResponseType }
+ *
+ */
+ public SendEmailResponseType createSendEmailResponseType() {
+ return new SendEmailResponseType();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SendEmailResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/EmailGateway/", name = "sendEmailResponse")
+ public JAXBElement<SendEmailResponseType> createSendEmailResponse(SendEmailResponseType value) {
+ return new JAXBElement<SendEmailResponseType>(_SendEmailResponse_QNAME, SendEmailResponseType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SendEmailType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/EmailGateway/", name = "sendEmail")
+ public JAXBElement<SendEmailType> createSendEmail(SendEmailType value) {
+ return new JAXBElement<SendEmailType>(_SendEmail_QNAME, SendEmailType.class, null, value);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/SendEmailResponseType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/SendEmailResponseType.java
new file mode 100644
index 0000000000..6d366b7554
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/SendEmailResponseType.java
@@ -0,0 +1,62 @@
+
+package com.tuscanyscatours.emailgateway;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for SendEmailResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="SendEmailResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="Status" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SendEmailResponseType", propOrder = {
+ "status"
+})
+public class SendEmailResponseType {
+
+ @XmlElement(name = "Status", required = true)
+ protected String status;
+
+ /**
+ * Gets the value of the status property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/SendEmailType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/SendEmailType.java
new file mode 100644
index 0000000000..cc8e15366c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/SendEmailType.java
@@ -0,0 +1,62 @@
+
+package com.tuscanyscatours.emailgateway;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for SendEmailType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="SendEmailType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="Email" type="{http://www.tuscanyscatours.com/EmailGateway/}EmailType"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SendEmailType", propOrder = {
+ "email"
+})
+public class SendEmailType {
+
+ @XmlElement(name = "Email", required = true)
+ protected EmailType email;
+
+ /**
+ * Gets the value of the email property.
+ *
+ * @return
+ * possible object is
+ * {@link EmailType }
+ *
+ */
+ public EmailType getEmail() {
+ return email;
+ }
+
+ /**
+ * Sets the value of the email property.
+ *
+ * @param value
+ * allowed object is
+ * {@link EmailType }
+ *
+ */
+ public void setEmail(EmailType value) {
+ this.email = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/package-info.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/package-info.java
new file mode 100644
index 0000000000..2c2d603ada
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/emailgateway/package-info.java
@@ -0,0 +1,2 @@
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.tuscanyscatours.com/EmailGateway/")
+package com.tuscanyscatours.emailgateway;
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java
new file mode 100644
index 0000000000..e5f3ef3cad
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java
@@ -0,0 +1,62 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MakePaymentMemberResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MakePaymentMemberResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="Status" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MakePaymentMemberResponseType", propOrder = {
+ "status"
+})
+public class MakePaymentMemberResponseType {
+
+ @XmlElement(name = "Status", required = true)
+ protected String status;
+
+ /**
+ * Gets the value of the status property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java
new file mode 100644
index 0000000000..ca94d86628
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java
@@ -0,0 +1,82 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MakePaymentMemberType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MakePaymentMemberType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="CustomerId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="Amount" type="{http://www.w3.org/2001/XMLSchema}float"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MakePaymentMemberType", propOrder = {
+ "customerId",
+ "amount"
+})
+public class MakePaymentMemberType {
+
+ @XmlElement(name = "CustomerId", required = true)
+ protected String customerId;
+ @XmlElement(name = "Amount")
+ protected float amount;
+
+ /**
+ * Gets the value of the customerId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCustomerId() {
+ return customerId;
+ }
+
+ /**
+ * Sets the value of the customerId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCustomerId(String value) {
+ this.customerId = value;
+ }
+
+ /**
+ * Gets the value of the amount property.
+ *
+ */
+ public float getAmount() {
+ return amount;
+ }
+
+ /**
+ * Sets the value of the amount property.
+ *
+ */
+ public void setAmount(float value) {
+ this.amount = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java
new file mode 100644
index 0000000000..b069b2ba94
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the com.tuscanyscatours.payment package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _MakePaymentMember_QNAME = new QName("http://www.tuscanyscatours.com/Payment/", "makePaymentMember");
+ private final static QName _MakePaymentMemberResponse_QNAME = new QName("http://www.tuscanyscatours.com/Payment/", "makePaymentMemberResponse");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.tuscanyscatours.payment
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link MakePaymentMemberResponseType }
+ *
+ */
+ public MakePaymentMemberResponseType createMakePaymentMemberResponseType() {
+ return new MakePaymentMemberResponseType();
+ }
+
+ /**
+ * Create an instance of {@link MakePaymentMemberType }
+ *
+ */
+ public MakePaymentMemberType createMakePaymentMemberType() {
+ return new MakePaymentMemberType();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MakePaymentMemberType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/Payment/", name = "makePaymentMember")
+ public JAXBElement<MakePaymentMemberType> createMakePaymentMember(MakePaymentMemberType value) {
+ return new JAXBElement<MakePaymentMemberType>(_MakePaymentMember_QNAME, MakePaymentMemberType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MakePaymentMemberResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/Payment/", name = "makePaymentMemberResponse")
+ public JAXBElement<MakePaymentMemberResponseType> createMakePaymentMemberResponse(MakePaymentMemberResponseType value) {
+ return new JAXBElement<MakePaymentMemberResponseType>(_MakePaymentMemberResponse_QNAME, MakePaymentMemberResponseType.class, null, value);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/Payment.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/Payment.java
new file mode 100644
index 0000000000..bbbd03d89a
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/Payment.java
@@ -0,0 +1,43 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebService(name = "Payment", targetNamespace = "http://www.tuscanyscatours.com/Payment/")
+@XmlSeeAlso({
+ ObjectFactory.class
+})
+public interface Payment {
+
+
+ /**
+ *
+ * @param amount
+ * @param customerId
+ * @return
+ * returns java.lang.String
+ */
+ @WebMethod(action = "http://www.tuscanyscatours.com/Payment/makePayment")
+ @WebResult(name = "Status", targetNamespace = "")
+ @RequestWrapper(localName = "makePaymentMember", targetNamespace = "http://www.tuscanyscatours.com/Payment/", className = "com.tuscanyscatours.payment.MakePaymentMemberType")
+ @ResponseWrapper(localName = "makePaymentMemberResponse", targetNamespace = "http://www.tuscanyscatours.com/Payment/", className = "com.tuscanyscatours.payment.MakePaymentMemberResponseType")
+ public String makePaymentMember(
+ @WebParam(name = "CustomerId", targetNamespace = "")
+ String customerId,
+ @WebParam(name = "Amount", targetNamespace = "")
+ float amount);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/PaymentService.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/PaymentService.java
new file mode 100644
index 0000000000..a430175976
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/PaymentService.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.payment;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebServiceClient(name = "PaymentService", targetNamespace = "http://www.tuscanyscatours.com/Payment/", wsdlLocation = "file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl")
+public class PaymentService
+ extends Service
+{
+
+ private final static URL PAYMENTSERVICE_WSDL_LOCATION;
+ private final static Logger logger = Logger.getLogger(com.tuscanyscatours.payment.PaymentService.class.getName());
+
+ static {
+ URL url = null;
+ try {
+ URL baseUrl;
+ baseUrl = com.tuscanyscatours.payment.PaymentService.class.getResource(".");
+ url = new URL(baseUrl, "file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl");
+ } catch (MalformedURLException e) {
+ logger.warning("Failed to create URL for the wsdl Location: 'file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl', retrying as a local file");
+ logger.warning(e.getMessage());
+ }
+ PAYMENTSERVICE_WSDL_LOCATION = url;
+ }
+
+ public PaymentService(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+ public PaymentService() {
+ super(PAYMENTSERVICE_WSDL_LOCATION, new QName("http://www.tuscanyscatours.com/Payment/", "PaymentService"));
+ }
+
+ /**
+ *
+ * @return
+ * returns Payment
+ */
+ @WebEndpoint(name = "PaymentPort")
+ public Payment getPaymentPort() {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/Payment/", "PaymentPort"), Payment.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return
+ * returns Payment
+ */
+ @WebEndpoint(name = "PaymentPort")
+ public Payment getPaymentPort(WebServiceFeature... features) {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/Payment/", "PaymentPort"), Payment.class, features);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/package-info.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/package-info.java
new file mode 100644
index 0000000000..acd208f5c9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/com/tuscanyscatours/payment/package-info.java
@@ -0,0 +1,2 @@
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.tuscanyscatours.com/Payment/")
+package com.tuscanyscatours.payment;
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/scatours/payment/PaymentLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/scatours/payment/PaymentLauncher.java
new file mode 100644
index 0000000000..8dbf39b514
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-groovy/src/main/java/scatours/payment/PaymentLauncher.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 scatours.payment;
+
+import static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+import com.tuscanyscatours.payment.Payment;
+
+public class PaymentLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCANode node = SCANodeFactory.newInstance().createSCANode(null,
+ locate("payment-groovy"),
+ locate("creditcard-payment-jaxb"),
+ locate("emailgateway"));
+ node.start();
+
+ SCAClient client = (SCAClient)node;
+ Payment payment = client.getService(Payment.class, "Payment");
+
+ System.out.println("Payment Groovy test");
+ System.out.println("\nSuccessful Payment - Status = \n\n" + payment.makePaymentMember("c-0", 100.00f));
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/build.xml
new file mode 100644
index 0000000000..0252f8cf15
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-payment-java-policy" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.PaymentLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/pom.xml
new file mode 100644
index 0000000000..adcce461e9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/pom.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-payment-java-policy</artifactId>
+ <name>Apache Tuscany SCA Tours Payment Java Policy Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.PaymentLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java
new file mode 100644
index 0000000000..e5f3ef3cad
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java
@@ -0,0 +1,62 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MakePaymentMemberResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MakePaymentMemberResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="Status" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MakePaymentMemberResponseType", propOrder = {
+ "status"
+})
+public class MakePaymentMemberResponseType {
+
+ @XmlElement(name = "Status", required = true)
+ protected String status;
+
+ /**
+ * Gets the value of the status property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java
new file mode 100644
index 0000000000..ca94d86628
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java
@@ -0,0 +1,82 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MakePaymentMemberType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MakePaymentMemberType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="CustomerId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="Amount" type="{http://www.w3.org/2001/XMLSchema}float"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MakePaymentMemberType", propOrder = {
+ "customerId",
+ "amount"
+})
+public class MakePaymentMemberType {
+
+ @XmlElement(name = "CustomerId", required = true)
+ protected String customerId;
+ @XmlElement(name = "Amount")
+ protected float amount;
+
+ /**
+ * Gets the value of the customerId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCustomerId() {
+ return customerId;
+ }
+
+ /**
+ * Sets the value of the customerId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCustomerId(String value) {
+ this.customerId = value;
+ }
+
+ /**
+ * Gets the value of the amount property.
+ *
+ */
+ public float getAmount() {
+ return amount;
+ }
+
+ /**
+ * Sets the value of the amount property.
+ *
+ */
+ public void setAmount(float value) {
+ this.amount = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java
new file mode 100644
index 0000000000..b069b2ba94
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the com.tuscanyscatours.payment package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _MakePaymentMember_QNAME = new QName("http://www.tuscanyscatours.com/Payment/", "makePaymentMember");
+ private final static QName _MakePaymentMemberResponse_QNAME = new QName("http://www.tuscanyscatours.com/Payment/", "makePaymentMemberResponse");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.tuscanyscatours.payment
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link MakePaymentMemberResponseType }
+ *
+ */
+ public MakePaymentMemberResponseType createMakePaymentMemberResponseType() {
+ return new MakePaymentMemberResponseType();
+ }
+
+ /**
+ * Create an instance of {@link MakePaymentMemberType }
+ *
+ */
+ public MakePaymentMemberType createMakePaymentMemberType() {
+ return new MakePaymentMemberType();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MakePaymentMemberType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/Payment/", name = "makePaymentMember")
+ public JAXBElement<MakePaymentMemberType> createMakePaymentMember(MakePaymentMemberType value) {
+ return new JAXBElement<MakePaymentMemberType>(_MakePaymentMember_QNAME, MakePaymentMemberType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MakePaymentMemberResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/Payment/", name = "makePaymentMemberResponse")
+ public JAXBElement<MakePaymentMemberResponseType> createMakePaymentMemberResponse(MakePaymentMemberResponseType value) {
+ return new JAXBElement<MakePaymentMemberResponseType>(_MakePaymentMemberResponse_QNAME, MakePaymentMemberResponseType.class, null, value);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/Payment.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/Payment.java
new file mode 100644
index 0000000000..bbbd03d89a
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/Payment.java
@@ -0,0 +1,43 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebService(name = "Payment", targetNamespace = "http://www.tuscanyscatours.com/Payment/")
+@XmlSeeAlso({
+ ObjectFactory.class
+})
+public interface Payment {
+
+
+ /**
+ *
+ * @param amount
+ * @param customerId
+ * @return
+ * returns java.lang.String
+ */
+ @WebMethod(action = "http://www.tuscanyscatours.com/Payment/makePayment")
+ @WebResult(name = "Status", targetNamespace = "")
+ @RequestWrapper(localName = "makePaymentMember", targetNamespace = "http://www.tuscanyscatours.com/Payment/", className = "com.tuscanyscatours.payment.MakePaymentMemberType")
+ @ResponseWrapper(localName = "makePaymentMemberResponse", targetNamespace = "http://www.tuscanyscatours.com/Payment/", className = "com.tuscanyscatours.payment.MakePaymentMemberResponseType")
+ public String makePaymentMember(
+ @WebParam(name = "CustomerId", targetNamespace = "")
+ String customerId,
+ @WebParam(name = "Amount", targetNamespace = "")
+ float amount);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/PaymentService.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/PaymentService.java
new file mode 100644
index 0000000000..a430175976
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/PaymentService.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.payment;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebServiceClient(name = "PaymentService", targetNamespace = "http://www.tuscanyscatours.com/Payment/", wsdlLocation = "file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl")
+public class PaymentService
+ extends Service
+{
+
+ private final static URL PAYMENTSERVICE_WSDL_LOCATION;
+ private final static Logger logger = Logger.getLogger(com.tuscanyscatours.payment.PaymentService.class.getName());
+
+ static {
+ URL url = null;
+ try {
+ URL baseUrl;
+ baseUrl = com.tuscanyscatours.payment.PaymentService.class.getResource(".");
+ url = new URL(baseUrl, "file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl");
+ } catch (MalformedURLException e) {
+ logger.warning("Failed to create URL for the wsdl Location: 'file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl', retrying as a local file");
+ logger.warning(e.getMessage());
+ }
+ PAYMENTSERVICE_WSDL_LOCATION = url;
+ }
+
+ public PaymentService(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+ public PaymentService() {
+ super(PAYMENTSERVICE_WSDL_LOCATION, new QName("http://www.tuscanyscatours.com/Payment/", "PaymentService"));
+ }
+
+ /**
+ *
+ * @return
+ * returns Payment
+ */
+ @WebEndpoint(name = "PaymentPort")
+ public Payment getPaymentPort() {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/Payment/", "PaymentPort"), Payment.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return
+ * returns Payment
+ */
+ @WebEndpoint(name = "PaymentPort")
+ public Payment getPaymentPort(WebServiceFeature... features) {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/Payment/", "PaymentPort"), Payment.class, features);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/package-info.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/package-info.java
new file mode 100644
index 0000000000..acd208f5c9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/com/tuscanyscatours/payment/package-info.java
@@ -0,0 +1,2 @@
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.tuscanyscatours.com/Payment/")
+package com.tuscanyscatours.payment;
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/scatours/payment/PaymentLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/scatours/payment/PaymentLauncher.java
new file mode 100644
index 0000000000..e5bd98ff2b
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java-policy/src/main/java/scatours/payment/PaymentLauncher.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 scatours.payment;
+
+import static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+import com.tuscanyscatours.payment.Payment;
+
+public class PaymentLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCANode node = SCANodeFactory.newInstance().createSCANode(null,
+ locate("payment-java-policy"),
+ locate("creditcard-payment-jaxb-policy"));
+ node.start();
+
+ SCAClient client = (SCAClient)node;
+ Payment payment = client.getService(Payment.class, "Payment");
+
+ System.out.println("Payment Java Policy test");
+ System.out.println("\nSuccessful Payment - Status = \n\n" + payment.makePaymentMember("c-0", 100.00f));
+ System.out.println("\n\nFailed Payment - Status = \n\n" + payment.makePaymentMember("c-1", 100.00f));
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/build.xml
new file mode 100644
index 0000000000..27d6c9a84c
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-payment-java" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.PaymentLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/pom.xml
new file mode 100644
index 0000000000..d77dfdd484
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/pom.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-payment-java</artifactId>
+ <name>Apache Tuscany SCA Tours Payment Java Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.PaymentLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java
new file mode 100644
index 0000000000..e5f3ef3cad
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java
@@ -0,0 +1,62 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MakePaymentMemberResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MakePaymentMemberResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="Status" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MakePaymentMemberResponseType", propOrder = {
+ "status"
+})
+public class MakePaymentMemberResponseType {
+
+ @XmlElement(name = "Status", required = true)
+ protected String status;
+
+ /**
+ * Gets the value of the status property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java
new file mode 100644
index 0000000000..ca94d86628
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java
@@ -0,0 +1,82 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MakePaymentMemberType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MakePaymentMemberType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="CustomerId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="Amount" type="{http://www.w3.org/2001/XMLSchema}float"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MakePaymentMemberType", propOrder = {
+ "customerId",
+ "amount"
+})
+public class MakePaymentMemberType {
+
+ @XmlElement(name = "CustomerId", required = true)
+ protected String customerId;
+ @XmlElement(name = "Amount")
+ protected float amount;
+
+ /**
+ * Gets the value of the customerId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCustomerId() {
+ return customerId;
+ }
+
+ /**
+ * Sets the value of the customerId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCustomerId(String value) {
+ this.customerId = value;
+ }
+
+ /**
+ * Gets the value of the amount property.
+ *
+ */
+ public float getAmount() {
+ return amount;
+ }
+
+ /**
+ * Sets the value of the amount property.
+ *
+ */
+ public void setAmount(float value) {
+ this.amount = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java
new file mode 100644
index 0000000000..b069b2ba94
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the com.tuscanyscatours.payment package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _MakePaymentMember_QNAME = new QName("http://www.tuscanyscatours.com/Payment/", "makePaymentMember");
+ private final static QName _MakePaymentMemberResponse_QNAME = new QName("http://www.tuscanyscatours.com/Payment/", "makePaymentMemberResponse");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.tuscanyscatours.payment
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link MakePaymentMemberResponseType }
+ *
+ */
+ public MakePaymentMemberResponseType createMakePaymentMemberResponseType() {
+ return new MakePaymentMemberResponseType();
+ }
+
+ /**
+ * Create an instance of {@link MakePaymentMemberType }
+ *
+ */
+ public MakePaymentMemberType createMakePaymentMemberType() {
+ return new MakePaymentMemberType();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MakePaymentMemberType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/Payment/", name = "makePaymentMember")
+ public JAXBElement<MakePaymentMemberType> createMakePaymentMember(MakePaymentMemberType value) {
+ return new JAXBElement<MakePaymentMemberType>(_MakePaymentMember_QNAME, MakePaymentMemberType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MakePaymentMemberResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/Payment/", name = "makePaymentMemberResponse")
+ public JAXBElement<MakePaymentMemberResponseType> createMakePaymentMemberResponse(MakePaymentMemberResponseType value) {
+ return new JAXBElement<MakePaymentMemberResponseType>(_MakePaymentMemberResponse_QNAME, MakePaymentMemberResponseType.class, null, value);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/Payment.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/Payment.java
new file mode 100644
index 0000000000..bbbd03d89a
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/Payment.java
@@ -0,0 +1,43 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebService(name = "Payment", targetNamespace = "http://www.tuscanyscatours.com/Payment/")
+@XmlSeeAlso({
+ ObjectFactory.class
+})
+public interface Payment {
+
+
+ /**
+ *
+ * @param amount
+ * @param customerId
+ * @return
+ * returns java.lang.String
+ */
+ @WebMethod(action = "http://www.tuscanyscatours.com/Payment/makePayment")
+ @WebResult(name = "Status", targetNamespace = "")
+ @RequestWrapper(localName = "makePaymentMember", targetNamespace = "http://www.tuscanyscatours.com/Payment/", className = "com.tuscanyscatours.payment.MakePaymentMemberType")
+ @ResponseWrapper(localName = "makePaymentMemberResponse", targetNamespace = "http://www.tuscanyscatours.com/Payment/", className = "com.tuscanyscatours.payment.MakePaymentMemberResponseType")
+ public String makePaymentMember(
+ @WebParam(name = "CustomerId", targetNamespace = "")
+ String customerId,
+ @WebParam(name = "Amount", targetNamespace = "")
+ float amount);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/PaymentService.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/PaymentService.java
new file mode 100644
index 0000000000..a430175976
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/PaymentService.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.payment;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebServiceClient(name = "PaymentService", targetNamespace = "http://www.tuscanyscatours.com/Payment/", wsdlLocation = "file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl")
+public class PaymentService
+ extends Service
+{
+
+ private final static URL PAYMENTSERVICE_WSDL_LOCATION;
+ private final static Logger logger = Logger.getLogger(com.tuscanyscatours.payment.PaymentService.class.getName());
+
+ static {
+ URL url = null;
+ try {
+ URL baseUrl;
+ baseUrl = com.tuscanyscatours.payment.PaymentService.class.getResource(".");
+ url = new URL(baseUrl, "file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl");
+ } catch (MalformedURLException e) {
+ logger.warning("Failed to create URL for the wsdl Location: 'file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl', retrying as a local file");
+ logger.warning(e.getMessage());
+ }
+ PAYMENTSERVICE_WSDL_LOCATION = url;
+ }
+
+ public PaymentService(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+ public PaymentService() {
+ super(PAYMENTSERVICE_WSDL_LOCATION, new QName("http://www.tuscanyscatours.com/Payment/", "PaymentService"));
+ }
+
+ /**
+ *
+ * @return
+ * returns Payment
+ */
+ @WebEndpoint(name = "PaymentPort")
+ public Payment getPaymentPort() {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/Payment/", "PaymentPort"), Payment.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return
+ * returns Payment
+ */
+ @WebEndpoint(name = "PaymentPort")
+ public Payment getPaymentPort(WebServiceFeature... features) {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/Payment/", "PaymentPort"), Payment.class, features);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/package-info.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/package-info.java
new file mode 100644
index 0000000000..acd208f5c9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/com/tuscanyscatours/payment/package-info.java
@@ -0,0 +1,2 @@
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.tuscanyscatours.com/Payment/")
+package com.tuscanyscatours.payment;
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/scatours/payment/PaymentLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/scatours/payment/PaymentLauncher.java
new file mode 100644
index 0000000000..8d5cc8765d
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-java/src/main/java/scatours/payment/PaymentLauncher.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 scatours.payment;
+
+import static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+import com.tuscanyscatours.payment.Payment;
+
+public class PaymentLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCANode node = SCANodeFactory.newInstance().createSCANode(null,
+ locate("payment-java"),
+ locate("creditcard-payment-jaxb"));
+ node.start();
+
+ SCAClient client = (SCAClient)node;
+ Payment payment = client.getService(Payment.class, "Payment");
+
+ System.out.println("Payment Java test");
+ System.out.println("\nSuccessful Payment - Status = \n\n" + payment.makePaymentMember("c-0", 100.00f));
+ System.out.println("\n\nFailed Payment - Status = \n\n" + payment.makePaymentMember("c-1", 100.00f));
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/build.xml
new file mode 100644
index 0000000000..7834eaca78
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-payment-spring-scatag" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.PaymentLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/pom.xml
new file mode 100644
index 0000000000..87cd7324ec
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/pom.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-payment-spring-scatag</artifactId>
+ <name>Apache Tuscany SCA Tours Payment Spring SCATag Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-spring</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-spring-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.PaymentLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java
new file mode 100644
index 0000000000..e5f3ef3cad
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java
@@ -0,0 +1,62 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MakePaymentMemberResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MakePaymentMemberResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="Status" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MakePaymentMemberResponseType", propOrder = {
+ "status"
+})
+public class MakePaymentMemberResponseType {
+
+ @XmlElement(name = "Status", required = true)
+ protected String status;
+
+ /**
+ * Gets the value of the status property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java
new file mode 100644
index 0000000000..ca94d86628
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java
@@ -0,0 +1,82 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MakePaymentMemberType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MakePaymentMemberType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="CustomerId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="Amount" type="{http://www.w3.org/2001/XMLSchema}float"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MakePaymentMemberType", propOrder = {
+ "customerId",
+ "amount"
+})
+public class MakePaymentMemberType {
+
+ @XmlElement(name = "CustomerId", required = true)
+ protected String customerId;
+ @XmlElement(name = "Amount")
+ protected float amount;
+
+ /**
+ * Gets the value of the customerId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCustomerId() {
+ return customerId;
+ }
+
+ /**
+ * Sets the value of the customerId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCustomerId(String value) {
+ this.customerId = value;
+ }
+
+ /**
+ * Gets the value of the amount property.
+ *
+ */
+ public float getAmount() {
+ return amount;
+ }
+
+ /**
+ * Sets the value of the amount property.
+ *
+ */
+ public void setAmount(float value) {
+ this.amount = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java
new file mode 100644
index 0000000000..b069b2ba94
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the com.tuscanyscatours.payment package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _MakePaymentMember_QNAME = new QName("http://www.tuscanyscatours.com/Payment/", "makePaymentMember");
+ private final static QName _MakePaymentMemberResponse_QNAME = new QName("http://www.tuscanyscatours.com/Payment/", "makePaymentMemberResponse");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.tuscanyscatours.payment
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link MakePaymentMemberResponseType }
+ *
+ */
+ public MakePaymentMemberResponseType createMakePaymentMemberResponseType() {
+ return new MakePaymentMemberResponseType();
+ }
+
+ /**
+ * Create an instance of {@link MakePaymentMemberType }
+ *
+ */
+ public MakePaymentMemberType createMakePaymentMemberType() {
+ return new MakePaymentMemberType();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MakePaymentMemberType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/Payment/", name = "makePaymentMember")
+ public JAXBElement<MakePaymentMemberType> createMakePaymentMember(MakePaymentMemberType value) {
+ return new JAXBElement<MakePaymentMemberType>(_MakePaymentMember_QNAME, MakePaymentMemberType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MakePaymentMemberResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/Payment/", name = "makePaymentMemberResponse")
+ public JAXBElement<MakePaymentMemberResponseType> createMakePaymentMemberResponse(MakePaymentMemberResponseType value) {
+ return new JAXBElement<MakePaymentMemberResponseType>(_MakePaymentMemberResponse_QNAME, MakePaymentMemberResponseType.class, null, value);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/Payment.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/Payment.java
new file mode 100644
index 0000000000..bbbd03d89a
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/Payment.java
@@ -0,0 +1,43 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebService(name = "Payment", targetNamespace = "http://www.tuscanyscatours.com/Payment/")
+@XmlSeeAlso({
+ ObjectFactory.class
+})
+public interface Payment {
+
+
+ /**
+ *
+ * @param amount
+ * @param customerId
+ * @return
+ * returns java.lang.String
+ */
+ @WebMethod(action = "http://www.tuscanyscatours.com/Payment/makePayment")
+ @WebResult(name = "Status", targetNamespace = "")
+ @RequestWrapper(localName = "makePaymentMember", targetNamespace = "http://www.tuscanyscatours.com/Payment/", className = "com.tuscanyscatours.payment.MakePaymentMemberType")
+ @ResponseWrapper(localName = "makePaymentMemberResponse", targetNamespace = "http://www.tuscanyscatours.com/Payment/", className = "com.tuscanyscatours.payment.MakePaymentMemberResponseType")
+ public String makePaymentMember(
+ @WebParam(name = "CustomerId", targetNamespace = "")
+ String customerId,
+ @WebParam(name = "Amount", targetNamespace = "")
+ float amount);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/PaymentService.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/PaymentService.java
new file mode 100644
index 0000000000..a430175976
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/PaymentService.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.payment;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebServiceClient(name = "PaymentService", targetNamespace = "http://www.tuscanyscatours.com/Payment/", wsdlLocation = "file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl")
+public class PaymentService
+ extends Service
+{
+
+ private final static URL PAYMENTSERVICE_WSDL_LOCATION;
+ private final static Logger logger = Logger.getLogger(com.tuscanyscatours.payment.PaymentService.class.getName());
+
+ static {
+ URL url = null;
+ try {
+ URL baseUrl;
+ baseUrl = com.tuscanyscatours.payment.PaymentService.class.getResource(".");
+ url = new URL(baseUrl, "file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl");
+ } catch (MalformedURLException e) {
+ logger.warning("Failed to create URL for the wsdl Location: 'file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl', retrying as a local file");
+ logger.warning(e.getMessage());
+ }
+ PAYMENTSERVICE_WSDL_LOCATION = url;
+ }
+
+ public PaymentService(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+ public PaymentService() {
+ super(PAYMENTSERVICE_WSDL_LOCATION, new QName("http://www.tuscanyscatours.com/Payment/", "PaymentService"));
+ }
+
+ /**
+ *
+ * @return
+ * returns Payment
+ */
+ @WebEndpoint(name = "PaymentPort")
+ public Payment getPaymentPort() {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/Payment/", "PaymentPort"), Payment.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return
+ * returns Payment
+ */
+ @WebEndpoint(name = "PaymentPort")
+ public Payment getPaymentPort(WebServiceFeature... features) {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/Payment/", "PaymentPort"), Payment.class, features);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/package-info.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/package-info.java
new file mode 100644
index 0000000000..acd208f5c9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/com/tuscanyscatours/payment/package-info.java
@@ -0,0 +1,2 @@
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.tuscanyscatours.com/Payment/")
+package com.tuscanyscatours.payment;
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/scatours/payment/PaymentLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/scatours/payment/PaymentLauncher.java
new file mode 100644
index 0000000000..f8dea99f34
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring-scatag/src/main/java/scatours/payment/PaymentLauncher.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 scatours.payment;
+
+import static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+import com.tuscanyscatours.payment.Payment;
+
+public class PaymentLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCANode node = SCANodeFactory.newInstance().createSCANode(null,
+ locate("payment-script"),
+ locate("creditcard-payment-jaxb"));
+ node.start();
+
+ SCAClient client = (SCAClient)node;
+ Payment payment = client.getService(Payment.class, "Payment/Payment");
+
+ System.out.println("Payment Spring SCATag test");
+ System.out.println("\nSuccessful Payment - Status = \n\n" + payment.makePaymentMember("c-0", 100.00f));
+ System.out.println("\n\nFailed Payment - Status = \n\n" + payment.makePaymentMember("c-1", 100.00f));
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/build.xml
new file mode 100644
index 0000000000..2ca285a03b
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-payment-spring" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.PaymentLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/pom.xml
new file mode 100644
index 0000000000..a7c3a7a3e5
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/pom.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-payment-spring</artifactId>
+ <name>Apache Tuscany SCA Tours Payment Spring Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-spring</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-spring-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.PaymentLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java
new file mode 100644
index 0000000000..e5f3ef3cad
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberResponseType.java
@@ -0,0 +1,62 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MakePaymentMemberResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MakePaymentMemberResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="Status" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MakePaymentMemberResponseType", propOrder = {
+ "status"
+})
+public class MakePaymentMemberResponseType {
+
+ @XmlElement(name = "Status", required = true)
+ protected String status;
+
+ /**
+ * Gets the value of the status property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java
new file mode 100644
index 0000000000..ca94d86628
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/MakePaymentMemberType.java
@@ -0,0 +1,82 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MakePaymentMemberType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MakePaymentMemberType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="CustomerId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;element name="Amount" type="{http://www.w3.org/2001/XMLSchema}float"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MakePaymentMemberType", propOrder = {
+ "customerId",
+ "amount"
+})
+public class MakePaymentMemberType {
+
+ @XmlElement(name = "CustomerId", required = true)
+ protected String customerId;
+ @XmlElement(name = "Amount")
+ protected float amount;
+
+ /**
+ * Gets the value of the customerId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCustomerId() {
+ return customerId;
+ }
+
+ /**
+ * Sets the value of the customerId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCustomerId(String value) {
+ this.customerId = value;
+ }
+
+ /**
+ * Gets the value of the amount property.
+ *
+ */
+ public float getAmount() {
+ return amount;
+ }
+
+ /**
+ * Sets the value of the amount property.
+ *
+ */
+ public void setAmount(float value) {
+ this.amount = value;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java
new file mode 100644
index 0000000000..b069b2ba94
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/ObjectFactory.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the com.tuscanyscatours.payment package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _MakePaymentMember_QNAME = new QName("http://www.tuscanyscatours.com/Payment/", "makePaymentMember");
+ private final static QName _MakePaymentMemberResponse_QNAME = new QName("http://www.tuscanyscatours.com/Payment/", "makePaymentMemberResponse");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.tuscanyscatours.payment
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link MakePaymentMemberResponseType }
+ *
+ */
+ public MakePaymentMemberResponseType createMakePaymentMemberResponseType() {
+ return new MakePaymentMemberResponseType();
+ }
+
+ /**
+ * Create an instance of {@link MakePaymentMemberType }
+ *
+ */
+ public MakePaymentMemberType createMakePaymentMemberType() {
+ return new MakePaymentMemberType();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MakePaymentMemberType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/Payment/", name = "makePaymentMember")
+ public JAXBElement<MakePaymentMemberType> createMakePaymentMember(MakePaymentMemberType value) {
+ return new JAXBElement<MakePaymentMemberType>(_MakePaymentMember_QNAME, MakePaymentMemberType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link MakePaymentMemberResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.tuscanyscatours.com/Payment/", name = "makePaymentMemberResponse")
+ public JAXBElement<MakePaymentMemberResponseType> createMakePaymentMemberResponse(MakePaymentMemberResponseType value) {
+ return new JAXBElement<MakePaymentMemberResponseType>(_MakePaymentMemberResponse_QNAME, MakePaymentMemberResponseType.class, null, value);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/Payment.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/Payment.java
new file mode 100644
index 0000000000..bbbd03d89a
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/Payment.java
@@ -0,0 +1,43 @@
+
+package com.tuscanyscatours.payment;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebService(name = "Payment", targetNamespace = "http://www.tuscanyscatours.com/Payment/")
+@XmlSeeAlso({
+ ObjectFactory.class
+})
+public interface Payment {
+
+
+ /**
+ *
+ * @param amount
+ * @param customerId
+ * @return
+ * returns java.lang.String
+ */
+ @WebMethod(action = "http://www.tuscanyscatours.com/Payment/makePayment")
+ @WebResult(name = "Status", targetNamespace = "")
+ @RequestWrapper(localName = "makePaymentMember", targetNamespace = "http://www.tuscanyscatours.com/Payment/", className = "com.tuscanyscatours.payment.MakePaymentMemberType")
+ @ResponseWrapper(localName = "makePaymentMemberResponse", targetNamespace = "http://www.tuscanyscatours.com/Payment/", className = "com.tuscanyscatours.payment.MakePaymentMemberResponseType")
+ public String makePaymentMember(
+ @WebParam(name = "CustomerId", targetNamespace = "")
+ String customerId,
+ @WebParam(name = "Amount", targetNamespace = "")
+ float amount);
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/PaymentService.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/PaymentService.java
new file mode 100644
index 0000000000..a430175976
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/PaymentService.java
@@ -0,0 +1,71 @@
+
+package com.tuscanyscatours.payment;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.7-b01-
+ * Generated source version: 2.1
+ *
+ */
+@WebServiceClient(name = "PaymentService", targetNamespace = "http://www.tuscanyscatours.com/Payment/", wsdlLocation = "file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl")
+public class PaymentService
+ extends Service
+{
+
+ private final static URL PAYMENTSERVICE_WSDL_LOCATION;
+ private final static Logger logger = Logger.getLogger(com.tuscanyscatours.payment.PaymentService.class.getName());
+
+ static {
+ URL url = null;
+ try {
+ URL baseUrl;
+ baseUrl = com.tuscanyscatours.payment.PaymentService.class.getResource(".");
+ url = new URL(baseUrl, "file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl");
+ } catch (MalformedURLException e) {
+ logger.warning("Failed to create URL for the wsdl Location: 'file:/C:/simon/tuscany/travelsample/contributions/payment-java/src/main/resources/Payment.wsdl', retrying as a local file");
+ logger.warning(e.getMessage());
+ }
+ PAYMENTSERVICE_WSDL_LOCATION = url;
+ }
+
+ public PaymentService(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+ public PaymentService() {
+ super(PAYMENTSERVICE_WSDL_LOCATION, new QName("http://www.tuscanyscatours.com/Payment/", "PaymentService"));
+ }
+
+ /**
+ *
+ * @return
+ * returns Payment
+ */
+ @WebEndpoint(name = "PaymentPort")
+ public Payment getPaymentPort() {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/Payment/", "PaymentPort"), Payment.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return
+ * returns Payment
+ */
+ @WebEndpoint(name = "PaymentPort")
+ public Payment getPaymentPort(WebServiceFeature... features) {
+ return super.getPort(new QName("http://www.tuscanyscatours.com/Payment/", "PaymentPort"), Payment.class, features);
+ }
+
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/package-info.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/package-info.java
new file mode 100644
index 0000000000..acd208f5c9
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/com/tuscanyscatours/payment/package-info.java
@@ -0,0 +1,2 @@
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.tuscanyscatours.com/Payment/")
+package com.tuscanyscatours.payment;
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/scatours/payment/PaymentLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/scatours/payment/PaymentLauncher.java
new file mode 100644
index 0000000000..6917b9c57b
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/payment-spring/src/main/java/scatours/payment/PaymentLauncher.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 scatours.payment;
+
+import static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+import com.tuscanyscatours.payment.Payment;
+
+public class PaymentLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCANode node = SCANodeFactory.newInstance().createSCANode(null,
+ locate("payment-spring"),
+ locate("creditcard-payment-jaxb"));
+ node.start();
+
+ SCAClient client = (SCAClient)node;
+ Payment payment = client.getService(Payment.class, "Payment/Payment");
+
+ System.out.println("Payment Spring test");
+ System.out.println("\nSuccessful Payment - Status = \n\n" + payment.makePaymentMember("c-0", 100.00f));
+ System.out.println("\n\nFailed Payment - Status = \n\n" + payment.makePaymentMember("c-1", 100.00f));
+
+ node.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/build.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/build.xml
new file mode 100644
index 0000000000..57001f70e3
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/build.xml
@@ -0,0 +1,35 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
+<project name="scatours-launcher-policy" default="compile">
+ <import file="../../antdefs.xml"/>
+ <path id="compile-path">
+ <pathelement path="../../util/launcher-common/target/scatours-util-launcher-common.jar"/>
+ </path>
+
+ <target name="run">
+ <java classname="scatours.PolicyLauncher" fork="true">
+ <classpath>
+ <pathelement location="target/${ant.project.name}.jar"/>
+ <path refid="compile-path"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/maven-eclipse.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/maven-eclipse.xml
new file mode 100644
index 0000000000..4ceebd71f7
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/maven-eclipse.xml
@@ -0,0 +1,8 @@
+<project default="copy-resources">
+ <target name="init"/>
+ <target name="copy-resources" depends="init">
+ <copy todir="target/classes/META-INF" filtering="true">
+ <fileset dir="." includes="LICENSE|NOTICE"/>
+ </copy>
+ </target>
+</project> \ No newline at end of file
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/pom.xml
new file mode 100644
index 0000000000..bb2c34a4fb
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/pom.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent><version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launcher-policy</artifactId>
+ <name>Apache Tuscany SCA Tours Policy Launcher</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours-util-launcher-common</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-api</artifactId>
+ <version>${tuscany.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-axis2</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-jetty</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-policy-security</artifactId>
+ <version>${tuscany.version}</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Class-Path>../util/scatours-util-launcher-common.jar</Class-Path>
+ </manifestEntries>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <classpathPrefix>../lib/</classpathPrefix>
+ <mainClass>scatours.PolicyLauncher</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/src/main/java/scatours/PolicyLauncher.java b/sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/src/main/java/scatours/PolicyLauncher.java
new file mode 100644
index 0000000000..b48c4e88ec
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/policy/src/main/java/scatours/PolicyLauncher.java
@@ -0,0 +1,49 @@
+/*
+ * 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 static scatours.launcher.LauncherUtil.locate;
+
+import org.apache.tuscany.sca.node.SCAClient;
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+
+public class PolicyLauncher {
+
+ public static void main(String[] args) throws Exception {
+ SCANode node1 =
+ SCANodeFactory.newInstance().createSCANode(null,
+ locate("policy-client"),
+ locate("payment-java-policy"));
+
+ node1.start();
+
+ SCANode node2 = SCANodeFactory.newInstance().createSCANode(null,
+ locate("creditcard-payment-jaxb-policy"));
+
+ node2.start();
+
+ Runnable client = ((SCAClient)node1).getService(Runnable.class, "TestClient/Runnable");
+ client.run();
+
+ node1.stop();
+ node2.stop();
+ }
+}
diff --git a/sca-java-1.x/trunk/tutorials/travelsample/launchers/pom.xml b/sca-java-1.x/trunk/tutorials/travelsample/launchers/pom.xml
new file mode 100644
index 0000000000..3d8738dc86
--- /dev/null
+++ b/sca-java-1.x/trunk/tutorials/travelsample/launchers/pom.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>scatours</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <version>1.0-SNAPSHOT</version>
+ <artifactId>scatours-launchers</artifactId>
+ <packaging>pom</packaging>
+ <name>Apache Tuscany SCA Tours Launchers</name>
+
+ <profiles>
+ <profile>
+ <id>default</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <modules>
+ <module>blog-feed</module>
+ <module>buildingblocks</module>
+ <module>currency-converter</module>
+ <module>currency-converter-corba</module>
+ <module>currency-converter-jms</module>
+ <module>currency-converter-rmi</module>
+ <module>currency-converter-ws</module>
+ <module>databinding</module>
+ <module>feed-logger</module>
+ <module>interaction</module>
+ <module>introducing</module>
+ <module>introducing-client</module>
+ <module>introducing-domain</module>
+ <module>introducing-tours</module>
+ <module>introducing-trips</module>
+ <module>jumpstart</module>
+ <module>fullapp</module>
+ <module>fullapp-domain</module>
+ <module>fullapp-nodes</module>
+ <module>help-pages</module>
+ <module>notification-ws</module>
+ <module>notification-corba</module>
+ <module>notification-ejb</module>
+ <module>notification-jms</module>
+ <module>notification-rmi</module>
+ <module>payment-java</module>
+ <module>payment-java-policy</module>
+ <module>payment-spring</module>
+ <module>payment-spring-scatag</module>
+ <module>payment-bpel</module>
+ <module>payment-groovy</module>
+ <module>policy</module>
+ </modules>
+ </profile>
+
+ </profiles>
+
+</project>