diff options
author | dims <dims@13f79535-47bb-0310-9956-ffa450edef68> | 2008-06-17 00:23:01 +0000 |
---|---|---|
committer | dims <dims@13f79535-47bb-0310-9956-ffa450edef68> | 2008-06-17 00:23:01 +0000 |
commit | bdd0a41aed7edf21ec2a65cfa17a86af2ef8c48a (patch) | |
tree | 38a92061c0793434c4be189f1d70c3458b6bc41d /branches/sca-java-1.0.1/samples/helloworld-bpel |
Move Tuscany from Incubator to top level.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.0.1/samples/helloworld-bpel')
16 files changed, 1250 insertions, 0 deletions
diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/DISCLAIMER b/branches/sca-java-1.0.1/samples/helloworld-bpel/DISCLAIMER new file mode 100644 index 0000000000..d68a410903 --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/DISCLAIMER @@ -0,0 +1,8 @@ +Apache Tuscany is an effort undergoing incubation at The Apache Software
+Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
+required of all newly accepted projects until a further review indicates that
+the infrastructure, communications, and decision making process have stabilized
+in a manner consistent with other successful ASF projects. While incubation
+status is not necessarily a reflection of the completeness or stability of the
+code, it does indicate that the project has yet to be fully endorsed by the ASF.
+
diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/LICENSE b/branches/sca-java-1.0.1/samples/helloworld-bpel/LICENSE new file mode 100644 index 0000000000..8aa906c321 --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/LICENSE @@ -0,0 +1,205 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/NOTICE b/branches/sca-java-1.0.1/samples/helloworld-bpel/NOTICE new file mode 100644 index 0000000000..94481d6cfa --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/NOTICE @@ -0,0 +1,6 @@ +${pom.name} +Copyright (c) 2005 - 2007 The Apache Software Foundation + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/README b/branches/sca-java-1.0.1/samples/helloworld-bpel/README new file mode 100644 index 0000000000..7ba1b3422e --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/README @@ -0,0 +1,138 @@ +Hello World BPEL Sample +====================================== +This sample demonstrates an SCA service implemented by a BPEL process. + +The README in the samples directory (the directory above this) provides +general instructions about building and running samples. Take a look there +first. + +If you just want to run it to see what happens open a command prompt, please +check the section to build and run the sample using maven. + +The sample will start the an embedded BPEL engine, deploy process and invoke it. + +Sample Overview +--------------- +The sample provides a single component that is wired to a service with a +web service binding. + +helloworld-bpel/ + src/ + main/ + java/ + helloworld/ + BPELClient.java - client application for + BEPELHelloWorldComponent + + resources/ + deploy.xml - ODE deployment descriptor + helloworld.bpel - helloworld bpel process + helloworld.componentType - helloworld bpel service description + helloworld.composite - the SCA assembly for this sample + helloworld.wsdl - the service description that describes + the bpel process + log4j.properties - logging configuration + + test/ + java/ + helloworld/ + BPELHelloWorldTestCase.java - JUnit test case + helloworld-bpel.png - a pictorial representation of the + sample .composite file + build.xml - the Ant build file + pom.xml - the Maven build file + +Building And Running The Sample Using Ant +----------------------------------------- + +Ant script is not supported at the moment. + + +Building And Running The Sample Using Maven +------------------------------------------- +With either the binary or source distributions the sample can be built and run +using Maven as follows. When using Maven, a simple test is present that exercise +the same logic as the client to invoke the BPEl process. + +We first need to tweek the helloworld-bpel pom.xml in order to overcome a surefire +defect. See below the changes that need to be done on the helloworld-bpel\pom.xml + +Original: + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.2</version> + <configuration> + <useFile>false</useFile> + <trimStackTrace>false</trimStackTrace> + <skip>true</skip> + <!--useSystemClassLoader>true</useSystemClassLoader--> + </configuration> + </plugin> + +Updated: + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.2</version> + <configuration> + <useFile>false</useFile> + <trimStackTrace>false</trimStackTrace> + <useSystemClassLoader>true</useSystemClassLoader> + </configuration> + </plugin> + +Now that you have the updated pom : + +cd helloworld-bpel +mvn + +You should see the following output from the test phase. + +- + +------------------------------------------------------- + T E S T S +------------------------------------------------------- +Running helloworld.BPELHelloWorldTestCase +Starting BPELHelloWorldComponent org.apache.tuscany.sca.core.assembly.RuntimeComponentImpl +INFO - GeronimoLog.info(79) | BPEL Server Started. +10:19:31,609 INFO [BpelServerImpl] BPEL Server Started. +Deploying : D:\dev\Opensource\Apache\Tuscany\source\java\sca\samples\helloworld-bpel\target\classes +D:\dev\Opensource\Apache\Tuscany\source\java\sca\samples\helloworld-bpel\target\classes +INFO - GeronimoLog.info(79) | Process {http://tuscany.apache.org/implementation/bpel/example/helloworld}HelloWorld-1 has been unregistered. +10:19:37,656 INFO [BpelServerImpl] Process {http://tuscany.apache.org/implementation/bpel/example/helloworld}HelloWorld-1 has been unregistered. +INFO - GeronimoLog.info(79) | Activated process {http://tuscany.apache.org/implementation/bpel/example/helloworld}HelloWorld-1. +10:19:38,312 INFO [BpelServerImpl] Activated process {http://tuscany.apache.org/implementation/bpel/example/helloworld}HelloWorld-1. +INFO - GeronimoLog.info(79) | Process {http://tuscany.apache.org/implementation/bpel/example/helloworld}HelloWorld-1 has been unregistered. +10:19:38,312 INFO [BpelServerImpl] Process {http://tuscany.apache.org/implementation/bpel/example/helloworld}HelloWorld-1 has been unregistered. +INFO - GeronimoLog.info(79) | Activated process {http://tuscany.apache.org/implementation/bpel/example/helloworld}HelloWorld-1. +10:19:38,453 INFO [BpelServerImpl] Activated process {http://tuscany.apache.org/implementation/bpel/example/helloworld}HelloWorld-1. +::message:: <?xml version="1.0" encoding="UTF-8"?> +<message><TestPart><hello xmlns="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl"/></TestPart></message> +Status: RESPONSE +Response: <?xml version="1.0" encoding="UTF-8"?> +<message><TestPart><hello xmlns="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl"> World</hello></TestPart></message> +Stopping BPELHelloWorldComponent org.apache.tuscany.sca.core.assembly.RuntimeComponentImpl +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.031 sec + +Results : + +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 + +[INFO] [jar:jar] +[INFO] Building jar: D:\dev\Opensource\Apache\Tuscany\source\java\sca\samples\helloworld-bpel\target\sample-helloworld-bpel.jar +[INFO] [install:install] +[INFO] Installing D:\dev\Opensource\Apache\Tuscany\source\java\sca\samples\helloworld-bpel\target\sample-helloworld-bpel.jar to C:\Documents and Settings\lresende\.m +2\repository\org\apache\tuscany\sca\sample-helloworld-bpel\1.1-incubating-SNAPSHOT\sample-helloworld-bpel-1.1-incubating-SNAPSHOT.jar +[INFO] ------------------------------------------------------------------------ +[INFO] BUILD SUCCESSFUL +[INFO] ------------------------------------------------------------------------ +[INFO] Total time: 1 minute 3 seconds +[INFO] Finished at: Tue Sep 18 10:19:41 PDT 2007 +[INFO] Final Memory: 24M/46M +[INFO] ------------------------------------------------------------------------ + + +This shows that the Junit test cases have run successfully. diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/build.xml b/branches/sca-java-1.0.1/samples/helloworld-bpel/build.xml new file mode 100644 index 0000000000..d679827fb9 --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/build.xml @@ -0,0 +1,206 @@ +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT 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="sample-helloworld-bpel" default="package"> + <property file="${user.home}/tuscany/build.properties" /> + <property file="${user.home}/build.properties" /> + + <property name="client.class" value="helloworld.BPELClient" /> + <property name="test.jar" value="sample-helloworld-bpel.jar" /> + + <property name="tuscany.sca.manifest.location" value="../../lib/tuscany-sca-manifest.jar"/> + <property name="tuscany.sca.lib.location" value="../../lib"/> + <property name="tuscany.sca.modules.location" value="../../modules"/> + + <path id="project.classpath"> + <pathelement path="target/classes"/> + <pathelement path="target/wsdl2java-source"/> + <pathelement path="target/jpadb"/> + <pathelement location="${tuscany.sca.manifest.location}"/> + + + <!-- Direct dependencies --> + <pathelement location="${tuscany.sca.lib.location}/commons-lang-2.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/saxon-8.7.jar"/> + <pathelement location="${tuscany.sca.lib.location}/saxon-dom-8.7.jar"/> + <pathelement location="${tuscany.sca.lib.location}/saxon-xpath-8.7.jar"/> + <pathelement location="${tuscany.sca.lib.location}/serp-1.12.0.jar"/> + <pathelement location="${tuscany.sca.lib.location}/derby-10.1.3.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-connector-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-kernel-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-transaction-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-ejb_3.0_spec-1.0.jar"/> + + <pathelement location="${tuscany.sca.lib.location}/ode-bpel-api-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ode-bpel-compiler-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ode-bpel-dao-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ode-bpel-epr-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ode-bpel-obj-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ode-bpel-runtime-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ode-bpel-schemas-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ode-bpel-store-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ode-dao-jpa-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ode-jacob-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ode-jacob-ap-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ode-scheduler-simple-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ode-utils-1.1.jar"/> + + <pathelement location="${tuscany.sca.lib.location}/openjpa-all-0.9.7-incubating.jar"/> + + <pathelement location="${tuscany.sca.lib.location}/tuscany-sdo-impl-1.0-incubating.jar"/> + + <pathelement location="${tuscany.sca.lib.location}/xmlbeans-2.3.0.jar"/> + <pathelement location="${tuscany.sca.lib.location}/tranql-connector-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/xercesImpl-2.8.0.jar"/> + + + <!-- Project Transitive Dependencies --> + <pathelement location="${tuscany.sca.lib.location}/activeio-2.0-r118.jar"/> + <pathelement location="${tuscany.sca.lib.location}/axion-1.0-M3-dev.jar"/> + <pathelement location="${tuscany.sca.lib.location}/backport-util-concurrent-2.2.jar"/> + <pathelement location="${tuscany.sca.lib.location}/cglib-nodep-2.1_3.jar"/> + <pathelement location="${tuscany.sca.lib.location}/commons-codec-1.2.jar"/> + <pathelement location="${tuscany.sca.lib.location}/commons-collections-3.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/commons-jexl-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/commons-logging-1.0.4.jar"/> + <pathelement location="${tuscany.sca.lib.location}/commons-primitives-1.0.jar"/> + <pathelement location="${tuscany.sca.lib.location}/jaxen-1.1-beta-9.jar"/> + <pathelement location="${tuscany.sca.lib.location}/log4j-1.2.12.jar"/> + <pathelement location="${tuscany.sca.lib.location}/javacc-3.2.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-common-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-core-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-deployment-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-interceptor-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-j2ee-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-management-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-naming-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-security-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-system-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-util-1.2-beta.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-commonj_1.1_spec-1.0.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-j2ee-connector_1.5_spec-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-j2ee-jacc_1.0_spec-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-j2ee-management_1.0_spec-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-jpa_3.0_spec-1.0.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-jta_1.0.1B_spec-1.0.jar"/> + <pathelement location="${tuscany.sca.lib.location}/neethi-2.0.2.jar"/> + <pathelement location="${tuscany.sca.lib.location}/openjpa-persistence-0.9.7-incubating.jar"/> + <pathelement location="${tuscany.sca.lib.location}/axiom-api-1.2.5.jar"/> + <pathelement location="${tuscany.sca.lib.location}/XmlSchema-1.3.2.jar"/> + <pathelement location="${tuscany.sca.lib.location}/xbean-naming-2.7.jar"/> + <pathelement location="${tuscany.sca.lib.location}/wstx-asl-3.2.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/common-2.2.3.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ecore-2.2.3.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ecore-change-2.2.3.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ecore-xmi-2.2.3.jar"/> + <pathelement location="${tuscany.sca.lib.location}/xsd-2.2.3.jar"/> + <pathelement location="${tuscany.sca.lib.location}/howl-1.0.1-1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/regexp-1.3.jar"/> + <pathelement location="${tuscany.sca.lib.location}/stax-api-1.0.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/wsdl4j-1.6.2.jar"/> + <pathelement location="${tuscany.sca.lib.location}/xalan-2.7.0.jar"/> + <pathelement location="${tuscany.sca.lib.location}/xml-apis-1.3.03.jar"/> + <pathelement location="${tuscany.sca.lib.location}/xml-resolver-1.1.jar"/> + + <!-- Runtime dependencies --> + <pathelement location="${tuscany.sca.lib.location}/axiom-impl-1.2.5.jar"/> + + <!-- Others --> + <pathelement location="${tuscany.sca.lib.location}/tuscany-sdo-api-r2.1-1.0-incubating.jar"/> + <pathelement location="${tuscany.sca.lib.location}/tuscany-sdo-lib-1.0-incubating.jar"/> + <pathelement location="${tuscany.sca.lib.location}/geronimo-spec-j2ee-connector-1.5-rc4.jar"/> + + <pathelement location="${tuscany.sca.lib.location}/geronimo-spec-jta-1.0.1B-rc4.jar"/> + <pathelement location="${tuscany.sca.lib.location}/activation-1.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/mail-1.4.jar"/> + + <pathelement location="${tuscany.sca.lib.location}/xstream-1.1.3.jar"/> + <!-- + + <pathelement location="${tuscany.sca.lib.location}/xpp3-1.1.3.3.jar"/> + <pathelement location="${tuscany.sca.lib.location}/ognl-2.6.9.jar"/> + <pathelement location="${tuscany.sca.lib.location}/mx4j-3.0.1.jar"/> + <pathelement location="${tuscany.sca.lib.location}/derbytools-10.1.2.1.jar"/> + --> + + </path> + + <target name="init"> + <mkdir dir="target/classes"/> + <mkdir dir="target/wsdl2java-source"/> + </target> + + + <target name="generate-wsdl" depends="init"> + <java classname="org.apache.tuscany.sdo.generate.XSD2JavaGenerator" fork="true"> + <arg value="-targetDirectory"/> + <arg value="target/wsdl2java-source"/> + <arg value="-prefix"/> + <arg value="HelloWorld"/> + <arg value="-noContainment"/> + <arg value="-noUnsettable"/> + <arg value="src/main/resources/helloworld.wsdl"/> + + <classpath refid="project.classpath"/> + </java> + <java classname="org.apache.tuscany.tools.wsdl2java.generate.WSDL2JavaGenerator" fork="true"> + <arg value="-targetDirectory"/> + <arg value="target/wsdl2java-source"/> + <arg value="src/main/resources/helloworld.wsdl"/> + + <classpath refid="project.classpath"/> + </java> + </target> + + <target name="unzip-ode-db" depends="init"> + <unzip src="${tuscany.sca.lib.location}/ode-dao-jpa-ojpa-derby-1.1.zip" dest="target/jpadb"/> + </target> + + <target name="compile" depends="init,generate-wsdl,unzip-ode-db"> + <javac destdir="target/classes" + debug="on" + source="1.5" + target="1.5"> + <src location="src/main/java"/> + <src location="target/wsdl2java-source"/> + <classpath refid="project.classpath"/> + </javac> + <copy todir="target/classes"> + <fileset dir="src/main/resources"/> + <fileset dir="target/wsdl2java-source"/> + </copy> + <jar destfile="target/${test.jar}" basedir="target/classes"> + <manifest> + <attribute name="Main-Class" value="${client.class}" /> + </manifest> + </jar> + </target> + + <target name="run"> + <java classname="${client.class}" fork="true"> + <classpath path="target/${test.jar}"/> + <classpath refid="project.classpath"/> + </java> + </target> + + <target name="clean"> + <delete quiet="true" includeemptydirs="true"> + <fileset dir="target"/> + </delete> + </target> +</project> diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/helloworld-bpel.png b/branches/sca-java-1.0.1/samples/helloworld-bpel/helloworld-bpel.png Binary files differnew file mode 100644 index 0000000000..6f7d9dd450 --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/helloworld-bpel.png diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/helloworld-bpel.svg b/branches/sca-java-1.0.1/samples/helloworld-bpel/helloworld-bpel.svg new file mode 100644 index 0000000000..53eb552923 --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/helloworld-bpel.svg @@ -0,0 +1,149 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="1052.3622"
+ height="744.09448"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ sodipodi:docbase="C:\simon\Projects\Tuscany\java\java-head\sca\samples\helloworld-ws-service"
+ sodipodi:docname="helloworld-ws-service.svg"
+ version="1.0"
+ inkscape:export-filename="C:\simon\Projects\Tuscany\java\java-head\sca\samples\helloworld-ws-reference\helloworld-ws-reference.png"
+ inkscape:export-xdpi="52.84"
+ inkscape:export-ydpi="52.84">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="519.38407"
+ inkscape:cy="414.63224"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ inkscape:window-width="1054"
+ inkscape:window-height="573"
+ inkscape:window-x="117"
+ inkscape:window-y="316" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <g
+ id="g2997"
+ transform="matrix(0.991389,0,0,1,2.215655,0)">
+ <rect
+ rx="13.79423"
+ ry="12.692303"
+ y="192.00233"
+ x="258.3114"
+ height="299.99988"
+ width="446.72086"
+ id="rect2067"
+ style="opacity:1;fill:#90baf4;fill-opacity:1;stroke:#060000;stroke-width:2.00866628;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <flowRoot
+ id="flowRoot2954"
+ xml:space="preserve"><flowRegion
+ id="flowRegion2956"><rect
+ y="212.66591"
+ x="281.42856"
+ height="61.42857"
+ width="170"
+ id="rect2958" /></flowRegion><flowPara
+ id="flowPara2960">helloworldws</flowPara></flowRoot> </g>
+ <rect
+ style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect2988"
+ width="115.66247"
+ height="85.862968"
+ x="432.05917"
+ y="307.1676"
+ rx="6.9961648"
+ ry="7.1230249" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot2966"
+ transform="translate(172.4684,115.2291)"><flowRegion
+ id="flowRegion2968"><rect
+ id="rect2970"
+ width="170"
+ height="61.42857"
+ x="281.42856"
+ y="212.66591" /></flowRegion><flowPara
+ id="flowPara2972">HelloWorld</flowPara><flowPara
+ id="flowPara1883">Service</flowPara><flowPara
+ id="flowPara1885">Component</flowPara></flowRoot> <path
+ style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 414.90867,339.0146 L 448.24371,339.0146 L 454.30462,352.14658 L 447.23356,364.26842 L 414.90867,364.26842 L 422.48482,352.14658 L 414.90867,339.0146 z "
+ id="path3017" />
+ <path
+ style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 226.73064,320.75315 L 293.91185,320.75315 L 306.1266,352.82797 L 291.87606,382.43553 L 226.73064,382.43553 L 241.99911,352.82797 L 226.73064,320.75315 z "
+ id="path1892" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot1894"
+ transform="translate(-37.47944,122.8324)"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans"><flowRegion
+ id="flowRegion1896"><rect
+ id="rect1898"
+ width="170"
+ height="61.42857"
+ x="281.42856"
+ y="212.66591"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans" /></flowRegion><flowPara
+ id="flowPara1900">HelloWorld</flowPara><flowPara
+ id="flowPara1906">Web</flowPara><flowPara
+ id="flowPara1904">Service</flowPara></flowRoot> <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 305.71429,353.3802 L 422.85714,351.95163"
+ id="path1910"
+ inkscape:export-filename="C:\simon\Projects\Tuscany\java\java-head\sca\samples\helloworld-ws-service\helloworld-ws-service.png"
+ inkscape:export-xdpi="52.84"
+ inkscape:export-ydpi="52.84" />
+ </g>
+</svg>
diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/pom.xml b/branches/sca-java-1.0.1/samples/helloworld-bpel/pom.xml new file mode 100644 index 0000000000..fbfe89698e --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/pom.xml @@ -0,0 +1,166 @@ +<?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.0.1-incubating-SNAPSHOT</version> + <relativePath>../../pom.xml</relativePath> + </parent> + <artifactId>sample-helloworld-bpel</artifactId> + <name>Apache Tuscany SCA HelloWorld BPEL Sample</name> + + <repositories> + <repository> + <id>apache.incubator</id> + <url>http://people.apache.org/repo/m2-incubating-repository</url> + </repository> + </repositories> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.0.1-incubating-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.0.1-incubating-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-bpel</artifactId> + <version>1.0.1-incubating-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sdo</groupId> + <artifactId>tuscany-sdo-impl</artifactId> + <version>1.0-incubating</version> + </dependency> + + <dependency> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + <version>2.8.0</version> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.2</version> + <scope>test</scope> + </dependency> + + </dependencies> + + <build> + <finalName>${artifactId}</finalName> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <!-- http://jira.codehaus.org/browse/SUREFIRE-322 --> + <version>2.3</version> + <configuration> + <useFile>false</useFile> + <trimStackTrace>false</trimStackTrace> + <skip>true</skip> + <!-- + <useSystemClassLoader>true</useSystemClassLoader> + --> + </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}/test-classes/</outputDirectory> + </artifactItem> + </artifactItems> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.tuscany.sdo</groupId> + <artifactId>tuscany-sdo-plugin</artifactId> + <version>1.0-incubating</version> + <executions> + <execution> + <id>generate-bpel-helloworld</id> + <phase>generate-sources</phase> + <configuration> + <schemaFile>${basedir}/src/main/resources/helloworld.wsdl</schemaFile> + <targetDirectory>${basedir}/target/wsdl2java-source</targetDirectory> + <prefix>HelloWorld</prefix> + <noNotification>true</noNotification> + <noContainer>true</noContainer> + <noUnsettable>true</noUnsettable> + </configuration> + <goals> + <goal>generate</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-maven-wsdl2java</artifactId> + <version>1.0.1-incubating-SNAPSHOT</version> + <executions> + <execution> + <configuration> + <wsdlFiles> + <wsdlFile> + <fileName>${basedir}/src/main/resources/helloworld.wsdl</fileName> + </wsdlFile> + </wsdlFiles> + </configuration> + <goals> + <goal>generate</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/java/helloworld/BPELClient.java b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/java/helloworld/BPELClient.java new file mode 100644 index 0000000000..68d66bfda5 --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/java/helloworld/BPELClient.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 helloworld; + +import org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType; +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * Simple BPEL sample application invoking a helloworld + * + * @version $Rev$ $Date$ + */ +public class BPELClient { + public static void main(String[] args) throws Exception { + + SCADomain scaDomain = SCADomain.newInstance("helloworld.composite"); + HelloPortType bpelService = scaDomain.getService(HelloPortType.class, "BPELHelloWorldComponent"); + + String result = bpelService.hello("Hello"); + System.out.println(result); + + scaDomain.close(); + + } +} diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/deploy.xml b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/deploy.xml new file mode 100644 index 0000000000..571aa37d58 --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/deploy.xml @@ -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. + --> +<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03" + xmlns:tns="http://tuscany.apache.org/implementation/bpel/example/helloworld" + xmlns:wns="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl"> + + + <process name="tns:HelloWorld"> + <active>true</active> + <provide partnerLink="helloPartnerLink"> + <service name="wns:HelloService" port="HelloPort"/> + </provide> + </process> +</deploy> diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/helloworld.bpel b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/helloworld.bpel new file mode 100644 index 0000000000..e983899d76 --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/helloworld.bpel @@ -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. + --> +<process name="HelloWorld" + targetNamespace="http://tuscany.apache.org/implementation/bpel/example/helloworld" + xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/" + xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/" + xmlns:tns="http://tuscany.apache.org/implementation/bpel/example/helloworld" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:test="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl" + queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" + expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"> + + <import location="helloworld.wsdl" importType="http://schemas.xmlsoap.org/wsdl/" + namespace="file:///home/mriou/dev/projects/ode/distro-axis2/src/examples/HelloWorld2/HelloWorld2.wsdl"/> + + <partnerLinks> + <partnerLink name="helloPartnerLink" partnerLinkType="test:HelloPartnerLinkType" myRole="me" /> + </partnerLinks> + + <variables> + <variable name="myVar" messageType="test:HelloMessage"/> + <variable name="tmpVar" type="xsd:string"/> + </variables> + + <sequence> + <receive + name="start" + partnerLink="helloPartnerLink" + portType="test:HelloPortType" + operation="hello" + variable="myVar" + createInstance="yes"/> + + <assign name="assign1"> + <copy> + <from variable="myVar" part="TestPart"/> + <to variable="tmpVar"/> + </copy> + <copy> + <from>concat($tmpVar,' World')</from> + <to variable="myVar" part="TestPart"/> + </copy> + </assign> + <reply name="end" + partnerLink="helloPartnerLink" + portType="test:HelloPortType" + operation="hello" + variable="myVar"/> + </sequence> +</process> diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/helloworld.componentType b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/helloworld.componentType new file mode 100644 index 0000000000..121064a475 --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/helloworld.componentType @@ -0,0 +1,30 @@ +<?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="HelloService"> + <interface.wsdl interface="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl#wsdl.interface(HelloPortType)" /> + </service> + +</componentType> +
\ No newline at end of file diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/helloworld.composite b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/helloworld.composite new file mode 100644 index 0000000000..b4623b5c2d --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/helloworld.composite @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://bpel" + xmlns:hns="http://tuscany.apache.org/implementation/bpel/example/helloworld" + name="bpel"> + + <component name="BPELHelloWorldComponent"> + <implementation.bpel process="hns:HelloWorld"/> + </component> + +</composite> diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/helloworld.wsdl b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/helloworld.wsdl new file mode 100644 index 0000000000..46cf381577 --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/helloworld.wsdl @@ -0,0 +1,82 @@ +<?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. + --> + +<wsdl:definitions + targetNamespace="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl" + xmlns="http://schemas.xmlsoap.org/wsdl/" + xmlns:tns="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" + 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> + <schema elementFormDefault="qualified" + targetNamespace="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl" + xmlns="http://www.w3.org/2001/XMLSchema"> + + <element name="hello"> + <complexType> + <sequence> + <element name="message" type="xsd:string"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="HelloMessage"> + <wsdl:part element="tns:hello" name="TestPart"/> + </wsdl:message> + + <wsdl:portType name="HelloPortType"> + <wsdl:operation name="hello"> + <wsdl:input message="tns:HelloMessage" name="TestIn"/> + <wsdl:output message="tns:HelloMessage" name="TestOut"/> + </wsdl:operation> + </wsdl:portType> + + + <wsdl:binding name="HelloSoapBinding" type="tns:HelloPortType"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="hello"> + <wsdlsoap:operation soapAction=""/> + <wsdl:input name="TestIn"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="TestOut"> + <wsdlsoap:body use="literal"/> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="HelloService"> + <wsdl:port name="HelloPort" binding="tns:HelloSoapBinding"> + <soap:address location="http://localhost:8085/ode/processes/helloWorld"/> + </wsdl:port> + </wsdl:service> + + <plnk:partnerLinkType name="HelloPartnerLinkType"> + <plnk:role name="me" portType="tns:HelloPortType"/> + <plnk:role name="you" portType="tns:HelloPortType"/> + </plnk:partnerLinkType> +</wsdl:definitions>
\ No newline at end of file diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/log4j.properties b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/log4j.properties new file mode 100644 index 0000000000..aae9b90dea --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/main/resources/log4j.properties @@ -0,0 +1,34 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Set root logger level to WARN and its only appender to CONSOLE +log4j.rootLogger=INFO, CONSOLE + +# log4j properties to work with commandline tools. +log4j.category.org.mortbay=ERROR +log4j.category.org.hibernate.type=WARN +log4j.category.org.objectweb=INFO +log4j.category.org.apache.ode.sql=INFO +log4j.category.org.apache.ode.axis2=INFO +log4j.category.org.apache.ode.bpel.engine=INFO +log4j.category.org.apache.ode.daohib.bpel.CorrelatorDaoImpl=INFO +log4j.category.org.apache.ode.bpel.epr=INFO + +# Console appender +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%p - %C{1}.%M(%L) | %m%n
\ No newline at end of file diff --git a/branches/sca-java-1.0.1/samples/helloworld-bpel/src/test/java/helloworld/BPELHelloWorldTestCase.java b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/test/java/helloworld/BPELHelloWorldTestCase.java new file mode 100644 index 0000000000..f2f9a99153 --- /dev/null +++ b/branches/sca-java-1.0.1/samples/helloworld-bpel/src/test/java/helloworld/BPELHelloWorldTestCase.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 helloworld; + +import junit.framework.TestCase; + +import org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType; +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * Tests the BPEL service + * + * @version $Rev$ $Date$ + */ +public class BPELHelloWorldTestCase extends TestCase { + + private SCADomain scaDomain; + HelloPortType bpelService = null; + + /** + * @throws java.lang.Exception + */ + @Override + protected void setUp() throws Exception { + scaDomain = SCADomain.newInstance("helloworld.composite"); + bpelService = scaDomain.getService(HelloPortType.class, "BPELHelloWorldComponent"); + + } + + /** + * @throws java.lang.Exception + */ + @Override + protected void tearDown() throws Exception { + scaDomain.close(); + } + + public void testInvoke() { + String response = bpelService.hello("Hello"); + assertEquals("World", response); + } +} |