Sort out payment component using implementation.bpel

git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@742117 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
slaws 2009-02-08 15:02:03 +00:00
parent a1475c1fb4
commit 0e4846e9b7
19 changed files with 663 additions and 176 deletions

View file

@ -0,0 +1,273 @@
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<project name="scatours-chapter-06-node" default="compile">
<target name="compile">
<mkdir dir="target/classes"/>
<javac destdir="target/classes" debug="on" source="1.5" target="1.5">
<src path="src"/>
<classpath>
<fileset refid="tuscany.jars"/>
<fileset refid="3rdparty.jars"/>
</classpath>
</javac>
<copy todir="target/classes">
<fileset dir="." excludes="**/*.java, pom.xml, build.xml, target"/>
</copy>
<jar destfile="target/scatours-chapter-06-node.jar" basedir="target/classes">
<manifest>
<attribute name="Main-Class" value="launch.LaunchTutorialAdmin"/>
</manifest>
</jar>
</target>
<target name="package" depends="compile"/>
<target name="run">
<java classname="launch.LaunchTutorialAdmin" fork="true">
<classpath>
<pathelement location="target/scatours-chapter-06-node.jar"/>
<fileset refid="tuscany.jars"/>
<fileset refid="3rdparty.jars"/>
</classpath>
</java>
</target>
<target name="clean">
<delete includeemptydirs="true">
<fileset dir="target"/>
</delete>
</target>
<fileset id="tuscany.jars" dir="../../modules">
<include name="tuscany-assembly-1.5-SNAPSHOT.jar"/>
<include name="tuscany-assembly-xml-1.5-SNAPSHOT.jar"/>
<include name="tuscany-assembly-xsd-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-atom-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-atom-abdera-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-ejb-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-ejb-runtime-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-http-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-http-runtime-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-jsonrpc-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-jsonrpc-runtime-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-sca-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-sca-axis2-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-sca-xml-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-ws-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-ws-axis2-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-ws-axis2-policy-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-ws-wsdlgen-1.5-SNAPSHOT.jar"/>
<include name="tuscany-binding-ws-xml-1.5-SNAPSHOT.jar"/>
<include name="tuscany-contribution-1.5-SNAPSHOT.jar"/>
<include name="tuscany-contribution-impl-1.5-SNAPSHOT.jar"/>
<include name="tuscany-contribution-java-1.5-SNAPSHOT.jar"/>
<include name="tuscany-contribution-namespace-1.5-SNAPSHOT.jar"/>
<include name="tuscany-contribution-resource-1.5-SNAPSHOT.jar"/>
<include name="tuscany-contribution-xml-1.5-SNAPSHOT.jar"/>
<include name="tuscany-core-1.5-SNAPSHOT.jar"/>
<include name="tuscany-core-databinding-1.5-SNAPSHOT.jar"/>
<include name="tuscany-core-spi-1.5-SNAPSHOT.jar"/>
<include name="tuscany-data-api-1.5-SNAPSHOT.jar"/>
<include name="tuscany-databinding-1.5-SNAPSHOT.jar"/>
<include name="tuscany-databinding-axiom-1.5-SNAPSHOT.jar"/>
<include name="tuscany-databinding-jaxb-1.5-SNAPSHOT.jar"/>
<include name="tuscany-databinding-jaxb-axiom-1.5-SNAPSHOT.jar"/>
<include name="tuscany-databinding-json-1.5-SNAPSHOT.jar"/>
<include name="tuscany-databinding-sdo-1.5-SNAPSHOT.jar"/>
<include name="tuscany-definitions-1.5-SNAPSHOT.jar"/>
<include name="tuscany-definitions-xml-1.5-SNAPSHOT.jar"/>
<include name="tuscany-domain-manager-1.5-SNAPSHOT.jar"/>
<include name="tuscany-endpoint-1.5-SNAPSHOT.jar"/>
<include name="tuscany-extensibility-1.5-SNAPSHOT.jar"/>
<include name="tuscany-host-embedded-1.5-SNAPSHOT.jar"/>
<include name="tuscany-host-http-1.5-SNAPSHOT.jar"/>
<include name="tuscany-host-jetty-1.5-SNAPSHOT.jar"/>
<include name="tuscany-implementation-bpel-1.5-SNAPSHOT.jar"/>
<include name="tuscany-implementation-bpel-ode-1.5-SNAPSHOT.jar"/>
<include name="tuscany-implementation-ejb-1.5-SNAPSHOT.jar"/>
<include name="tuscany-implementation-java-1.5-SNAPSHOT.jar"/>
<include name="tuscany-implementation-java-runtime-1.5-SNAPSHOT.jar"/>
<include name="tuscany-implementation-java-xml-1.5-SNAPSHOT.jar"/>
<include name="tuscany-implementation-node-1.5-SNAPSHOT.jar"/>
<include name="tuscany-implementation-node-runtime-1.5-SNAPSHOT.jar"/>
<include name="tuscany-implementation-resource-1.5-SNAPSHOT.jar"/>
<include name="tuscany-implementation-resource-runtime-1.5-SNAPSHOT.jar"/>
<include name="tuscany-implementation-widget-1.5-SNAPSHOT.jar"/>
<include name="tuscany-implementation-widget-runtime-1.5-SNAPSHOT.jar"/>
<include name="tuscany-interface-1.5-SNAPSHOT.jar"/>
<include name="tuscany-interface-java-1.5-SNAPSHOT.jar"/>
<include name="tuscany-interface-java-jaxws-1.5-SNAPSHOT.jar"/>
<include name="tuscany-interface-java-xml-1.5-SNAPSHOT.jar"/>
<include name="tuscany-interface-wsdl-1.5-SNAPSHOT.jar"/>
<include name="tuscany-interface-wsdl-xml-1.5-SNAPSHOT.jar"/>
<include name="tuscany-monitor-1.5-SNAPSHOT.jar"/>
<include name="tuscany-node-api-1.5-SNAPSHOT.jar"/>
<include name="tuscany-node-impl-1.5-SNAPSHOT.jar"/>
<include name="tuscany-node-launcher-1.5-SNAPSHOT.jar"/>
<include name="tuscany-node-manager-1.5-SNAPSHOT.jar"/>
<include name="tuscany-policy-1.5-SNAPSHOT.jar"/>
<include name="tuscany-policy-security-1.5-SNAPSHOT.jar"/>
<include name="tuscany-policy-xml-1.5-SNAPSHOT.jar"/>
<include name="tuscany-policy-xml-ws-1.5-SNAPSHOT.jar"/>
<include name="tuscany-sca-api-1.5-SNAPSHOT.jar"/>
<include name="tuscany-sca-api-extension-1.5-SNAPSHOT.jar"/>
<include name="tuscany-workspace-1.5-SNAPSHOT.jar"/>
<include name="tuscany-workspace-impl-1.5-SNAPSHOT.jar"/>
<include name="tuscany-workspace-xml-1.5-SNAPSHOT.jar"/>
<include name="tuscany-xsd-1.5-SNAPSHOT.jar"/>
<include name="tuscany-xsd-xml-1.5-SNAPSHOT.jar"/>
</fileset>
<fileset id="3rdparty.jars" dir="../../lib">
<include name="XmlSchema-1.4.2.jar"/>
<include name="abdera-client-0.4.0-incubating.jar"/>
<include name="abdera-core-0.4.0-incubating.jar"/>
<include name="abdera-extensions-html-0.4.0-incubating.jar"/>
<include name="abdera-extensions-json-0.4.0-incubating.jar"/>
<include name="abdera-extensions-main-0.4.0-incubating.jar"/>
<include name="abdera-i18n-0.4.0-incubating.jar"/>
<include name="abdera-parser-0.4.0-incubating.jar"/>
<include name="abdera-server-0.4.0-incubating.jar"/>
<include name="activation-1.1.jar"/>
<include name="activeio-2.0-r118.jar"/>
<include name="annogen-0.1.0.jar"/>
<include name="asm-all-3.1.jar"/>
<include name="axiom-api-1.2.7.jar"/>
<include name="axiom-dom-1.2.7.jar"/>
<include name="axiom-impl-1.2.7.jar"/>
<include name="axion-1.0-M3-dev.jar"/>
<include name="axis-ant-1.4.jar"/>
<include name="axis2-adb-1.4.1.jar"/>
<include name="axis2-codegen-1.4.1.jar"/>
<include name="axis2-java2wsdl-1.4.1.jar"/>
<include name="axis2-kernel-1.4.1.jar"/>
<include name="axis2-mtompolicy-1.4.1.jar"/>
<include name="backport-util-concurrent-3.1.jar"/>
<include name="bcprov-jdk13-132.jar"/>
<include name="cglib-nodep-2.2.jar"/>
<include name="common-2.2.3.jar"/>
<include name="commons-codec-1.3.jar"/>
<include name="commons-collections-3.1.jar"/>
<include name="commons-discovery-0.2.jar"/>
<include name="commons-fileupload-1.2.jar"/>
<include name="commons-httpclient-3.1.jar"/>
<include name="commons-io-1.4.jar"/>
<include name="commons-jexl-1.1.jar"/>
<include name="commons-lang-2.1.jar"/>
<include name="commons-logging-1.1.1.jar"/>
<include name="commons-primitives-1.0.jar"/>
<include name="derby-10.3.1.4.jar"/>
<include name="dom4j-1.6.1.jar"/>
<include name="ecore-2.2.3.jar"/>
<include name="ecore-change-2.2.3.jar"/>
<include name="ecore-xmi-2.2.3.jar"/>
<include name="geronimo-activation_1.1_spec-1.0.1.jar"/>
<include name="geronimo-common-1.2-beta.jar"/>
<include name="geronimo-connector-1.2-beta.jar"/>
<include name="geronimo-core-1.2-beta.jar"/>
<include name="geronimo-deployment-1.2-beta.jar"/>
<include name="geronimo-ejb_3.0_spec-1.0.jar"/>
<include name="geronimo-interceptor-1.2-beta.jar"/>
<include name="geronimo-j2ee-1.2-beta.jar"/>
<include name="geronimo-j2ee-connector_1.5_spec-1.1.jar"/>
<include name="geronimo-j2ee-jacc_1.0_spec-1.1.jar"/>
<include name="geronimo-j2ee-management_1.0_spec-1.1.jar"/>
<include name="geronimo-javamail_1.4_spec-1.2.jar"/>
<include name="geronimo-jms_1.1_spec-1.1.jar"/>
<include name="geronimo-jpa_3.0_spec-1.0.jar"/>
<include name="geronimo-jta_1.0.1B_spec-1.0.jar"/>
<include name="geronimo-kernel-1.2-beta.jar"/>
<include name="geronimo-management-1.2-beta.jar"/>
<include name="geronimo-naming-1.2-beta.jar"/>
<include name="geronimo-security-1.2-beta.jar"/>
<include name="geronimo-spec-j2ee-connector-1.5-rc4.jar"/>
<include name="geronimo-spec-jta-1.0.1B-rc4.jar"/>
<include name="geronimo-stax-api_1.0_spec-1.0.1.jar"/>
<include name="geronimo-system-1.2-beta.jar"/>
<include name="geronimo-transaction-1.2-beta.jar"/>
<include name="geronimo-util-1.2-beta.jar"/>
<include name="howl-1.0.1-1.jar"/>
<include name="htmlparser-1.0.5.jar"/>
<include name="httpcore-4.0-beta1.jar"/>
<include name="httpcore-nio-4.0-beta1.jar"/>
<include name="javacc-3.2.jar"/>
<include name="jaxb-api-2.1.jar"/>
<include name="jaxb-impl-2.1.7.jar"/>
<include name="jaxen-1.1.1.jar"/>
<include name="jaxws-api-2.1.jar"/>
<include name="jdom-1.0.jar"/>
<include name="jettison-1.0.1.jar"/>
<include name="jetty-6.1.7.jar"/>
<include name="jetty-util-6.1.7.jar"/>
<include name="json-rpc-1.0.jar"/>
<include name="jsr181-api-1.0-MR1.jar"/>
<include name="jsr250-api-1.0.jar"/>
<include name="junit-4.5.jar"/>
<include name="log4j-1.2.13.jar"/>
<include name="mail-1.4.jar"/>
<include name="mex-1.41-impl.jar"/>
<include name="neethi-2.0.4.jar"/>
<include name="ode-bpel-api-1.1.1.jar"/>
<include name="ode-bpel-compiler-1.1.1.jar"/>
<include name="ode-bpel-dao-1.1.1.jar"/>
<include name="ode-bpel-epr-1.1.1.jar"/>
<include name="ode-bpel-obj-1.1.1.jar"/>
<include name="ode-bpel-runtime-1.1.1.jar"/>
<include name="ode-bpel-schemas-1.1.1.jar"/>
<include name="ode-bpel-store-1.1.1.jar"/>
<include name="ode-dao-jpa-1.1.1.jar"/>
<include name="ode-jacob-1.1.1.jar"/>
<include name="ode-jacob-ap-1.1.1.jar"/>
<include name="ode-scheduler-simple-1.1.1.jar"/>
<include name="ode-utils-1.1.1.jar"/>
<include name="openjpa-all-0.9.7-incubating.jar"/>
<include name="openjpa-persistence-0.9.7-incubating.jar"/>
<include name="opensaml-1.1.jar"/>
<include name="rampart-core-1.4.jar"/>
<include name="rampart-policy-1.4.jar"/>
<include name="rampart-trust-1.4.jar"/>
<include name="regexp-1.3.jar"/>
<include name="saxon-8.7.jar"/>
<include name="saxon-dom-8.7.jar"/>
<include name="saxon-xpath-8.7.jar"/>
<include name="serp-1.12.0.jar"/>
<include name="servlet-api-2.5.jar"/>
<include name="stax-api-1.0-2.jar"/>
<include name="tranql-connector-1.1.jar"/>
<include name="tuscany-sdo-api-r2.1-1.1.1.jar"/>
<include name="tuscany-sdo-impl-1.1.1.jar"/>
<include name="tuscany-sdo-lib-1.1.1.jar"/>
<include name="woden-api-1.0M8.jar"/>
<include name="woden-impl-dom-1.0M8.jar"/>
<include name="wsdl4j-1.6.2.jar"/>
<include name="wss4j-1.5.4.jar"/>
<include name="wstx-asl-3.2.4.jar"/>
<include name="xalan-2.7.0.jar"/>
<include name="xbean-naming-2.7.jar"/>
<include name="xercesImpl-2.8.1.jar"/>
<include name="xml-apis-1.3.03.jar"/>
<include name="xml-resolver-1.1.jar"/>
<include name="xmlParserAPIs-2.6.0.jar"/>
<include name="xmlbeans-2.3.0.jar"/>
<include name="xmlsec-1.4.2.jar"/>
<include name="xsd-2.2.3.jar"/>
</fileset>
</project>

View file

@ -0,0 +1,178 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca</artifactId>
<version>1.5-SNAPSHOT</version>
<!--relativePath>../../pom.xml</relativePath-->
</parent>
<artifactId>scatours-chapter-06-node</artifactId>
<name>Apache Tuscany SCA Tours Chapter 06 Node</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-node-api</artifactId>
<version>1.5-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-node-launcher</artifactId>
<version>1.5-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-domain-manager</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-node-runtime</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-java-runtime</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-widget-runtime</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-resource-runtime</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-atom-abdera</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-http-runtime</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-ws-axis2</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-sca-axis2</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-ejb-runtime</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-ejb</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-bpel-ode</artifactId>
<version>1.5-SNAPSHOT</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>
<sourceDirectory>${basedir}/src</sourceDirectory>
<resources>
<resource>
<directory>${basedir}</directory>
<excludes>
<exclude>**/*.java</exclude>
<exclude>**/.*/**</exclude>
<exclude>pom.xml</exclude>
<exclude>build.xml</exclude>
<exclude>target/**</exclude>
<exclude>src/**</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-maven-ant-generator</artifactId>
<version>1.5-SNAPSHOT</version>
<executions>
<execution>
<configuration>
<mainClass>launch.LaunchTutorialAdmin</mainClass>
</configuration>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,66 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT 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.SCAContribution;
import org.apache.tuscany.sca.node.SCANode;
import org.apache.tuscany.sca.node.SCANodeFactory;
import org.apache.tuscany.sca.node.launcher.NodeLauncher;
public class LaunchNode {
public static void main(String[] args) throws Exception {
LaunchNode.launchFromFileSystemDir();
}
// OK for development but you must launch the node from this module
public static void launchFromFileSystemDir(){
SCANode node = null;
try {
node = SCANodeFactory.newInstance().createSCANode("scatours.composite",
new SCAContribution("common", "../../shared-contributions/common-contribution/target/classes"),
new SCAContribution("currency", "../../shared-contributions/currency-contribution/target/classes"),
new SCAContribution("hotel", "../../shared-contributions/hotel-contribution/target/classes"),
new SCAContribution("flight", "../../shared-contributions/flight-contribution/target/classes"),
new SCAContribution("car", "../../shared-contributions/car-contribution/target/classes"),
new SCAContribution("trip", "../../shared-contributions/trip-contribution/target/classes"),
new SCAContribution("tripbooking", "../../shared-contributions/tripbooking-contribution/target/classes"),
new SCAContribution("travelcatalog", "../../shared-contributions/travelcatalog-contribution/target/classes"),
new SCAContribution("payment", "../../shared-contributions/payment-contribution/target/classes"),
new SCAContribution("emailgateway", "../../shared-contributions/emailgateway-contribution/target/classes"),
new SCAContribution("shoppingcart", "../../shared-contributions/shoppingcart-contribution/target/classes"),
new SCAContribution("scatours", "../../shared-contributions/scatours-contribution/target/classes"),
new SCAContribution("ui", "../ui-contribution/target/classes"));
node.start();
System.out.println("Node started - Press enter to shutdown.");
try {
System.in.read();
} catch (IOException e) {}
node.stop();
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
}

View file

@ -25,8 +25,8 @@
<version>1.5-SNAPSHOT</version>
<!--relativePath>../../pom.xml</relativePath-->
</parent>
<artifactId>scatours-paymentprocess-contribution</artifactId>
<name>Apache Tuscany SCA Tours Payment Process Contribution</name>
<artifactId>scatours-chapter-06-payment-bpel-contribution</artifactId>
<name>Apache Tuscany SCA Tours Chapter 06 Payment BPEL Contribution</name>
<dependencies>
<dependency>
@ -63,6 +63,20 @@
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>scatours-emailgateway-contribution</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>scatours-creditcardpayment-contribution</artifactId>
<version>1.5-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
@ -77,19 +91,23 @@
<testSourceDirectory>${basedir}/test</testSourceDirectory>
<resources>
<resource>
<directory>${basedir}/resources</directory>
<directory>${basedir}/src</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>${basedir}/resources</directory>
<directory>${basedir}/src</directory>
<excludes>
<exclude>**/*.java</exclude>
<exclude>**/.*/**</exclude>
</excludes>
</testResource>
<testResource>
<directory>${basedir}</directory>
<includes>
<include>*.composite</include>
<include>*.properties</include>
</includes>
<directory>${basedir}/test</directory>
<excludes>
<exclude>**/*.java</exclude>
<exclude>**/.*/**</exclude>
</excludes>
</testResource>
</testResources>
<plugins>
@ -124,11 +142,11 @@
<goal>wsimport</goal>
</goals>
<configuration>
<packageName>scatours.paymentprocess</packageName>
<wsdlDirectory>${basedir}/resources
<packageName>scatours.payment</packageName>
<wsdlDirectory>${basedir}/src
</wsdlDirectory>
<wsdlFiles>
<wsdlFile>PaymentProcess.wsdl</wsdlFile>
<wsdlFile>Payment.wsdl</wsdlFile>
</wsdlFiles>
<sourceDestDir>${project.build.directory}/jaxws-source
</sourceDestDir>

View file

@ -18,6 +18,6 @@
* under the License.
-->
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0">
<export.java package="scatours.paymentprocess"/>
<export namespace="http://www.example.org/PaymentProcess/"/>
<export.java package="scatours.payment"/>
<export namespace="http://www.example.org/Payment"/>
</contribution>

View file

@ -17,18 +17,18 @@
* specific language governing permissions and limitations
* under the License.
-->
<wsdl:definitions name="PaymentProcess"
targetNamespace="http://www.example.org/PaymentProcess/"
<wsdl:definitions name="Payment"
targetNamespace="http://www.example.org/Payment/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://www.example.org/PaymentProcess/"
xmlns:tns="http://www.example.org/Payment/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/PaymentProcess/"
xmlns:tns="http://www.example.org/PaymentProcess/">
targetNamespace="http://www.example.org/Payment/"
xmlns:tns="http://www.example.org/Payment/">
<xsd:complexType name="MakePaymentType">
<xsd:sequence>
@ -53,16 +53,16 @@
<wsdl:message name="MakePaymentResponse">
<wsdl:part name="parameters" element="tns:makePaymentResponse"></wsdl:part>
</wsdl:message>
<wsdl:portType name="PaymentProcess">
<wsdl:portType name="Payment">
<wsdl:operation name="makePayment">
<wsdl:input message="tns:MakePaymentRequest"></wsdl:input>
<wsdl:output message="tns:MakePaymentResponse"></wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="PaymentProcessBinding" type="tns:PaymentProcess">
<wsdl:binding name="PaymentBinding" type="tns:Payment">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="makePayment">
<soap:operation soapAction="http://www.example.org/PaymentProcess/makePayment" />
<soap:operation soapAction="http://www.example.org/Payment/makePayment" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
@ -71,13 +71,13 @@
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="PaymentProcessService">
<wsdl:port name="PaymentProcessPort" binding="tns:PaymentProcessBinding">
<soap:address location="http://localhost:8083/PaymentProcess" />
<wsdl:service name="PaymentService">
<wsdl:port name="PaymentPort" binding="tns:PaymentBinding">
<soap:address location="http://localhost:8083/Payment" />
</wsdl:port>
</wsdl:service>
<plnk:partnerLinkType name="PaymentProcessLinkType">
<plnk:role name="forward" portType="tns:PaymentProcess"/>
<plnk:partnerLinkType name="PaymentLinkType">
<plnk:role name="forward" portType="tns:Payment"/>
</plnk:partnerLinkType>
</wsdl:definitions>

View file

@ -16,22 +16,22 @@
~ specific language governing permissions and limitations
~ under the License.
-->
<process name="PaymentProcess"
targetNamespace="http://www.example.org/PaymentProcess"
<process name="Payment"
targetNamespace="http://www.example.org/Payment"
xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns:tns="http://tuscany.apache.org/PaymentProcess"
xmlns:tns="http://tuscany.apache.org/Payment"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:pp="http://www.example.org/PaymentProcess/"
xmlns:pp="http://www.example.org/Payment/"
xmlns:ccp="http://www.example.org/CreditCardPayment/"
xmlns:eg="http://www.example.org/EmailGateway/"
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
<import location="PaymentProcess.wsdl"
<import location="Payment.wsdl"
importType="http://schemas.xmlsoap.org/wsdl/"
namespace="http://www.example.org/PaymentProcess/"/>
namespace="http://www.example.org/Payment/"/>
<import location="CreditCardPayment.wsdl"
importType="http://schemas.xmlsoap.org/wsdl/"
@ -42,7 +42,7 @@
namespace="http://www.example.org/EmailGateway/"/>
<partnerLinks>
<partnerLink name="paymentProcessPartnerLink" partnerLinkType="pp:PaymentProcessLinkType" myRole="forward" />
<partnerLink name="paymentPartnerLink" partnerLinkType="pp:PaymentLinkType" myRole="forward" />
<partnerLink name="creditCardPaymentPartnerLink" partnerLinkType="ccp:CreditCardPaymentLinkType" partnerRole="forward" initializePartnerRole="yes" />
<partnerLink name="emailGatewayPartnerLink" partnerLinkType="eg:EmailGatewayLinkType" partnerRole="forward" initializePartnerRole="yes" />
</partnerLinks>
@ -58,8 +58,8 @@
<sequence>
<receive name="start"
partnerLink="paymentProcessPartnerLink"
portType="pp:PaymentProcess"
partnerLink="paymentPartnerLink"
portType="pp:Payment"
operation="makePayment"
variable="makePaymentRequestMessage"
createInstance="yes"/>
@ -144,7 +144,7 @@
<copy>
<from>
<literal>
<makePaymentResponse xmlns="http://www.example.org/PaymentProcess/">
<makePaymentResponse xmlns="http://www.example.org/Payment">
<Status xmlns="">OK</Status>
</makePaymentResponse>
</literal>
@ -155,8 +155,8 @@
<reply name="end"
partnerLink="paymentProcessPartnerLink"
portType="pp:PaymentProcess"
partnerLink="paymentPartnerLink"
portType="pp:Payment"
operation="makePayment"
variable="makePaymentResponseMessage">
</reply>

View file

@ -19,22 +19,22 @@
-->
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
xmlns:pp="http://www.example.org/PaymentProcess"
targetNamespace="http://www.example.org/PaymentProcess"
name="paymentprocess">
xmlns:pp="http://www.example.org/Payment"
targetNamespace="http://www.example.org/Payment"
name="payment">
<component name="PaymentProcessClient">
<implementation.java class="scatours.paymentprocess.PaymentProcessClientImpl" />
<reference name="paymentProcess">
<binding.ws uri="http://localhost:8083/PaymentProcess" />
<component name="PaymentClient">
<implementation.java class="scatours.payment.client.PaymentClientImpl" />
<reference name="payment">
<binding.ws uri="http://localhost:8083/Payment" />
</reference>
</component>
<component name="PaymentProcess">
<implementation.bpel process="pp:PaymentProcess"/>
<service name="paymentProcessPartnerLink">
<interface.wsdl interface="http://www.example.org/PaymentProcess/#wsdl.interface(PaymentProcess)" />
<binding.ws uri="http://localhost:8083/PaymentProcess" wsdlElement="http://www.example.org/PaymentProcess/#wsdl.service(PaymentProcessService)"/>
<component name="Payment">
<implementation.bpel process="pp:Payment"/>
<service name="paymentPartnerLink">
<interface.wsdl interface="http://www.example.org/Payment/#wsdl.interface(Payment)" />
<binding.ws uri="http://localhost:8083/Payment" wsdlElement="http://www.example.org/Payment/#wsdl.service(PaymentService)"/>
</service>
<reference name="creditCardPaymentPartnerLink">
<binding.ws uri="http://localhost:8081/CreditCardPayment"/>

View file

@ -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.payment;
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.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
/**
*
*/
public class PaymentTestCase {
private static SCANode paymentNode;
private static SCANode creditCardNode;
private static SCANode emailGatewayNode;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
creditCardNode = SCANodeFactory.newInstance().createSCANode("creditcard.composite",
new SCAContribution("creditcard", "../../shared-contributions/creditcardpayment-contribution/target/test-classes"));
emailGatewayNode = SCANodeFactory.newInstance().createSCANode("emailgateway.composite",
new SCAContribution("creditcard", "../../shared-contributions/emailgateway-contribution/target/test-classes"));
paymentNode = SCANodeFactory.newInstance().createSCANode("payment.composite",
new SCAContribution("payment", "./target/test-classes"));
creditCardNode.start();
emailGatewayNode.start();
paymentNode.start();
}
@Test
public void testPayment() {
SCAClient client = (SCAClient) paymentNode;
Payment payment = client.getService(Payment.class, "PaymentClient");
System.out.println("Result = " + payment.makePayment("Fred", 100.00f));
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
paymentNode.stop();
creditCardNode.stop();
emailGatewayNode.stop();
}
}

View file

@ -17,22 +17,21 @@
* under the License.
*/
package scatours.paymentprocess;
package scatours.payment.client;
import org.osoa.sca.annotations.Reference;
import org.osoa.sca.annotations.Service;
/**
*
*/
@Service(PaymentProcess.class)
public class PaymentProcessClientImpl implements PaymentProcess {
import scatours.payment.Payment;
@Service(Payment.class)
public class PaymentClientImpl implements Payment {
@Reference
protected PaymentProcess paymentProcess;
protected Payment payment;
public String makePayment(String customerId, float amount) {
// Delegate the external web service
return paymentProcess.makePayment(customerId, amount);
return payment.makePayment(customerId, amount);
}
}

View file

@ -1,38 +0,0 @@
<?xml version="1.0" encoding="ASCII"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<service name="paymentProcessPartnerLink">
<interface.wsdl interface="http://www.example.org/PaymentProcess/#wsdl.interface(PaymentProcess)" />
</service>
<reference name="creditCardPaymentPartnerLink">
<interface.wsdl interface="http://www.example.org/CreditCardPayment/#wsdl.interface(CreditCardPayment)" />
</reference>
<reference name="emailGatewayPartnerLink">
<interface.wsdl interface="http://www.example.org/EmailGateway/#wsdl.interface(EmailGateway)" />
</reference>
</componentType>

View file

@ -1,76 +0,0 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT 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.paymentprocess;
import org.apache.tuscany.sca.node.SCAClient;
import org.apache.tuscany.sca.node.SCANode;
import org.apache.tuscany.sca.node.SCANodeFactory;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
/**
*
*/
public class PaymentProcessTestCase {
private static SCANode node;
/**
* @throws java.lang.Exception
*/
@BeforeClass
public static void setUpBeforeClass() throws Exception {
SCANodeFactory factory = SCANodeFactory.newInstance();
node = factory.createSCANodeFromClassLoader("paymentprocesstest.composite", PaymentProcess.class.getClassLoader());
node.start();
}
@Test
@Ignore
public void testPaymentProcess() {
SCAClient client = (SCAClient) node;
PaymentProcess pp = client.getService(PaymentProcess.class, "PaymentProcessClient");
System.out.println("Result = " + pp.makePayment("Fred", 100.00f));
}
@Test
//@Ignore
public void testWaitForInput() {
System.out.println("Press a key to end");
try {
System.in.read();
} catch (Exception ex) {
}
System.out.println("Shutting down");
}
/**
* @throws java.lang.Exception
*/
@AfterClass
public static void tearDownAfterClass() throws Exception {
if (node != null) {
node.stop();
node = null;
}
}
}

View file

@ -37,7 +37,7 @@
</activation>
<modules>
<module>node</module>
<module>ui-contribution</module>
<module>payment-bpel-contribution</module>
</modules>
</profile>

View file

@ -42,7 +42,7 @@
<!--module>chapter-03</module-->
<!--module>chapter-04</module-->
<module>chapter-05</module>
<!--module>chapter-06</module-->
<module>chapter-06</module>
<!--module>chapter-07</module-->
<!--module>chapter-08</module-->
<module>chapter-09</module>

View file

@ -39,7 +39,7 @@ public class EmailGatewayTestCase {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
SCANodeFactory factory = SCANodeFactory.newInstance();
node = factory.createSCANodeFromClassLoader("emailgatewaytest.composite", EmailGateway.class.getClassLoader());
node = factory.createSCANodeFromClassLoader("emailgateway.composite", EmailGateway.class.getClassLoader());
node.start();
}