diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2009-04-06 07:28:45 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2009-04-06 07:28:45 +0000 |
commit | 0f1e33e3adafb08edd767a9b400a45c9d377c5d4 (patch) | |
tree | a59e71e2d129bc942155f928df37e8546f1c9c97 /tags/java/sca/2.0-M2/modules/implementation-bpel | |
parent | 93713eb675e7c9b70aafc92feeaff1e68f962c3b (diff) |
Delete ol 2.0 M2 RC1 tag
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@762236 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
52 files changed, 0 insertions, 6102 deletions
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/LICENSE b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/LICENSE deleted file mode 100644 index baba9ca048..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/LICENSE +++ /dev/null @@ -1,251 +0,0 @@ -
- 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.
-
-===============================================================================================================
-
-Apache Tuscany SCA for Java Subcomponents
-=========================================:
-
-The Tuscany SCA for Java release includes a number of subcomponents with
-separate copyright notices and license terms. Your use of the source
-code for the these subcomponents is subject to the terms and
-conditions of the following licenses.
-
-=================================================================================================================
-
-This module implementation-script temporarily includes one file under the following BSD license:
-
- Copyright (c) 2006, Sun Microsystems, Inc.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- - Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
- - Neither the name of the Sun Microsystems, Inc. nor the names of
- contributors may be used to endorse or promote products derived from this
- software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- DAMAGE.
-
-=================================================================================================================
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/META-INF/MANIFEST.MF b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/META-INF/MANIFEST.MF deleted file mode 100644 index cbfe380bfe..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/META-INF/MANIFEST.MF +++ /dev/null @@ -1,46 +0,0 @@ -Manifest-Version: 1.0
-Private-Package: org.apache.tuscany.sca.implementation.bpel.ode;versio
- n="2.0",org.apache.tuscany.sca.implementation.bpel.ode.provider;versi
- on="2.0"
-Tool: Bnd-0.0.255
-Bundle-Name: Apache Tuscany SCA BPEL ODE Implementation Extension
-Created-By: 1.6.0_07 (Sun Microsystems Inc.)
-Bundle-Vendor: The Apache Software Foundation
-Bundle-Version: 2.0
-Bnd-LastModified: 1225397447609
-Bundle-ManifestVersion: 2
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-Description: Apache Tuscany SCA BPEL ODE Implementation Extensi
- on
-Import-Package: javax.resource.spi,
- javax.sql,
- javax.transaction;version="1.0.1",
- javax.wsdl,
- javax.xml.namespace,
- org.apache.commons.logging,
- org.apache.geronimo.transaction.manager,
- org.apache.ode.bpel.compiler,
- org.apache.ode.bpel.dao,
- org.apache.ode.bpel.engine,
- org.apache.ode.bpel.evt,
- org.apache.ode.bpel.iapi,
- org.apache.ode.bpel.memdao,
- org.apache.ode.il.config,
- org.apache.ode.il.dbutil,
- org.apache.ode.scheduler.simple,
- org.apache.ode.utils,
- org.apache.tuscany.sca.assembly;version="2.0",
- org.apache.tuscany.sca.core;version="2.0",
- org.apache.tuscany.sca.databinding.xml;version="2.0",
- org.apache.tuscany.sca.implementation.bpel;version="2.0",
- org.apache.tuscany.sca.interfacedef;version="2.0",
- org.apache.tuscany.sca.interfacedef.wsdl;version="2.0",
- org.apache.tuscany.sca.invocation;version="2.0",
- org.apache.tuscany.sca.policy;version="2.0.0",
- org.apache.tuscany.sca.provider;version="2.0",
- org.apache.tuscany.sca.runtime;version="2.0",
- org.oasisopen.sca.annotation;version="2.0",
- org.w3c.dom
-Bundle-SymbolicName: org.apache.tuscany.sca.implementation.bpel.ode
-Bundle-DocURL: http://www.apache.org/
-
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/NOTICE b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/NOTICE deleted file mode 100644 index a2f696be26..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/NOTICE +++ /dev/null @@ -1,17 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-Unless otherwise indicated, all distribution made available by the Apache Software Foundation
-is provided to you under the terms and conditions of the Apache License Version 2.0 ("AL").
-A copy of the AL is provided with this distribution as the LICENSE file present in the
-root directory, and is also available at http://www.apache.org/licenses/.
-
-This product also includes software under the BSD license
-(see the LICENSE file contained in this distribution), with
-the following copyright:
-
-Copyright (c) 2006, Sun Microsystems, Inc.
-All rights reserved.
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/pom.xml b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/pom.xml deleted file mode 100644 index 5034339cef..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/pom.xml +++ /dev/null @@ -1,431 +0,0 @@ -<?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-modules</artifactId>
- <version>2.0-M2</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-implementation-bpel-ode</artifactId>
- <name>Apache Tuscany SCA BPEL ODE Implementation Extension</name>
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>2.0-M2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-bpel</artifactId>
- <version>2.0-M2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
- <version>2.0-M2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface</artifactId>
- <version>2.0-M2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>2.0-M2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution</artifactId>
- <version>2.0-M2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>2.0-M2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding</artifactId>
- <version>2.0-M2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>2.0-M2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-impl</artifactId>
- <version>2.0-M2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-wsdl</artifactId>
- <version>2.0-M2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-wsdl-xml</artifactId>
- <version>2.0-M2</version>
- </dependency>
-
- <!-- ODE Jars -->
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-epr</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-store</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-dao</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-dao</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-dao-jpa</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-dao-jpa-ojpa-derby</artifactId>
- <version>1.1.1</version>
- <type>zip</type>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-runtime</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-api</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-scheduler-simple</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-utils</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-compiler</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-schemas</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-obj</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-jacob</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-jacob-ap</artifactId>
- <version>1.1.1</version>
- </dependency>
-
- <!-- ODE Dependencies -->
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.1</version>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>3.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jta_1.1_spec</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.modules</groupId>
- <artifactId>geronimo-kernel</artifactId>
- <version>1.2-beta</version>
- <exclusions>
- <exclusion>
- <groupId>mx4j</groupId>
- <artifactId>mx4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>cglib</groupId>
- <artifactId>cglib-nodep</artifactId>
- </exclusion>
- <exclusion>
- <groupId>xpp3</groupId>
- <artifactId>xpp3</artifactId>
- </exclusion>
- <exclusion>
- <groupId>xstream</groupId>
- <artifactId>xstream</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.modules</groupId>
- <artifactId>geronimo-transaction</artifactId>
- <version>1.2-beta</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-ejb_2.1_spec</artifactId>
- </exclusion>
- <exclusion>
- <groupId>ognl</groupId>
- <artifactId>ognl</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-ejb_3.0_spec</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.modules</groupId>
- <artifactId>geronimo-connector</artifactId>
- <version>1.2-beta</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
- </exclusion>
- <exclusion>
- <groupId>xmlbeans</groupId>
- <artifactId>xbean</artifactId>
- </exclusion>
- <exclusion>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.derby</groupId>
- <artifactId>derby</artifactId>
- <version>10.3.1.4</version>
- </dependency>
- <dependency>
- <groupId>tranql</groupId>
- <artifactId>tranql-connector</artifactId>
- <version>1.1</version>
- <exclusions>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-all</artifactId>
- <version>0.9.7-incubating</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-lib</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-kernel</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-kernel-5</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-jdbc</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-jdbc-5</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-persistence-jdbc</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-xmlstore</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.serp</groupId>
- <artifactId>serp</artifactId>
- <version>1.12.0</version>
- <exclusions>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>jaxen</groupId>
- <artifactId>jaxen</artifactId>
- <version>1.1.1</version>
- <exclusions>
- <exclusion>
- <groupId>xom</groupId>
- <artifactId>xom</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>xalan</groupId>
- <artifactId>xalan</artifactId>
- <version>2.7.0</version>
- </dependency>
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>2.8.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlbeans</groupId>
- <artifactId>xmlbeans</artifactId>
- <version>2.3.0</version>
- <exclusions>
- <exclusion>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>net.sf.saxon</groupId>
- <artifactId>saxon</artifactId>
- <version>8.7</version>
- <!--version>9.0.0.2</version-->
- </dependency>
- <dependency>
- <groupId>net.sf.saxon</groupId>
- <artifactId>saxon-dom</artifactId>
- <version>8.7</version>
- <!--version>9.0.0.2</version-->
- </dependency>
- <dependency>
- <groupId>net.sf.saxon</groupId>
- <artifactId>saxon-xpath</artifactId>
- <version>8.7</version>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.3</version>
- <exclusions>
- <exclusion>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.13</version>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <!-- http://jira.codehaus.org/browse/SUREFIRE-322 -->
- <version>2.3.1</version>
- <configuration>
- <useFile>false</useFile>
- <trimStackTrace>false</trimStackTrace>
- <useSystemClassLoader>true</useSystemClassLoader>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>unpack</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-dao-jpa-ojpa-derby</artifactId>
- <version>1.1.1</version>
- <type>zip</type>
- <overWrite>true</overWrite>
- <outputDirectory>${project.build.directory}/test-classes/
- </outputDirectory>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- </plugins>
- </build>
-</project>
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/BPELODEDeployFile.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/BPELODEDeployFile.java deleted file mode 100644 index 20373d0819..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/BPELODEDeployFile.java +++ /dev/null @@ -1,225 +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 org.apache.tuscany.sca.implementation.bpel.ode;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.net.URI;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.implementation.bpel.BPELImplementation;
-
-/**
- * A class that handles the deploy.xml file required for each BPEL process by the ODE runtime
- * @author Mike Edwards
- *
- * An explanation of the structure of the ODE deploy file:
- *
- * <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
- * xmlns:tns="http://helloworld"
- * xmlns:tus="http://tuscany.apache.org">
- *
- * <process name="tns:HelloWorld">
- * <active>true</active>
- * <provide partnerLink="helloPartnerLink">
- * <service name="tus:helloPartnerLink" port="HelloWorld"/>
- * </provide>
- * <invoke partnerLink="greetingsPartnerLink">
- * <service name="tus:greetingsPartnerLink" port="Greetings"/>
- * </invoke>
- * </process>
- * </deploy>
- *
- * For SCA purposes:
- *
- * a) Each partner link in the BPEL process is declared using either a <provide.../>
- * (for a service) or using a <invoke.../> (for a reference).
- *
- * b) Each <provide/> and <invoke/> must use the partnerLink name, as declared in the
- * BPEL process.
- *
- * c) The <provide/> and <invoke/> elements each have a single child <service/> element.
- * The <service/> elements have name and port attributes. The NAME attribute MUST be set
- * to the same name as the partnerLink and MUST be prefixed by a prefix which references
- * the namespace "http://tuscany.apache.org" ("tus" in the example above).
- * The port attribute can be set to any name (it must be present but it is not actually
- * used for anything significant).
- *
- * When SCA loads a BPEL process to the ODE server, this file is read by the ODE server to
- * characterize the process. When SCA interacts with ODE at later points - either when a
- * service is being invoked or the process invokes a reference - it is the service @name
- * attribute that identifies the service or reference involved.
- *
- * @version
- */
-public class BPELODEDeployFile {
- private final Log __log = LogFactory.getLog(getClass());
-
- static final String DEPLOY_ELEMENT_START = "<deploy xmlns=\"http://www.apache.org/ode/schemas/dd/2007/03\"";
- static final String DEPLOY_ENDELEMENT = "</deploy>";
- static final String PROCESS_NAMESPACE_DECL = "xmlns:tns=";
- static final String SERVICE_NAMESPACE = "xmlns:tus=\"http://tuscany.apache.org\"";
- static final String PROCESS_ELEMENT_START = "<process name=\"tns:";
- static final String PROCESS_ELEMENT_END = "\">";
- static final String PROCESS_ENDELEMENT = "</process>";
- static final String ACTIVE_ELEMENT = "<active>true</active>";
- static final String PROVIDE_ELEMENT_START = "<provide partnerLink=\"";
- static final String PROVIDE_ELEMENT_END = "\">";
- static final String PROVIDE_ENDELEMENT = "</provide>";
- static final String SERVICE_ELEMENT_START = "<service name=\"tus:";
- static final String SERVICE_ELEMENT_PORT = "\" port=\"";
- static final String SERVICE_ELEMENT_END = "Port\"/>";
- static final String INVOKE_ELEMENT_START = "<invoke partnerLink=\"";
- static final String INVOKE_ELEMENT_END = "\">";
- static final String INVOKE_ENDELEMENT = "</invoke>";
-
- static final String DEPLOY_FILENAME = "deploy.xml";
-
- private BPELImplementation implementation;
-
- /**
- * Constructor - requires a BPELImplementation as a parameter
- * The ODE deploy.xml file is for this supplied BPELImplementation
- * @param theImplementation
- */
- public BPELODEDeployFile( BPELImplementation theImplementation ) {
-
- implementation = theImplementation;
-
- } // end BPELODEDeployFile constructor
-
- /**
- * Writes the deploy file into the same directory as the BPEL process file, with the name
- * "deploy.xml"
- */
- public void writeDeployfile() throws IOException {
-
- File theDirectory = getDirectory();
-
- File deployFile = new File( theDirectory, DEPLOY_FILENAME );
- new FileOutputStream( deployFile );
- //if( !deployFile.canWrite() ) throw new IOException( "Unable to write to deploy file" +
- // deployFile.getPath() );
-
- // Create a stream for the data and write the data to the file
- PrintStream theStream = new PrintStream( new FileOutputStream( deployFile ) );
- try {
- constructDeployXML( theStream );
- if( theStream.checkError() ) throw new IOException();
- } catch (Exception e) {
- throw new IOException( "Unable to write data to deploy file" +
- deployFile.getPath() );
- } finally {
- theStream.close();
- } // end try
-
- } // end writeDeployFile
-
- /**
- * Creates the deploy.xml data and writes it to a supplied PrintStream
- * @param stream
- */
- public void constructDeployXML( PrintStream stream ) {
-
- // <deploy + namespace...
- stream.println( DEPLOY_ELEMENT_START );
- // namespace of the BPEL process
- QName process = implementation.getProcess();
- String processNamespace = process.getNamespaceURI();
- stream.println( PROCESS_NAMESPACE_DECL + "\"" + processNamespace + "\"" );
- // namespace for the service name elements
- stream.println( SERVICE_NAMESPACE + ">" );
-
- // <process> element
- stream.println( PROCESS_ELEMENT_START + process.getLocalPart() +
- PROCESS_ELEMENT_END );
-
- // <active/> element
- stream.println( ACTIVE_ELEMENT );
-
- ComponentType componentType = implementation.getComponentType();
- List<Service> theServices = componentType.getServices();
- // Loop over the <provide/> elements - one per service
- for ( Service service : theServices ) {
- String serviceName = service.getName();
- // Provide element...
- stream.println( PROVIDE_ELEMENT_START + serviceName + PROVIDE_ELEMENT_END );
- // Child service element...
- stream.println( SERVICE_ELEMENT_START + serviceName +
- SERVICE_ELEMENT_PORT + serviceName + SERVICE_ELEMENT_END );
- stream.println( PROVIDE_ENDELEMENT );
- } // end for
-
- // Loop over the <invoke/> elements - one per reference
- List<Reference> theReferences = componentType.getReferences();
- for ( Reference reference : theReferences ) {
- String referenceName = reference.getName();
- stream.println( INVOKE_ELEMENT_START + referenceName + INVOKE_ELEMENT_END );
- // Child service element...
- stream.println( SERVICE_ELEMENT_START + referenceName +
- SERVICE_ELEMENT_PORT + referenceName + SERVICE_ELEMENT_END );
- stream.println( INVOKE_ENDELEMENT );
-
- } // end for
-
- // </process> element
- stream.println( PROCESS_ENDELEMENT );
-
- // </deploy>
- stream.println( DEPLOY_ENDELEMENT );
-
- } // end constructDeployXML
-
- /**
- * Gets the directory containing the BPEL process
- * @return
- */
- private File getDirectory() {
- File theDir = getBPELFile().getParentFile();
- return theDir;
- } // end getDirectory
-
- /**
- * Gets the File containing the BPEL process definition
- * @return - the File object containing the BPEL process
- */
- private File getBPELFile() {
- try {
- File theProcess = new File(URI.create(implementation.getProcessDefinition().getLocation()));
- return theProcess;
- } catch( Exception e ) {
- if(__log.isDebugEnabled()) {
- __log.debug("Exception converting BPEL file URL to an URI: " + e );
- }
- } // end try
- return null;
- } // end getBPELFile
-
-
-
-} // end class BPELODEDeployFile
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java deleted file mode 100644 index 36bf4475bf..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java +++ /dev/null @@ -1,261 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -import java.io.File; -import java.net.URL; -import java.util.Map; -import java.util.Properties; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -import javax.transaction.TransactionManager; -import javax.xml.namespace.QName; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.ode.bpel.dao.BpelDAOConnectionFactoryJDBC; -import org.apache.ode.bpel.engine.BpelServerImpl; -import org.apache.ode.bpel.engine.CountLRUDehydrationPolicy; -import org.apache.ode.bpel.iapi.Scheduler; -import org.apache.ode.bpel.memdao.BpelDAOConnectionFactoryImpl; -import org.apache.ode.il.config.OdeConfigProperties; -import org.apache.ode.il.dbutil.Database; -import org.apache.ode.scheduler.simple.JdbcDelegate; -import org.apache.ode.scheduler.simple.SimpleScheduler; -import org.apache.ode.utils.GUID; -import org.apache.tuscany.sca.implementation.bpel.BPELImplementation; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Embedded ODE process server - * - * @version $Rev$ $Date$ - */ -public class EmbeddedODEServer { - protected final Log __log = LogFactory.getLog(getClass()); - - private boolean _initialized; - - private OdeConfigProperties _config; - - private TransactionManager _txMgr; - - private Database _db; - - private File _workRoot; - - private BpelDAOConnectionFactoryJDBC _daoCF; - - private BpelServerImpl _bpelServer; - - private Scheduler _scheduler; - - protected ExecutorService _executorService; - - private Map<QName, RuntimeComponent> tuscanyRuntimeComponents = new ConcurrentHashMap<QName, RuntimeComponent>(); - - public EmbeddedODEServer(TransactionManager txMgr) { - _txMgr = txMgr; - } - - public void init() throws ODEInitializationException { - Properties p = System.getProperties(); - p.put("derby.system.home", "target"); - - Properties confProps = new Properties(); - confProps.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=false)"); - _config = new OdeConfigProperties(confProps, "ode-sca"); - - // Setting work root as the directory containing our database (wherever in the classpath) - URL dbLocation = getClass().getClassLoader().getResource("jpadb"); - if (dbLocation == null) - throw new ODEInitializationException("Couldn't find database in the classpath"); - _workRoot = new File(dbLocation.getFile()).getParentFile(); - - initTxMgr(); - initPersistence(); - initBpelServer(); - - try { - _bpelServer.start(); - } catch (Exception ex) { - String errmsg = "An error occured during the ODE BPEL server startup."; - __log.error(errmsg, ex); - throw new ODEInitializationException(errmsg, ex); - } - - __log.info("ODE BPEL server started."); - _initialized = true; - } - - private void initTxMgr() { - if(_txMgr == null) { - try { - GeronimoTxFactory txFactory = new GeronimoTxFactory(); - _txMgr = txFactory.getTransactionManager(); - } catch (Exception e) { - __log.fatal("Couldn't initialize a transaction manager using Geronimo's transaction factory.", e); - throw new ODEInitializationException("Couldn't initialize a transaction manager using " + "Geronimo's transaction factory.", e); - } - } - } - - private void initPersistence() { - _db = new Database(_config); - _db.setTransactionManager(_txMgr); - _db.setWorkRoot(_workRoot); - - try { - _db.start(); - _daoCF = _db.createDaoCF(); - } catch (Exception ex) { - String errmsg = "Error while configuring ODE persistence."; - __log.error(errmsg, ex); - throw new ODEInitializationException(errmsg, ex); - } - } - - private void initBpelServer() { - if (__log.isDebugEnabled()) { - __log.debug("ODE initializing"); - } - - //FIXME: externalize the configuration for ThreadPoolMaxSize - _executorService = Executors.newCachedThreadPool(); - - _bpelServer = new BpelServerImpl(); - _scheduler = createScheduler(); - _scheduler.setJobProcessor(_bpelServer); - - _bpelServer.setDaoConnectionFactory(_daoCF); - _bpelServer.setInMemDaoConnectionFactory(new BpelDAOConnectionFactoryImpl(_scheduler)); - // _bpelServer.setEndpointReferenceContext(new EndpointReferenceContextImpl(this)); - _bpelServer.setMessageExchangeContext(new ODEMessageExchangeContext(this)); - _bpelServer.setBindingContext(new ODEBindingContext()); - _bpelServer.setScheduler(_scheduler); - if (_config.isDehydrationEnabled()) { - CountLRUDehydrationPolicy dehy = new CountLRUDehydrationPolicy(); - _bpelServer.setDehydrationPolicy(dehy); - } - - _bpelServer.init(); - } // end InitBpelServer - - public void stop() throws ODEShutdownException { - if(_bpelServer != null) { - try { - __log.debug("Stopping BPEL Embedded server"); - _bpelServer.shutdown(); - _bpelServer = null; - } catch (Exception ex) { - __log.debug("Error stopping BPEL server"); - } - } - - if(_scheduler != null) { - try { - __log.debug("Stopping scheduler"); - _scheduler.shutdown(); - _scheduler = null; - } catch (Exception ex) { - __log.debug("Error stopping scheduler"); - } - } - - if(_daoCF != null) { - try { - __log.debug("Stopping DAO"); - _daoCF.shutdown(); - _daoCF = null; - } catch (Exception ex) { - __log.debug("Error stopping DAO"); - } - } - - if(_db != null) { - try { - __log.debug("Stopping DB"); - _db.shutdown(); - _db = null; - } catch (Exception ex) { - __log.debug("Error stopping DB"); - } - } - - if(_txMgr != null) { - try { - __log.debug("Stopping Transaction Manager"); - _txMgr = null; - } catch (Exception ex) { - __log.debug("Error stopping Transaction Manager"); - } - } - } - - protected Scheduler createScheduler() { - SimpleScheduler scheduler = new SimpleScheduler(new GUID().toString(),new JdbcDelegate(_db.getDataSource())); - scheduler.setTransactionManager(_txMgr); - - return scheduler; - } - - public boolean isInitialized() { - return _initialized; - } - - public BpelServerImpl getBpelServer() { - return _bpelServer; - } - - public Scheduler getScheduler() { - return _scheduler; - } - - public ExecutorService getExecutor() { - return _executorService; - } - - // Updated by Mike Edwards, 23/05/2008 - public void deploy(ODEDeployment d, BPELImplementation implementation) { - try { - TuscanyProcessConfImpl processConf = new TuscanyProcessConfImpl( implementation ); - _bpelServer.register(processConf); - __log.debug("Completed calling new Process deployment code..."); - } catch (Exception ex) { - String errMsg = ">>> DEPLOY: Unexpected exception: " + ex.getMessage(); - __log.debug(errMsg, ex); - throw new ODEDeploymentException(errMsg,ex); - } - } - - public void undeploy(ODEDeployment d) { - //TODO - } - - public void registerTuscanyRuntimeComponent(QName processName,RuntimeComponent componentContext) { - tuscanyRuntimeComponents.put(processName, componentContext); - } - - public RuntimeComponent getTuscanyRuntimeComponent(QName processName) { - return tuscanyRuntimeComponents.get(processName); - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java deleted file mode 100644 index 11af0f8b50..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java +++ /dev/null @@ -1,48 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -import javax.transaction.TransactionManager; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -/** - * Geronimo transaction factory - * - * @version $Rev$ $Date$ - */ -public class GeronimoTxFactory { - private static final Log __log = LogFactory.getLog(GeronimoTxFactory.class); - - /* Public no-arg constructor is required */ - public GeronimoTxFactory() { - } - - public TransactionManager getTransactionManager() { - __log.info("Using embedded Geronimo transaction manager"); - try { - Object obj = new org.apache.geronimo.transaction.manager.GeronimoTransactionManager(); - return (TransactionManager) obj; - } catch (Exception except) { - throw new IllegalStateException("Unable to instantiate Geronimo Transaction Manager", except); - } - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEBindingContext.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEBindingContext.java deleted file mode 100644 index 3f2db7b244..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEBindingContext.java +++ /dev/null @@ -1,79 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -import javax.wsdl.PortType; -import javax.xml.namespace.QName; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.ode.bpel.iapi.BindingContext; -import org.apache.ode.bpel.iapi.Endpoint; -import org.apache.ode.bpel.iapi.EndpointReference; -import org.apache.ode.bpel.iapi.PartnerRoleChannel; - -/** - * Binding Context information - * - * @version $Rev$ $Date$ - */ -public class ODEBindingContext implements BindingContext { - protected final Log __log = LogFactory.getLog(getClass()); - - public ODEBindingContext() { - - } - - public EndpointReference activateMyRoleEndpoint(QName pid, Endpoint endpoint) { - // This will be needed when we support callBacks - if (__log.isDebugEnabled()) { - __log.debug("Activating MyRole Endpoint : " + pid + " - " + endpoint.serviceName); - } - - QName processName = getProcessName(pid); - - return new TuscanyEPR(processName, endpoint); - } - - public void deactivateMyRoleEndpoint(Endpoint endpoint) { - if (__log.isDebugEnabled()) { - __log.debug("Deactivate MyRole Endpoint : " + endpoint.serviceName); - } - - } - - public PartnerRoleChannel createPartnerRoleChannel(QName pid, PortType portType, Endpoint endpoint) { - if (__log.isDebugEnabled()) { - __log.debug("Create PartnerRole channel : " + pid + " - " + portType.getQName() + " - "+ endpoint.serviceName); - } - - QName processName = getProcessName(pid); - return new TuscanyPRC(processName, pid, portType, endpoint); - } - - /** - * Helper method to retrieve the BPEL process name from a processID (where processID have version concatenated to it) - * @param pid - * @return QName the BPEL process name - */ - private static QName getProcessName(QName pid) { - String processName = pid.getLocalPart().substring(0, pid.getLocalPart().lastIndexOf("-")); - return new QName(pid.getNamespaceURI(), processName); - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeployment.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeployment.java deleted file mode 100644 index a6428f6984..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeployment.java +++ /dev/null @@ -1,44 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -import java.io.File; - -/** - * Deployment information - * - * @version $Rev$ $Date$ - */ -public class ODEDeployment { - /** The directory containing the deploy.xml and artifacts. */ - public File deployDir; - - /** If non-null the type of exception we expect to get when we deploy. */ - public Class expectedException = null; - - public ODEDeployment(File deployDir) { - this.deployDir = deployDir; - } - - @Override - public String toString() { - return "Deployment#" + deployDir; - } -}
\ No newline at end of file diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeploymentException.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeploymentException.java deleted file mode 100644 index b03f69d9aa..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeploymentException.java +++ /dev/null @@ -1,41 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -/** - * Thrown when ODE failed to shutdown. - * - * @version $Rev$ $Date$ - */ -public class ODEDeploymentException extends RuntimeException { - private static final long serialVersionUID = -2869674556330744215L; - - public ODEDeploymentException(Throwable cause) { - super(cause); - } - - public ODEDeploymentException(String message) { - super(message); - } - - public ODEDeploymentException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEExternalService.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEExternalService.java deleted file mode 100644 index 15e9229601..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEExternalService.java +++ /dev/null @@ -1,285 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -import java.util.concurrent.Callable; - -import javax.wsdl.Part; -import javax.xml.namespace.QName; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.ode.bpel.iapi.Message; -import org.apache.ode.bpel.iapi.MessageExchange; -import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange; -import org.apache.ode.bpel.iapi.Scheduler; -import org.apache.ode.utils.DOMUtils; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -/** - * Helper Class to handle invocation to Tuscany Component References - * - * @version $Rev$ $Date$ - */ -public class ODEExternalService { - protected final Log __log = LogFactory.getLog(getClass()); - - private EmbeddedODEServer _server; - private Scheduler _sched; - - public ODEExternalService(EmbeddedODEServer server) { - this._server = server; - this._sched = _server.getScheduler(); - } - - - public void invoke(final PartnerRoleMessageExchange partnerRoleMessageExchange) { - boolean isTwoWay = - partnerRoleMessageExchange.getMessageExchangePattern() == org.apache.ode.bpel.iapi.MessageExchange.MessageExchangePattern.REQUEST_RESPONSE; - - if (isTwoWay) { - // Defer the invoke until the transaction commits. - _sched.registerSynchronizer(new Scheduler.Synchronizer() { - public void beforeCompletion() { - - } - - public void afterCompletion(boolean success) { - // If the TX is rolled back, then we don't send the request. - if (!success) - return; - - // The invocation must happen in a separate thread, holding - // on the afterCompletion - // blocks other operations that could have been listed there - // as well. - _server.getExecutor().submit(new Callable<Object>() { - public Object call() throws Exception { - try { - // do execution - if(! (partnerRoleMessageExchange.getChannel() instanceof TuscanyPRC)) { - throw new IllegalArgumentException("Channel should be an instance of TuscanyPRC"); - } - - TuscanyPRC channel = (TuscanyPRC) partnerRoleMessageExchange.getChannel(); - RuntimeComponent tuscanyRuntimeComponent = _server.getTuscanyRuntimeComponent(channel.getProcessName()); - - RuntimeComponentReference runtimeComponentReference = - (RuntimeComponentReference)tuscanyRuntimeComponent.getReferences().get(0); - RuntimeWire runtimeWire = - runtimeComponentReference.getRuntimeWire(runtimeComponentReference.getBindings().get(0)); - - // convert operations - Operation operation = - findOperation(partnerRoleMessageExchange.getOperation().getName(), runtimeComponentReference); - - - /* - This is how a request looks like (payload is wrapped with extra info) - <?xml version="1.0" encoding="UTF-8"?> - <message> - <parameters> - <getGreetings xmlns="http://greetings"> - <message xmlns="http://helloworld">Luciano</message> - </getGreetings> - </parameters> - </message> - */ - Element msg = partnerRoleMessageExchange.getRequest().getMessage(); - if (msg != null) { - String xml = DOMUtils.domToString(msg); - - String payload = - DOMUtils.domToString(getPayload(partnerRoleMessageExchange.getRequest())); - - if(__log.isDebugEnabled()) { - __log.debug("Starting invocation of SCA Reference"); - __log.debug(">>> Original message: " + xml); - __log.debug(">>> Payload: " + payload); - } - - Object[] args = new Object[] {getPayload(partnerRoleMessageExchange.getRequest())}; - - Object result = null; - boolean success = false; - - try { - result = runtimeWire.invoke(operation, args); - success = true; - } catch (Exception e) { - partnerRoleMessageExchange.replyWithFailure(MessageExchange.FailureType.OTHER, - e.getMessage(), - null); - } - - - if(__log.isDebugEnabled()) { - __log.debug("SCA Reference invocation finished"); - __log.debug(">>> Result : " + DOMUtils.domToString((Element)result)); - } - - if (!success) { - return null; - } - - // two way invocation - // process results based on type of message - // invocation - - // Message response = - // createResponseMessage(partnerRoleMessageExchange, - // (Element) result); - // partnerRoleMessageExchange.reply(response); - replyTwoWayInvocation(partnerRoleMessageExchange.getMessageExchangeId(), - operation, - (Element)result); - } - - } catch (Throwable t) { - // some error - String errmsg = - "Error sending message (mex=" + partnerRoleMessageExchange + "): " + t.getMessage(); - __log.error(errmsg, t); - /*replyWithFailure(partnerRoleMessageExchange.getMessageExchangeId(), - MessageExchange.FailureType.COMMUNICATION_ERROR, - errmsg, - null);*/ - } - return null; - } - }); - - } - }); - partnerRoleMessageExchange.replyAsync(); - - } else { - /** one-way case * */ - _server.getExecutor().submit(new Callable<Object>() { - public Object call() throws Exception { - // do reply - // operationClient.execute(false); - return null; - } - }); - partnerRoleMessageExchange.replyOneWayOk(); - } - } - - - /** - * Find the SCA Reference operation - * - * @param operationName - * @param runtimeComponentReference - * @return - */ - private Operation findOperation(String operationName, RuntimeComponentReference runtimeComponentReference) { - Operation reseultOperation = null; - - for(Operation operation : runtimeComponentReference.getInterfaceContract().getInterface().getOperations()) { - if (operationName.equalsIgnoreCase(operation.getName())) { - reseultOperation = operation; - break; - } - } - return reseultOperation; - } - - /** - * Get paylod from a given ODEMessage - * @param odeMessage - * @return - */ - private Element getPayload(Message odeMessage) { - Element payload = null; - Element parameters = odeMessage.getPart("parameters"); - - if (parameters != null && parameters.hasChildNodes()) { - payload = (Element)parameters.getFirstChild(); - } - - return payload; - } - - - private void replyTwoWayInvocation(final String odeMexId, final Operation operation, final Element result) { - // ODE MEX needs to be invoked in a TX. - try { - _server.getScheduler().execIsolatedTransaction(new Callable<Void>() { - public Void call() throws Exception { - PartnerRoleMessageExchange odeMex = null; - try { - odeMex = (PartnerRoleMessageExchange)_server.getBpelServer().getEngine().getMessageExchange(odeMexId); - if (odeMex != null) { - Message response = createResponseMessage(odeMex, operation, (Element)result); - odeMex.reply(response); - } - } catch (Exception ex) { - String errmsg = "Unable to process response: " + ex.getMessage(); - if (odeMex != null) { - odeMex.replyWithFailure(MessageExchange.FailureType.OTHER, errmsg, null); - } - } - - return null; - } - }); - } catch (Exception ex) { - ex.printStackTrace(); - } - - } - - private Message createResponseMessage(PartnerRoleMessageExchange partnerRoleMessageExchange, - Operation operation, - Element invocationResult) { - Document dom = DOMUtils.newDocument(); - - String operationName = operation.getName(); - Part bpelOperationOutputPart = - (Part)((WSDLInterface)operation.getInterface()).getPortType().getOperation(operationName, null, null) - .getOutput().getMessage().getParts().values().iterator().next(); - - Element contentMessage = dom.createElement("message"); - Element contentPart = dom.createElement(bpelOperationOutputPart.getName()); - - contentPart.appendChild(dom.importNode(invocationResult, true)); - contentMessage.appendChild(contentPart); - dom.appendChild(contentMessage); - - if(__log.isDebugEnabled()) { - __log.debug("Creating result message:"); - __log.debug(">>>" + DOMUtils.domToString(dom.getDocumentElement())); - } - - QName id = partnerRoleMessageExchange.getOperation().getOutput().getMessage().getQName(); - Message response = partnerRoleMessageExchange.createMessage(id); - response.setMessage(dom.getDocumentElement()); - - return response; - } - -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java deleted file mode 100644 index 2fa91e4e86..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java +++ /dev/null @@ -1,41 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -/** - * Thrown when ODE failed to initialize one if its needed resources. - * - * @version $Rev$ $Date$ - */ -public class ODEInitializationException extends RuntimeException { - private static final long serialVersionUID = -2869674556330744215L; - - public ODEInitializationException(Throwable cause) { - super(cause); - } - - public ODEInitializationException(String message) { - super(message); - } - - public ODEInitializationException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEMessageExchangeContext.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEMessageExchangeContext.java deleted file mode 100644 index 1ec82390cf..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEMessageExchangeContext.java +++ /dev/null @@ -1,57 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.ode.bpel.iapi.BpelEngineException; -import org.apache.ode.bpel.iapi.ContextException; -import org.apache.ode.bpel.iapi.MessageExchangeContext; -import org.apache.ode.bpel.iapi.MyRoleMessageExchange; -import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange; - -/** - * Message Exchange Context information - * - * @version $Rev$ $Date$ - */ -public class ODEMessageExchangeContext implements MessageExchangeContext { - private static final Log __log = LogFactory.getLog(ODEMessageExchangeContext.class); - - private EmbeddedODEServer _server; - - public ODEMessageExchangeContext(EmbeddedODEServer _server) { - this._server = _server; - } - - public void invokePartner(PartnerRoleMessageExchange partnerRoleMessageExchange) throws ContextException { - if (__log.isDebugEnabled()) { - __log.debug("Invoking a partner operation: " + partnerRoleMessageExchange.getOperationName()); - } - - ODEExternalService scaService = new ODEExternalService(_server); - scaService.invoke(partnerRoleMessageExchange); - } - - public void onAsyncReply(MyRoleMessageExchange myRoleMessageExchange) throws BpelEngineException { - if (__log.isDebugEnabled()) { - __log.debug("Processing an async reply from service " + myRoleMessageExchange.getServiceName()); - } - } - } diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEShutdownException.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEShutdownException.java deleted file mode 100644 index a928379ba9..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEShutdownException.java +++ /dev/null @@ -1,41 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -/** - * Thrown when ODE failed to shutdown. - * - * @version $Rev$ $Date$ - */ -public class ODEShutdownException extends RuntimeException { - private static final long serialVersionUID = -2869674556330744215L; - - public ODEShutdownException(Throwable cause) { - super(cause); - } - - public ODEShutdownException(String message) { - super(message); - } - - public ODEShutdownException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyEPR.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyEPR.java deleted file mode 100644 index 328403e626..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyEPR.java +++ /dev/null @@ -1,54 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -import javax.xml.namespace.QName; - -import org.apache.ode.bpel.iapi.Endpoint; -import org.apache.ode.bpel.iapi.EndpointReference; -import org.apache.ode.utils.DOMUtils; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -/** - * This should hold something that makes sense for Tuscany so that the - * process has an address that makes sense from the outside world perspective - * - * @version $Rev$ $Date$ - */ -public class TuscanyEPR implements EndpointReference { - private final QName prcessName; - private final Endpoint endpoint; - private final Document doc = DOMUtils.newDocument(); - - public TuscanyEPR(QName processName, Endpoint endpoint) { - this.prcessName = processName; - this.endpoint = endpoint; - - Element serviceref = doc.createElementNS(EndpointReference.SERVICE_REF_QNAME.getNamespaceURI(), - EndpointReference.SERVICE_REF_QNAME.getLocalPart()); - serviceref.setNodeValue(endpoint.serviceName + ":" + endpoint.portName); - doc.appendChild(serviceref); - } - - public Document toXML() { - return doc; - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyPRC.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyPRC.java deleted file mode 100644 index 8f8f608217..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyPRC.java +++ /dev/null @@ -1,71 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -import javax.wsdl.PortType; -import javax.xml.namespace.QName; - -import org.apache.ode.bpel.iapi.Endpoint; -import org.apache.ode.bpel.iapi.EndpointReference; -import org.apache.ode.bpel.iapi.PartnerRoleChannel; -import org.apache.ode.utils.DOMUtils; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -/** - * Tuscany Partner Role Channel for ODE Integration - * - * @version $Rev$ $Date$ - */ -public class TuscanyPRC implements PartnerRoleChannel { - private final QName processName; - private final QName pid; - private final PortType portType; - private final Endpoint endpoint; - - public TuscanyPRC(QName processName, QName pid, PortType portType, Endpoint endpoint){ - this.processName = processName; - this.pid = pid; - this.portType = portType; - this.endpoint = endpoint; - } - - public QName getProcessName() { - return this.processName; - } - - public void close() { - - } - - public EndpointReference getInitialEndpointReference() { - final Document doc = DOMUtils.newDocument(); - Element serviceref = doc.createElementNS(EndpointReference.SERVICE_REF_QNAME.getNamespaceURI(), - EndpointReference.SERVICE_REF_QNAME.getLocalPart()); - doc.appendChild(serviceref); - - return new EndpointReference() { - public Document toXML() { - return doc; - } - }; - } - -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyProcessConfImpl.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyProcessConfImpl.java deleted file mode 100644 index a85c7b1e5c..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyProcessConfImpl.java +++ /dev/null @@ -1,433 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.wsdl.Definition; -import javax.xml.namespace.QName; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.ode.bpel.compiler.BpelC; -import org.apache.ode.bpel.evt.BpelEvent.TYPE; -import org.apache.ode.bpel.iapi.Endpoint; -import org.apache.ode.bpel.iapi.ProcessConf; -import org.apache.ode.bpel.iapi.ProcessState; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.implementation.bpel.BPELImplementation; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -/** - * A Tuscany implementation of the ODE Process Conf - * - * @version $Rev$ $Date$ - */ -public class TuscanyProcessConfImpl implements ProcessConf { - private final Log __log = LogFactory.getLog(getClass()); - - private BPELImplementation implementation; - private Map<String, Endpoint> invokeEndpoints = null; - private Map<String, Endpoint> provideEndpoints = null; - private Map<QName, Node> properties = null; - private ProcessState processState; - private Date deployDate; - - private final String TUSCANY_NAMESPACE = "http://tuscany.apache.org"; - - /** - * Constructor for the ProcessConf implementation - * @param theImplementation the BPEL implementation for which this is the ProcessConf - */ - public TuscanyProcessConfImpl( BPELImplementation theImplementation ) { - //System.out.println("New TuscanyProcessConfImpl..."); - this.implementation = theImplementation; - - processState = ProcessState.ACTIVE; - deployDate = new Date(); - - // Compile the process - compile( getBPELFile() ); - } // end TuscanyProcessConfImpl constructor - - /** - * Returns the URI for the directory containing the BPEL process - */ - public URI getBaseURI() { - //System.out.println("getBaseURI called"); - File theDir = getDirectory(); - return theDir.toURI(); - } - - /** - * Returns a String containing the (local) name of the file containing the BPEL process - */ - public String getBpelDocument() { - //System.out.println("getBPELDocument called"); - try { - File processFile = new File(URI.create(implementation.getProcessDefinition().getLocation())); - return getRelativePath( getDirectory(), processFile); - } catch (Exception e) { - if(__log.isWarnEnabled()) { - __log.warn("Unable to resolve relative path of BPEL process" + implementation.getProcessDefinition().getLocation(), e ); - } - return null; - } // end try - } // end getBpelDocument - - /** - * Returns an InputStream containing the Compiled BPEL Process (CBP) - */ - public InputStream getCBPInputStream() { - //System.out.println("getCBPInputStream called"); - // Find the CBP file - it has the same name as the BPEL process and lives in the same - // directory as the process file - String cbpFileName = null; - try { - String fileName = getRelativePath( getDirectory(), getBPELFile() ); - cbpFileName = fileName.substring(0, fileName.lastIndexOf(".")) + ".cbp"; - } catch (Exception e ) { - // IOException trying to fetch the BPEL file name - if(__log.isDebugEnabled()) { - __log.debug("Unable to calculate the file name for BPEL process: " + - implementation.getProcessDefinition().getName(), e); - return null; - } // end if - } // end try - File cbpFile = new File( getDirectory(), cbpFileName ); - if( cbpFile.exists() ) { - // Create an InputStream from the cbp file... - try { - return new FileInputStream( cbpFile ); - } catch ( Exception e ) { - if(__log.isDebugEnabled()) { - __log.debug("Unable to open the cbp file for BPEL process: " + - implementation.getProcessDefinition().getName(), e); - } - } // end try - } else { - // Cannot find the cbp file - if(__log.isWarnEnabled()){ - __log.warn("Cannot find the cbp file for process: " + - implementation.getProcessDefinition().getName()); - } - } // end if - // TODO - need better exception handling if we can't open the cbp file for any reason - return null; - } // end getCBPInputStream - - /** - * Return the WSDL Definition for a given PortType - * @param portTypeName - the QName of the PortType - */ - public Definition getDefinitionForPortType( QName portTypeName ) { - //System.out.println("getDefinitionForPortType called for portType: " + portTypeName ); - // Find the named PortType in the list of WSDL interfaces associated with this BPEL Process - Collection<WSDLInterface> theInterfaces = implementation.getProcessDefinition().getInterfaces(); - for( WSDLInterface wsdlInterface : theInterfaces ) { - if ( wsdlInterface.getPortType().getQName().equals( portTypeName ) ) { - // Extract and return the Definition associated with the WSDLDefinition... - return wsdlInterface.getWsdlDefinition().getDefinition(); - } // end if - } // end for - return null; - } // end getDefinitionforPortType - - /** - * Returns a WSDL Definition for a given Service QName - * - * 22/05/2008 - it is very unclear what this service QName is really meant to be. - * From the handling of the deploy.xml file by the current ODE code, it seems that the key link - * is from the Service QName to the PartnerLink name (done in the deploy.xml file). - * - * The curious part about this is that the QName for the service is ONLY defined in deploy.xml file - * and does not appear to relate to anything else, except for the QName of the PartnerLink - * - * The PartnerLink name is the same as the name of the SCA service (or reference) which in turn points - * at the PartnerLinkType which in turn points at an (WSDL) interface definition. - */ - public Definition getDefinitionForService(QName serviceQName ) { - //System.out.println("getDefinitionForService called for Service: " + serviceQName ); - if(__log.isDebugEnabled()){ - __log.debug("getDefinitionforService called for service: " + serviceQName ); - } - // TODO Auto-generated method stub - return null; - } - - /** - * Returns the date of deployment of the process - * - for SCA returns the date at which this object was created - */ - public Date getDeployDate() { - //System.out.println("getDeployDate called"); - return deployDate; - } - - /** - * Returns userid of deployer - * - always "SCA Tuscany" for Tuscany... - */ - public String getDeployer() { - //System.out.println("getDeployer called"); - return "SCA Tuscany"; - } // end getDeployer - - /** - * Returns a list of the files in the directory containing the BPEL Process - */ - public List<File> getFiles() { - //System.out.println("getFiles called"); - File theDir = getDirectory(); - List<File> theFiles = Arrays.asList( (File[]) theDir.listFiles() ); - // TODO recurse into subdirectories - return theFiles; - } // end getFiles - - /** - * Returns a Map containing all the "invoke endpoints" - for which read "SCA references" - * The map is keyed by partnerLink name and holds Endpoint objects - * - * TODO deal with service callbacks on bidirectional services - */ - public Map<String, Endpoint> getInvokeEndpoints() { - //System.out.println("getInvokeEndpoints called"); - if( invokeEndpoints == null ) { - invokeEndpoints = new HashMap<String, Endpoint>(); - // Get a collection of the references - List<Reference> theReferences = implementation.getReferences(); - // Create an endpoint for each reference, using the reference name as the "service" - // name, combined with http://tuscany.apache.org to make a QName - for( Reference reference : theReferences ) { - invokeEndpoints.put( reference.getName(), - new Endpoint( new QName( TUSCANY_NAMESPACE, reference.getName() ), "ReferencePort")); - } // end for - } // end if - return invokeEndpoints; - } // end getInvokeEndpoints - - /** - * Returns the name of the directory containing the BPEL files - */ - public String getPackage() { - //System.out.println("getPackage called"); - File theDir = getDirectory(); - return theDir.getName(); - } // end getPackage - - /** - * Return the BPEL Process ID - which is the Process QName appended "-versionnumber" - */ - public QName getProcessId() { - //System.out.println("getProcessId called"); - QName processType = getType(); - QName processID = new QName( processType.getNamespaceURI(), - processType.getLocalPart() + "-" + getVersion() ); - return processID; - } // end getProcessID - - /** - * TODO - What are properties? - */ - public Map<QName, Node> getProperties() { - //System.out.println("getProperties called"); - if ( properties == null ) { - properties = new HashMap<QName, Node>(); - } // end if - return properties; - } // end getProperties - - /** - * Returns a Map containing all the "provide endpoints" - for which read "SCA services" - * The map is keyed by partnerLink name and holds Endpoint objects - * - * TODO deal with reference callbacks on bidirectional references - */ - public Map<String, Endpoint> getProvideEndpoints() { - //System.out.println("getProvideEndpoints called"); - if( provideEndpoints == null ) { - provideEndpoints = new HashMap<String, Endpoint>(); - // Get a collection of the references - List<Service> theServices = implementation.getServices(); - // Create an endpoint for each reference, using the reference name as the "service" - // name, combined with http://tuscany.apache.org to make a QName - for( Service service : theServices ) { - provideEndpoints.put( service.getName(), - new Endpoint( new QName( TUSCANY_NAMESPACE, service.getName() ), "ServicePort")); - } // end for - } // end if - return provideEndpoints; - } // end getProvideEndpoints - - /** - * Return the process state - */ - public ProcessState getState() { - //System.out.println("getState called"); - return processState; - } - - /** - * Returns the QName of the BPEL process - */ - public QName getType() { - //System.out.println("getType called"); - return implementation.getProcess(); - } - - /** - * Gets the process Version number - * - current code does not have versions for BPEL processes and always returns "1" - */ - public long getVersion() { - //System.out.println("getVersion called"); - return 1; - } - - /** - * Returns true if the supplied event type is enabled for any of the scopes in the provided - * List. These events are "ODE Execution Events" and there is a definition of them on this - * page: http://ode.apache.org/user-guide.html#UserGuide-ProcessDeployment - * - * For the present Tuscany does not support manipulating the event enablement and always - * returns that the event is not enabled - * @param scopeNames - list of BPEL process Scope names - * @param type - the event type - */ - public boolean isEventEnabled(List<String> scopeNames, TYPE type) { - //System.out.println("isEventEnabled called with scopeNames: " + - // scopeNames + " and type: " + type ); - return false; - } // end isEventEnabled - - /** - * Returns whether the process is persisted in the store - * - * Returns false for SCA configuration - * - returning true causes problems in communicating with the BPEL process - */ - public boolean isTransient() { - //System.out.println("isTransient called"); - return false; - } // end isTransient - - /** - * Compiles a BPEL process file into a compiled form CBP file in the main directory - * (ie same directory as the BPEL process file) - * @param bpelFile - the BPEL process file - */ - private void compile( File bpelFile ) { - // Set up the compiler - BpelC compiler = BpelC.newBpelCompiler(); - // Provide a null set of initial properties for now - Map<QName, Node> processProps = new HashMap<QName, Node>(); - Map<String, Object> compileProps = new HashMap<String, Object>(); - compileProps.put( BpelC.PROCESS_CUSTOM_PROPERTIES, processProps ); - compiler.setCompileProperties( compileProps ); - compiler.setBaseDirectory( getDirectory() ); - - // Run the compiler and generate the CBP file into the given directory - try { - compiler.compile( bpelFile ); - } catch (IOException e) { - if(__log.isDebugEnabled()) { - __log.debug("Compile error in " + bpelFile, e); - } - // TODO - need better exception handling here - } // end try - } // end compile - - /** - * Gets the directory containing the BPEL process - * @return - */ - private File getDirectory() { - File theDir = getBPELFile().getParentFile(); - return theDir; - } // end getDirectory - - /** - * Gets the File containing the BPEL process definition - * @return - the File object containing the BPEL process - */ - private File getBPELFile() { - try { - File theProcess = new File(URI.create(implementation.getProcessDefinition().getLocation())); - return theProcess; - } catch( Exception e ) { - if(__log.isDebugEnabled()) { - __log.debug("Exception converting BPEL file URL to an URI: " + e ); - } - } // end try - return null; - } // end getBPELFile - - /** - * Gets the relative path of a file against a directory in its hierarchy - * @param base - the base directory - * @param path - the file - * @return - * @throws IOException - */ - private String getRelativePath(File base, File path) throws IOException { - String basePath = base.getCanonicalPath(); - String filePath = path.getCanonicalPath(); - if (!filePath.startsWith(basePath)) { - throw new IOException("Invalid relative path: base=" + base + " path=" + path); - } - String relative = filePath.substring(basePath.length()); - if (relative.startsWith(File.separator)) { - relative = relative.substring(1); - } - return relative; - } // end getRelativePath - - //----------------------------------------------------------------------------- - // other public APIs which ProcessConfImpl displays which are not in ProcessConf interface - - public List<String> getMexInterceptors(QName processId) { -// System.out.println("getMexInterceptors for processID: " + processId ); - return null; - } - - public void setTransient(boolean t) { -// System.out.println("setTransient called with boolean: " + t ); - } - - public List<Element> getExtensionElement(QName arg0) { - return Collections.emptyList(); - } - // end of other public APIs - //----------------------------------------------------------------------------- - -} // end class TuscanyProcessConfImpl diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELImplementationProvider.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELImplementationProvider.java deleted file mode 100644 index c644b6a965..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELImplementationProvider.java +++ /dev/null @@ -1,145 +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 org.apache.tuscany.sca.implementation.bpel.ode.provider; - -import java.io.File; -import java.net.URI; - -import javax.transaction.TransactionManager; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.databinding.xml.DOMDataBinding; -import org.apache.tuscany.sca.implementation.bpel.BPELImplementation; -import org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer; -import org.apache.tuscany.sca.implementation.bpel.ode.ODEDeployment; -import org.apache.tuscany.sca.implementation.bpel.ode.ODEInitializationException; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * BPEL Implementation provider - * - * @version $Rev$ $Date$ - */ -public class BPELImplementationProvider implements ImplementationProvider { - private final Log __log = LogFactory.getLog(getClass()); - - private RuntimeComponent component; - private BPELImplementation implementation; - - private EmbeddedODEServer odeServer; - private TransactionManager txMgr; - - /** - * Constructs a new BPEL Implementation. - */ - public BPELImplementationProvider(RuntimeComponent component, - BPELImplementation implementation, - EmbeddedODEServer odeServer, - TransactionManager txMgr) { - this.component = component; - this.implementation = implementation; - this.odeServer = odeServer; - this.txMgr = txMgr; - - // Configure the service and reference interfaces to use a DOM databinding - // as it's what ODE expects - for (Service service: implementation.getServices()) { - service.getInterfaceContract().getInterface().resetDataBinding(DOMDataBinding.NAME); - } - for (Reference reference: implementation.getReferences()) { - reference.getInterfaceContract().getInterface().resetDataBinding(DOMDataBinding.NAME); - } - - } - - public Invoker createInvoker(RuntimeComponentService service, Operation operation) { - BPELInvoker invoker = new BPELInvoker(component, service, operation, odeServer, txMgr); - return invoker; - } - - public boolean supportsOneWayInvocation() { - return false; - } - - public void start() { - if(__log.isInfoEnabled()) { - __log.info("Starting " + component.getName()); - } - - try { - if (!odeServer.isInitialized()) { - // start ode server - odeServer.init(); - } - - URI deployURI = URI.create(this.implementation.getProcessDefinition().getLocation()); - - File deploymentDir = new File(deployURI).getParentFile(); - - if(__log.isInfoEnabled()) { - __log.info(">>> Deploying : " + deploymentDir.toString()); - } - - // deploy the process - if (odeServer.isInitialized()) { - try { - //txMgr.begin(); - odeServer.registerTuscanyRuntimeComponent(implementation.getProcess(), component); - // Replaced by Mike Edwards 23/05/2008 - //odeServer.deploy(new ODEDeployment(deploymentDir)); - odeServer.deploy(new ODEDeployment(deploymentDir), implementation ); - //txMgr.commit(); - } catch (Exception e) { - e.printStackTrace(); - //txMgr.rollback(); - } - } - - } catch (ODEInitializationException inite) { - throw new RuntimeException("BPEL Component Type Implementation : Error initializing embedded ODE server " + inite.getMessage(), inite); - } catch(Exception e) { - throw new RuntimeException("BPEl Component Type Implementation initialization failure : " + e.getMessage(), e); - } - } - - public void stop() { - if(__log.isInfoEnabled()) { - __log.info("Stopping " + component.getName()); - } - - if (odeServer.isInitialized()) { - // start ode server - odeServer.stop(); - } - - txMgr = null; - - if(__log.isInfoEnabled()) { - __log.info("Stopped !!!"); - } - } - -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELImplementationProviderFactory.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELImplementationProviderFactory.java deleted file mode 100644 index ed327e237b..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELImplementationProviderFactory.java +++ /dev/null @@ -1,69 +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 org.apache.tuscany.sca.implementation.bpel.ode.provider; - -import javax.transaction.TransactionManager; - -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.implementation.bpel.BPELImplementation; -import org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer; -import org.apache.tuscany.sca.implementation.bpel.ode.GeronimoTxFactory; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.provider.ImplementationProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.oasisopen.sca.annotation.Destroy; - -/** - * BPEL Implementation provider factory - * - * We use the provider factory to instantiate a ODE server that is going to be injected in all BPEL components - * - * @version $Rev$ $Date$ - */ -public class BPELImplementationProviderFactory implements ImplementationProviderFactory<BPELImplementation> { - - private EmbeddedODEServer odeServer; - private TransactionManager txMgr; - - /** - * Default constructor receiving an extension point - * @param extensionPoints - */ - public BPELImplementationProviderFactory(ExtensionPointRegistry extensionPoints) { - GeronimoTxFactory txFactory = new GeronimoTxFactory(); - txMgr = txFactory.getTransactionManager(); - this.odeServer = new EmbeddedODEServer(txMgr); - } - - /** - * Creates a new BPEL Implementation and inject the EmbeddedODEServer - */ - public ImplementationProvider createImplementationProvider(RuntimeComponent component, BPELImplementation implementation) { - return new BPELImplementationProvider(component, implementation, odeServer, txMgr); - } - - public Class<BPELImplementation> getModelType() { - return BPELImplementation.class; - } - - @Destroy - public void destroy() { - txMgr = null; - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java deleted file mode 100644 index fcb0d27354..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java +++ /dev/null @@ -1,245 +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 org.apache.tuscany.sca.implementation.bpel.ode.provider; - -import java.lang.reflect.InvocationTargetException; -import java.util.concurrent.Future; - -import javax.transaction.SystemException; -import javax.transaction.TransactionManager; -import javax.wsdl.Part; -import javax.xml.namespace.QName; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.ode.bpel.iapi.MyRoleMessageExchange; -import org.apache.ode.bpel.iapi.MessageExchange.Status; -import org.apache.ode.utils.DOMUtils; -import org.apache.ode.utils.GUID; -import org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -/** - * Implements a target invoker for BPEL component implementations. - * - * The target invoker is responsible for dispatching invocations to the particular - * component implementation logic. In this example we are simply delegating the - * CRUD operation invocations to the corresponding methods on our fake - * resource manager. - * - * @version $Rev$ $Date$ - */ -public class BPELInvoker implements Invoker { - protected final Log __log = LogFactory.getLog(getClass()); - - private EmbeddedODEServer odeServer; - private TransactionManager txMgr; - - private RuntimeComponent component; - private RuntimeComponentService service; - private Operation operation; - private QName bpelServiceName; - private String bpelOperationName; - private Part bpelOperationInputPart; - private Part bpelOperationOutputPart; - - public BPELInvoker(RuntimeComponent component, RuntimeComponentService service, Operation operation, EmbeddedODEServer odeServer, TransactionManager txMgr) { - this.component = component; - this.service = service; - this.operation = operation; - this.bpelOperationName = operation.getName(); - this.odeServer = odeServer; - this.txMgr = txMgr; - - initializeInvocation(); - } - - - private void initializeInvocation() { - - __log.debug("Initializing BPELInvoker"); - - Interface interfaze = operation.getInterface(); - if(interfaze instanceof WSDLInterface){ - WSDLInterface wsdlInterface = null; - wsdlInterface = (WSDLInterface) interfaze; - - // The following commented out code is bogus and is replaced by what follows - Mike Edwards - // Service serviceDefinition = (Service) wsdlInterface.getWsdlDefinition().getDefinition().getAllServices().values().iterator().next(); - // bpelServiceName = serviceDefinition.getQName(); - // - // Fetch the service name from the service object - bpelServiceName = new QName( "http://tuscany.apache.org", service.getName() ); - - bpelOperationInputPart = (Part) wsdlInterface.getPortType().getOperation(bpelOperationName,null,null).getInput().getMessage().getParts().values().iterator().next(); - bpelOperationOutputPart = (Part) wsdlInterface.getPortType().getOperation(bpelOperationName,null,null).getOutput().getMessage().getParts().values().iterator().next(); - } - } - - public Message invoke(Message msg) { - try { - Object[] args = msg.getBody(); - Object resp = doTheWork(args); - msg.setBody(resp); - } catch (InvocationTargetException e) { - msg.setFaultBody(e.getCause()); - } - return msg; - } - - public Object doTheWork(Object[] args) throws InvocationTargetException { - Element response = null; - - if(! (operation.getInterface() instanceof WSDLInterface)) { - throw new InvocationTargetException(null,"Unsupported service contract"); - } - - org.apache.ode.bpel.iapi.MyRoleMessageExchange mex = null; - Future onhold = null; - - //Process the BPEL process invocation - try { - txMgr.begin(); - mex = odeServer.getBpelServer().getEngine().createMessageExchange(new GUID().toString(), - bpelServiceName, - bpelOperationName); - - onhold = mex.invoke(createInvocationMessage(mex, args)); - - txMgr.commit(); - } catch (Exception e) { - try { - txMgr.rollback(); - } catch (SystemException se) { - - } - throw new InvocationTargetException(e, "Error invoking BPEL process : " + e.getMessage()); - } - - - // Waiting until the reply is ready in case the engine needs to continue in a different thread - if (onhold != null) { - try { - onhold.get(); - } catch (Exception e) { - throw new InvocationTargetException(e,"Error invoking BPEL process : " + e.getMessage()); - } - } - - //Process the BPEL invocation response - try { - txMgr.begin(); - // Reloading the mex in the current transaction, otherwise we can't - // be sure we have the "freshest" one. - mex = (MyRoleMessageExchange)odeServer.getBpelServer().getEngine().getMessageExchange(mex.getMessageExchangeId()); - - if (__log.isDebugEnabled()) { - Status status = mex.getStatus(); - Element invocationResponse = mex.getResponse().getMessage(); - __log.debug(">>>Invocation status:" + status.name()); - __log.debug(">>>Response:\n" + DOMUtils.domToString(invocationResponse)); - __log.debug(">>>Response:\n" + DOMUtils.domToString(invocationResponse)); - } - - //process the method invocation result - response = processResponse(mex.getResponse().getMessage()); - - txMgr.commit(); - // end of transaction two - } catch (Exception e) { - try { - txMgr.rollback(); - } catch (SystemException se) { - - } - throw new InvocationTargetException(e, "Error retrieving BPEL process invocation status : " + e.getMessage()); - } - - - return response; - } - - /** - * Create BPEL Invocation message - * - * BPEL invocation message like : - * <message> - * <TestPart> - * <hello xmlns="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl">Hello</hello> - * </TestPart> - * </message> - * @param args - * @return - */ - private org.apache.ode.bpel.iapi.Message createInvocationMessage(org.apache.ode.bpel.iapi.MyRoleMessageExchange mex, Object[] args) { - Document dom = DOMUtils.newDocument(); - - Element contentMessage = dom.createElement("message"); - Element contentPart = dom.createElement(bpelOperationInputPart.getName()); - Element payload = null; - - //TUSCANY-2321 - Properly handling Document or Element types - if(args[0] instanceof Document) { - payload = (Element) ((Document) args[0]).getFirstChild(); - } else { - payload = (Element) args[0]; - } - - contentPart.appendChild(dom.importNode(payload, true)); - contentMessage.appendChild(contentPart); - dom.appendChild(contentMessage); - - if (__log.isDebugEnabled()) { - __log.debug("Creating invocation message:"); - __log.debug(">> args.....: " + DOMUtils.domToString(payload)); - __log.debug(">> message..:" + DOMUtils.domToString(dom.getDocumentElement())); - } - - org.apache.ode.bpel.iapi.Message request = mex.createMessage(new QName("", "")); - request.setMessage(dom.getDocumentElement()); - - return request; - } - - /** - * Process BPEL response - * - * <message> - * <TestPart> - * <hello xmlns="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl">World</hello> - * </TestPart> - * </message> - * - * @param response - * @return - */ - private Element processResponse(Element response) { - // return (Element) DOMUtils.findChildByName(response, new QName("",bpelOperationOutputPart.getName())).getFirstChild(); - return (Element) DOMUtils.findChildByName(response, new QName("",bpelOperationOutputPart.getName())); - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory deleted file mode 100644 index 3bce8aa9ab..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory +++ /dev/null @@ -1,19 +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.
-
-# Implementation class for the implementation extension
-org.apache.tuscany.sca.implementation.bpel.ode.provider.BPELImplementationProviderFactory;model=org.apache.tuscany.sca.implementation.bpel.BPELImplementation
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServerTestCase.java b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServerTestCase.java deleted file mode 100644 index 0f59990377..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServerTestCase.java +++ /dev/null @@ -1,124 +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 org.apache.tuscany.sca.implementation.bpel.ode; - -import javax.transaction.TransactionManager; - -import junit.framework.TestCase; - -/** - * Test to Deploy and Invoke a HelloWorld BPEL process using EmbeddedODEServer - * - * Major changes introduced to this testcase on 27/05/2008 associated with changes in the - * implementation of EmbeddedODEServer which remove the need for the ODE deploy.xml file - - * instead a Tuscany BPELImplementation object is passed to the EmbeddedODEServer and this is - * introspected to get all the necessary information about the BPEL process - * - * @version $Rev$ $Date$ - */ -public class EmbeddedODEServerTestCase extends TestCase { - - private EmbeddedODEServer odeServer; - - private TransactionManager txMgr; - - @Override - protected void setUp() throws Exception { - // Set up the ODE BPEL server... - GeronimoTxFactory txFactory = new GeronimoTxFactory(); - txMgr = txFactory.getTransactionManager(); - - this.odeServer = new EmbeddedODEServer(txMgr); - odeServer.init(); - - } // end setUp - - @Override - protected void tearDown() throws Exception { - odeServer.stop(); - } - - public void testProcessInvocation() throws Exception { - if (!odeServer.isInitialized()) { - fail("Server did not start !"); - } -// TODO - write effective testcase - made problematic by the need to supply a resolved -// BPELImplementation -/* - URL deployURL = getClass().getClassLoader().getResource("helloworld/deploy.xml"); - File deploymentDir = new File(deployURL.toURI().getPath()).getParentFile(); - System.out.println("Deploying : " + deploymentDir.toString()); - System.out.println(deploymentDir); - - if (odeServer.isInitialized()) { - try { - txMgr.begin(); - odeServer.deploy(new ODEDeployment(deploymentDir), implementation); - txMgr.commit(); - } catch (Exception e) { - e.printStackTrace(); - txMgr.rollback(); - } - - // transaction one - MyRoleMessageExchange mex = null; - Future onhold = null; - try { - // invoke the process - txMgr.begin(); - mex = odeServer.getBpelServer().getEngine().createMessageExchange(new GUID().toString(), - new QName("http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl", "HelloService"), "hello"); - - Message request = mex.createMessage(new QName("", "")); - request.setMessage(DOMUtils.stringToDOM("<message><TestPart><hello xmlns=\"http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl\">Hello</hello></TestPart></message>")); - onhold = mex.invoke(request); - txMgr.commit(); - } catch (Exception e) { - e.printStackTrace(); - txMgr.rollback(); - } - // - end of transaction one - - // Waiting until the reply is ready in case the engine needs to continue in a different thread - if (onhold != null) - onhold.get(); - - // transaction two - try { - txMgr.begin(); - // Reloading the mex in the current transaction, otherwise we can't be sure we have - // the "freshest" one. - mex = (MyRoleMessageExchange) odeServer.getBpelServer().getEngine().getMessageExchange(mex.getMessageExchangeId()); - - Status status = mex.getStatus(); - System.out.println("Status: " + status.name()); - Element response = mex.getResponse().getMessage(); - System.out.println("Response: " + DOMUtils.domToString(response)); - txMgr.commit(); - // end of transaction two - } catch (Exception e) { - e.printStackTrace(); - txMgr.rollback(); - } // end try - } // end if -*/ - } // end testProcessInvocation - -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/helloworld/deploy.xml b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/helloworld/deploy.xml deleted file mode 100644 index 571aa37d58..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/helloworld/deploy.xml +++ /dev/null @@ -1,30 +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. - --> -<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/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/helloworld/greetings.wsdl b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/helloworld/greetings.wsdl deleted file mode 100644 index bcd3ea6afa..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/helloworld/greetings.wsdl +++ /dev/null @@ -1,87 +0,0 @@ -<?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 name="greetings"
- targetNamespace="http://greetings"
- xmlns:tns="http://greetings"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
-
- <wsdl:types>
- <schema elementFormDefault="qualified" targetNamespace="http://greetings" xmlns="http://www.w3.org/2001/XMLSchema">
-
- <element name="getGreetings">
- <complexType>
- <sequence>
- <element name="name" type="xsd:string"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="getGreetingsResponse">
- <complexType>
- <sequence>
- <element name="getGreetingsReturn" type="xsd:string"/>
- </sequence>
- </complexType>
- </element>
-
- </schema>
- </wsdl:types>
-
- <wsdl:message name="getGreetingsRequest">
- <wsdl:part element="tns:getGreetings" name="parameters"/>
- </wsdl:message>
-
- <wsdl:message name="getGreetingsResponse">
- <wsdl:part element="tns:getGreetingsResponse" name="parameters"/>
- </wsdl:message>
-
- <wsdl:portType name="Greetings">
- <wsdl:operation name="getGreetings">
- <wsdl:input message="tns:getGreetingsRequest" name="getGreetingsRequest"/>
- <wsdl:output message="tns:getGreetingsResponse" name="getGreetingsResponse"/>
- </wsdl:operation>
- </wsdl:portType>
-
- <wsdl:binding name="GreetingsSoapBinding" type="tns:Greetings">
- <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="getGreetings">
- <wsdlsoap:operation soapAction=""/>
- <wsdl:input name="getGreetingsRequest">
- <wsdlsoap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="getGreetingsResponse">
- <wsdlsoap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
-
- <wsdl:service name="GreetingsService">
- <wsdl:port name="GreetingsSoapPort" binding="tns:GreetingsSoapBinding">
- <wsdlsoap:address location="http://localhost:8085/GreetingsServiceComponent"/>
- </wsdl:port>
- </wsdl:service>
-
- <plnk:partnerLinkType name="GreetingsPartnerLinkType">
- <plnk:role name="Provider" portType="tns:Greetings"/>
- </plnk:partnerLinkType>
-</wsdl:definitions>
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/helloworld/helloworld.bpel b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/helloworld/helloworld.bpel deleted file mode 100644 index 8cf91adc2c..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/helloworld/helloworld.bpel +++ /dev/null @@ -1,66 +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. - --> -<process name="HelloWorld" - targetNamespace="http://tuscany.apache.org/implementation/bpel/example/helloworld" - 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/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="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl"/> - - <partnerLinks> - <partnerLink name="helloPartnerLink" partnerLinkType="test:HelloPartnerLinkType" myRole="me" /> - </partnerLinks> - - <variables> - <variable name="helloMessage" messageType="test:HelloMessage"/> - <variable name="tmpVar" type="xsd:string"/> - </variables> - - <sequence> - <receive - name="start" - partnerLink="helloPartnerLink" - portType="test:HelloPortType" - operation="hello" - variable="helloMessage" - createInstance="yes"/> - - <assign name="assign1"> - <copy> - <from variable="helloMessage" part="TestPart"/> - <to variable="tmpVar"/> - </copy> - <copy> - <from>concat($tmpVar,' World')</from> - <to variable="helloMessage" part="TestPart"/> - </copy> - </assign> - <reply name="end" - partnerLink="helloPartnerLink" - portType="test:HelloPortType" - operation="hello" - variable="helloMessage"/> - </sequence> -</process> diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/helloworld/helloworld.wsdl b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/helloworld/helloworld.wsdl deleted file mode 100644 index 1d71727b2d..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/helloworld/helloworld.wsdl +++ /dev/null @@ -1,82 +0,0 @@ -<?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 name="helloworld"
- 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/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/log4j.properties b/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/log4j.properties deleted file mode 100644 index 82b3c09723..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel-ode/src/test/resources/log4j.properties +++ /dev/null @@ -1,36 +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. -# - -# Set root logger level to WARN and its only appender to CONSOLE
-log4j.rootLogger=OFF, CONSOLE
-
-# log4j properties to work with commandline tools.
-log4j.category.org.mortbay=OFF
-log4j.category.org.hibernate.type=OFF
-log4j.category.org.objectweb=OFF
-log4j.category.org.apache.ode.axis2=OFF
-log4j.category.org.apache.ode.bpel.engine=OFF
-log4j.category.org.apache.ode.daohib.bpel.CorrelatorDaoImpl=OFF
-log4j.category.org.apache.ode.bpel.epr=OFF -log4j.category.org.apache.tuscany.sca.implementation.bpel=OFF -log4j.category.org.apache.tuscany.sca.implementation.bpel.ode=OFF -log4j.category.org.apache.tuscany.sca.implementation.bpel.ode.provider=OFF -
-# 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
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/LICENSE b/tags/java/sca/2.0-M2/modules/implementation-bpel/LICENSE deleted file mode 100644 index baba9ca048..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/LICENSE +++ /dev/null @@ -1,251 +0,0 @@ -
- 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.
-
-===============================================================================================================
-
-Apache Tuscany SCA for Java Subcomponents
-=========================================:
-
-The Tuscany SCA for Java release includes a number of subcomponents with
-separate copyright notices and license terms. Your use of the source
-code for the these subcomponents is subject to the terms and
-conditions of the following licenses.
-
-=================================================================================================================
-
-This module implementation-script temporarily includes one file under the following BSD license:
-
- Copyright (c) 2006, Sun Microsystems, Inc.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- - Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
- - Neither the name of the Sun Microsystems, Inc. nor the names of
- contributors may be used to endorse or promote products derived from this
- software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- DAMAGE.
-
-=================================================================================================================
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/META-INF/MANIFEST.MF b/tags/java/sca/2.0-M2/modules/implementation-bpel/META-INF/MANIFEST.MF deleted file mode 100644 index bf3846ad97..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/META-INF/MANIFEST.MF +++ /dev/null @@ -1,34 +0,0 @@ -Manifest-Version: 1.0
-Export-Package: org.apache.tuscany.sca.implementation.bpel;version="2.0.0"
- ;uses:="org.apache.tuscany.sca.assembly,org.apache.tuscany.sca.contribution.
- resolver,javax.xml.namespace"
-Private-Package: org.apache.tuscany.sca.implementation.bpel.impl;versi
- on="2.0.0",org.apache.tuscany.sca.implementation.bpel.xml;version="2.0.0"
-Tool: Bnd-0.0.255
-Bundle-Name: Apache Tuscany SCA BPEL Implementation Model
-Created-By: 1.6.0_07 (Sun Microsystems Inc.)
-Bundle-Vendor: The Apache Software Foundation
-Bundle-Version: 2.0.0
-Bnd-LastModified: 1225397433843
-Bundle-ManifestVersion: 2
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-Description: Apache Tuscany SCA BPEL Implementation Model
-Import-Package: javax.wsdl,
- javax.wsdl.extensions,
- javax.xml.namespace,
- javax.xml.stream,
- org.apache.tuscany.sca.assembly;version="2.0.0",
- org.apache.tuscany.sca.assembly.impl;version="2.0.0",
- org.apache.tuscany.sca.contribution;version="2.0.0",
- org.apache.tuscany.sca.contribution.namespace;version="2.0.0",
- org.apache.tuscany.sca.contribution.processor;version="2.0.0",
- org.apache.tuscany.sca.contribution.resolver;version="2.0.0",
- org.apache.tuscany.sca.core;version="2.0.0",
- org.apache.tuscany.sca.implementation.bpel;version="2.0.0",
- org.apache.tuscany.sca.interfacedef;version="2.0.0",
- org.apache.tuscany.sca.interfacedef.wsdl;version="2.0.0",
- org.apache.tuscany.sca.monitor;version="2.0.0",
- org.apache.tuscany.sca.policy;version="2.0.0"
-Bundle-SymbolicName: org.apache.tuscany.sca.implementation.bpel
-Bundle-DocURL: http://www.apache.org/
-
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/NOTICE b/tags/java/sca/2.0-M2/modules/implementation-bpel/NOTICE deleted file mode 100644 index a2f696be26..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/NOTICE +++ /dev/null @@ -1,17 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-Unless otherwise indicated, all distribution made available by the Apache Software Foundation
-is provided to you under the terms and conditions of the Apache License Version 2.0 ("AL").
-A copy of the AL is provided with this distribution as the LICENSE file present in the
-root directory, and is also available at http://www.apache.org/licenses/.
-
-This product also includes software under the BSD license
-(see the LICENSE file contained in this distribution), with
-the following copyright:
-
-Copyright (c) 2006, Sun Microsystems, Inc.
-All rights reserved.
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/pom.xml b/tags/java/sca/2.0-M2/modules/implementation-bpel/pom.xml deleted file mode 100644 index 3e572601d5..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/pom.xml +++ /dev/null @@ -1,82 +0,0 @@ -<?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-modules</artifactId>
- <version>2.0-M2</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-implementation-bpel</artifactId>
- <name>Apache Tuscany SCA BPEL Implementation Extension</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>2.0-M2</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>2.0-M2</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface</artifactId>
- <version>2.0-M2</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-wsdl</artifactId>
- <version>2.0-M2</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>2.0-M2</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-wsdl-xml</artifactId>
- <version>2.0-M2</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding</artifactId>
- <version>2.0-M2</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
-</project>
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELFactory.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELFactory.java deleted file mode 100644 index 9f8f9c0e9a..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELFactory.java +++ /dev/null @@ -1,42 +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 org.apache.tuscany.sca.implementation.bpel; - -/** - * A factory for the BPEL implementation model. - * - * @version $Rev$ $Date$ - */ -public interface BPELFactory { - - /** - * Creates a new BPEL implementation. - * - * @return - */ - BPELImplementation createBPELImplementation(); - - /** - * Creates a new BPEL Process Definition - * - * @return - */ - BPELProcessDefinition createBPELProcessDefinition(); -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementation.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementation.java deleted file mode 100644 index d54add5391..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementation.java +++ /dev/null @@ -1,91 +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 org.apache.tuscany.sca.implementation.bpel; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * The model representing the BPEL implementation in an SCA assembly model. - * - * @version $Rev$ $Date$ - */ -public interface BPELImplementation extends Implementation { - - /** - * Get the BPEL process Name - * - * @return - */ - QName getProcess(); - - /** - * Set the BPEL process Name - * - * @param processName process QName - */ - void setProcess(QName processName); - - /** - * Get the BPEL process definition - * - * @return - */ - BPELProcessDefinition getProcessDefinition(); - - /** - * Set the BPEL process definition - * - * @param processDefinition - */ - void setProcessDefinition(BPELProcessDefinition processDefinition); - - /** - * Returns the componentType for this implementation. - * - * @return - */ - public ComponentType getComponentType(); - - /** - * Sets the componentType for this implementation - * - * @param componentType the component type to set - */ - public void setComponentType(ComponentType componentType); - - /** - * Returns the model resolver that can be used to resolve WSDLs and XSDs - * referenced by the BPEL process. - * - * @return - */ - ModelResolver getModelResolver(); - - /** - * Sets the model resolver that can be used to resolve WSDLs and XSDs referenced - * by the BPEL process. - * - * @param modelResolver - */ - void setModelResolver(ModelResolver modelResolver); -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELProcessDefinition.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELProcessDefinition.java deleted file mode 100644 index 1f927f4648..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELProcessDefinition.java +++ /dev/null @@ -1,107 +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 org.apache.tuscany.sca.implementation.bpel; - -import java.util.List; - -import javax.wsdl.PortType; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Base; -import org.apache.tuscany.sca.implementation.bpel.xml.BPELImportElement; -import org.apache.tuscany.sca.implementation.bpel.xml.BPELPartnerLinkElement; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; - -/** - * The model representing a BPEL process definition. - * - * @version $Rev$ $Date$ - */ -public interface BPELProcessDefinition extends Base { - - /** - * Get the BPEL process Name - * - * @return - */ - QName getName(); - - /** - * Set the BPEL process Name - * - * @param processName process QName - */ - void setName(QName name); - - /** - * Get BPEL process URI - * - * @return URI for the process - */ - String getURI(); - - /** - * Set the BPEL process URI - * - * @param uri for the process - */ - void setURI(String uri); - - /** - * Get the URL for the process location - * - * @return - */ - String getLocation(); - - /** - * Set the URL for the process location - * - * @param url - */ - void setLocation(String location); - - /** - * Return the list of PartnerLinks for this process - * - * @return - */ - List<BPELPartnerLinkElement> getPartnerLinks(); - - /** - * Return the list of imports for this process - * - * @return - */ - List<BPELImportElement> getImports(); - - /** - * Return the collection of associated port types - * - * @return - */ - public List<PortType> getPortTypes() ; - - /** - * Return the collection of associated WSDL interfaces - * @return - */ - public List<WSDLInterface> getInterfaces() ; -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELFactoryImpl.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELFactoryImpl.java deleted file mode 100644 index f9b95c7da8..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELFactoryImpl.java +++ /dev/null @@ -1,45 +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 org.apache.tuscany.sca.implementation.bpel.impl; - -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.implementation.bpel.BPELFactory; -import org.apache.tuscany.sca.implementation.bpel.BPELImplementation; -import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition; - -/** - * A factory for the BPEL implementation model. - * - * @version $Rev$ $Date$ - */ -public class BPELFactoryImpl implements BPELFactory { - - public BPELFactoryImpl(FactoryExtensionPoint modelFactories) { - } - - public BPELImplementation createBPELImplementation() { - return new BPELImplementationImpl(); - } - - public BPELProcessDefinition createBPELProcessDefinition() { - return new BPELProcessDefinitionImpl(); - } - -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java deleted file mode 100644 index f1c943e49c..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java +++ /dev/null @@ -1,132 +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 org.apache.tuscany.sca.implementation.bpel.impl; - -import java.util.Collections; -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.impl.ImplementationImpl; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.implementation.bpel.BPELImplementation; -import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition; - -/** - * The model representing a BPEL implementation in an SCA assembly model. - * - * @version $Rev$ $Date$ - */ -class BPELImplementationImpl extends ImplementationImpl implements BPELImplementation { - - private QName processName; - private BPELProcessDefinition processDefinition; - private ComponentType componentType; - private ModelResolver modelResolver; - - public QName getProcess() { - return processName; - } - - public void setProcess(QName processName) { - this.processName = processName; - } - - public BPELProcessDefinition getProcessDefinition() { - return this.processDefinition; - } - - public void setProcessDefinition(BPELProcessDefinition processDefinition) { - this.processDefinition = processDefinition; - } - - @Override - public String getURI() { - // The BPEL implementation does not have a URI - return null; - } - - @Override - public void setURI(String uri) { - // The BPEL implementation does not have a URI - } - - @Override - public ConstrainingType getConstrainingType() { - // The BPEL implementation does not support constrainingTypes - return null; - } - - @Override - public List<Property> getProperties() { - // The BPEL implementation does not support properties - return Collections.emptyList(); - } - - public ComponentType getComponentType() { - return componentType; - } - - public void setComponentType(ComponentType componentType) { - this.componentType = componentType; - } - - public ModelResolver getModelResolver() { - return modelResolver; - } - - public void setModelResolver(ModelResolver modelResolver) { - this.modelResolver = modelResolver; - } - - @Override - public List<Service> getServices() { - return componentType.getServices(); - } - - @Override - public List<Reference> getReferences() { - return componentType.getReferences(); - } - - @Override - public int hashCode() { - return String.valueOf(this.getProcess()).hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else if (obj instanceof BPELImplementation) { - if (getProcess() != null) { - return getProcess().equals(((BPELImplementation)obj).getProcess()); - } else { - return ((BPELImplementation)obj).getProcess() == null; - } - } else { - return false; - } - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessDefinitionImpl.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessDefinitionImpl.java deleted file mode 100644 index dcd0f71ea7..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessDefinitionImpl.java +++ /dev/null @@ -1,115 +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 org.apache.tuscany.sca.implementation.bpel.impl; - -import java.util.ArrayList; -import java.util.List; - -import javax.wsdl.PortType; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition; -import org.apache.tuscany.sca.implementation.bpel.xml.BPELImportElement; -import org.apache.tuscany.sca.implementation.bpel.xml.BPELPartnerLinkElement; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; - -/** - * The BPEL process definition implementation. - * - * @version $Rev$ $Date$ - */ -class BPELProcessDefinitionImpl implements BPELProcessDefinition { - private QName name; - private String uri; - private String location; - private boolean unresolved; - private List<BPELPartnerLinkElement> partnerLinks = new ArrayList<BPELPartnerLinkElement>(); - private List<BPELImportElement> imports = new ArrayList<BPELImportElement>(); - private List<PortType> thePortTypes = new ArrayList<PortType>(); - private List<WSDLInterface> theInterfaces = new ArrayList<WSDLInterface>(); - - public QName getName() { - return name; - } - - public void setName(QName name) { - this.name = name; - } - - public String getURI() { - return uri; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public String getLocation() { - return location; - } - - public void setLocation(String location) { - this.location = location; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean undefined) { - this.unresolved = undefined; - } - - public List<BPELPartnerLinkElement> getPartnerLinks() { - return partnerLinks; - } - - public List<BPELImportElement> getImports() { - return imports; - } - - public List<PortType> getPortTypes() { - return thePortTypes; - } - - public List<WSDLInterface> getInterfaces() { - return theInterfaces; - } - - @Override - public int hashCode() { - return String.valueOf(getName()).hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else if (obj instanceof BPELProcessDefinition) { - if (getName() != null) { - return getName().equals(((BPELProcessDefinition)obj).getName()); - } else { - return ((BPELProcessDefinition)obj).getName() == null; - } - } else { - return false; - } - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELDocumentModelResolver.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELDocumentModelResolver.java deleted file mode 100644 index 9e586e1f4f..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELDocumentModelResolver.java +++ /dev/null @@ -1,83 +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 org.apache.tuscany.sca.implementation.bpel.xml; - -import java.util.HashMap; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImport; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition; - -/** - * A Model Resolver for BPEL process models. - * - * @version $Rev$ $Date$ - */ -public class BPELDocumentModelResolver implements ModelResolver { - - private Contribution contribution; - private Map<QName, BPELProcessDefinition> map = new HashMap<QName, BPELProcessDefinition>(); - - public BPELDocumentModelResolver(Contribution contribution, FactoryExtensionPoint modelFactories) { - this.contribution = contribution; - } - - public void addModel(Object resolved) { - BPELProcessDefinition process = (BPELProcessDefinition)resolved; - map.put(process.getName(), process); - } - - public Object removeModel(Object resolved) { - return map.remove(((BPELProcessDefinition)resolved).getName()); - } - - public <T> T resolveModel(Class<T> modelClass, T unresolved) { - - // Lookup a definition for the given namespace - QName qname = ((BPELProcessDefinition)unresolved).getName(); - BPELProcessDefinition resolved = (BPELProcessDefinition) map.get(qname); - if (resolved != null) { - return modelClass.cast(resolved); - } - - // No definition found, delegate the resolution to the imports - for (Import import_ : this.contribution.getImports()) { - if (import_ instanceof NamespaceImport) { - NamespaceImport namespaceImport = (NamespaceImport)import_; - if (namespaceImport.getNamespace().equals(qname.getNamespaceURI())) { - - // Delegate the resolution to the import resolver - resolved = namespaceImport.getModelResolver().resolveModel(BPELProcessDefinition.class, (BPELProcessDefinition)unresolved); - if (!resolved.isUnresolved()) { - return modelClass.cast(resolved); - } - } - } - } - return (T)unresolved; - } - -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELDocumentProcessor.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELDocumentProcessor.java deleted file mode 100644 index 43606cb216..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELDocumentProcessor.java +++ /dev/null @@ -1,532 +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 org.apache.tuscany.sca.implementation.bpel.xml; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - -import javax.wsdl.Definition; -import javax.wsdl.PortType; -import javax.wsdl.extensions.ExtensibilityElement; -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.implementation.bpel.BPELFactory; -import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.wsdl.BPELPartnerLinkTypeExt; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLObject; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * BPEL document processor responsible for reading a BPEL file and producing necessary model info about it - * - * TODO: The namespaces for WS-BPEL include 2 versions - only the earlier BPEL 1.1 versions are - * supported at present - the BPEL 2.0 namespaces also need support. This will require inspection - * of both BPEL process files and of WSDL files for their BPEL namespaces - * @version $Rev$ $Date$ - */ -public class BPELDocumentProcessor extends BaseStAXArtifactProcessor implements URLArtifactProcessor<BPELProcessDefinition> { - public final static QName BPEL_PROCESS_DEFINITION = new QName("http://schemas.xmlsoap.org/ws/2004/03/business-process/", "process"); - public final static QName BPEL_EXECUTABLE_DEFINITION = new QName("http://docs.oasis-open.org/wsbpel/2.0/process/executable", "process"); - private static final String SCA_BPEL_NS = "http://docs.oasis-open.org/ns/opencsa/sca-bpel/200801"; - private static final String BPEL_NS = "http://schemas.xmlsoap.org/ws/2004/03/business-process/"; - private static final String BPEL_PLINK_NS = "http://schemas.xmlsoap.org/ws/2004/03/partner-link/"; - private static final String WSDL_NS = "http://schemas.xmlsoap.org/wsdl/"; - private static final QName PROCESS_ELEMENT = new QName(BPEL_NS, "process"); - private static final QName PARTNERLINK_ELEMENT = new QName(BPEL_NS, "partnerLink"); - private static final QName ONEVENT_ELEMENT = new QName(BPEL_NS, "onEvent"); - private static final QName RECEIVE_ELEMENT = new QName(BPEL_NS, "receive"); - private static final QName ONMESSAGE_ELEMENT = new QName(BPEL_NS, "onMessage"); - private static final QName INVOKE_ELEMENT = new QName(BPEL_NS, "invoke"); - private static final QName IMPORT_ELEMENT = new QName(BPEL_NS, "import"); - private static final String LINKTYPE_NAME = "partnerLinkType"; - private static final QName LINKTYPE_ELEMENT = new QName(BPEL_PLINK_NS, LINKTYPE_NAME); - private final static String NAME_ELEMENT = "name"; - private final static String TARGET_NAMESPACE = "targetNamespace"; - - private final static XMLInputFactory inputFactory = XMLInputFactory.newInstance(); - - private final BPELFactory factory; - private WSDLFactory WSDLfactory; - private Monitor monitor; - - public BPELDocumentProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) { - this.factory = modelFactories.getFactory(BPELFactory.class); - this.WSDLfactory = modelFactories.getFactory(WSDLFactory.class); - this.monitor = monitor; - } - - public String getArtifactType() { - return "*.bpel"; - } - - public Class<BPELProcessDefinition> getModelType() { - return BPELProcessDefinition.class; - } - - public BPELProcessDefinition read(URL contributionURL, URI artifactURI, URL artifactURL) throws ContributionReadException { - BPELProcessDefinition processDefinition = null; - try { - // for now we are just using process name - // and relying on componentType file for service definition - // so it's OK to set resolved for now - processDefinition = readProcessDefinition(artifactURL); - processDefinition.setURI(artifactURI.toString()); - processDefinition.setUnresolved(false); - } catch (Exception e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", artifactURL, ce); - } - - return processDefinition; - } - - public void resolve(BPELProcessDefinition model, ModelResolver resolver) throws ContributionResolveException { - // FIXME - serious resolving needs to happen here - - // Step 1 is to resolve the WSDL files referenced from this BPEL process - // - one complexity here is that the WSDL definitions hold BPEL extension elements for - // the partnerLinkType declarations - and these must be used in later steps - // - // Step 2 is to take all the partnerLink definitions and establish the PortType being - // used, by tracing through the related partnerLinkType declarations - the PortType is - // effectively a definition of the interface used by the partnerLink. - // - another consideration here is that each partnerLink can involve 2 interfaces, one - // for the forward calls to the process, the other for calls from the process - depending - // on whether the partnerLink is a reference or a service, one of these interfaces is a - // callback interface. - - List<BPELImportElement> theImports = model.getImports(); - for (BPELImportElement theImport : theImports) { - - // Deal with WSDL imports - if (theImport.getImportType().equals(WSDL_NS)) { - String wsdlLocation = theImport.getLocation(); - String wsdlNamespace = theImport.getNamespace(); - - // Resolve the WSDL definition - WSDLDefinition proxy = WSDLfactory.createWSDLDefinition(); - proxy.setUnresolved(true); - proxy.setNamespace(wsdlNamespace); - if (wsdlLocation != null) { - proxy.setLocation(URI.create(wsdlLocation)); - } - WSDLDefinition resolved = resolver.resolveModel(WSDLDefinition.class, proxy); - if (resolved != null && !resolved.isUnresolved()) { - theImport.setWSDLDefinition(resolved); - } else { - error("CannotResolveWSDLReference", resolver, wsdlLocation, wsdlNamespace); - return; - } // end if - } // end if - } // end for - - // Fetch the sets of partner links, port types and interfaces - List<BPELPartnerLinkTypeElement> thePLinkTypes = getPartnerLinkTypes( theImports ); - Collection<WSDLInterface> theInterfaces = (Collection<WSDLInterface>)new ArrayList<WSDLInterface>(); - Collection<PortType> thePortTypes = getAllPortTypes( theImports, theInterfaces, resolver ); - - // Store the Port Types and the Interfaces for later calculation of the component type... - model.getPortTypes().addAll(thePortTypes); - model.getInterfaces().addAll(theInterfaces); - - // Now, for each partnerLink in the BPEL process, find the related partnerLinkType - // element - List<BPELPartnerLinkElement> thePartnerLinks = model.getPartnerLinks(); - for (BPELPartnerLinkElement thePartnerLink : thePartnerLinks) { - QName partnerLinkType = thePartnerLink.getPartnerLinkType(); - BPELPartnerLinkTypeElement pLinkType = findPartnerLinkType(partnerLinkType, thePLinkTypes); - if (pLinkType == null) { - error("PartnerLinkNoMatchingType", thePartnerLink, thePartnerLink.getName()); - } else - thePartnerLink.setPartnerLinkType(pLinkType); - } // end for - - } // end resolve - - /** - * Retrieve all the Partner Link types defined in the imported WSDL files - * - * @param theImports - */ - private List<BPELPartnerLinkTypeElement> getPartnerLinkTypes( List<BPELImportElement> theImports) throws ContributionResolveException { - - List<BPELPartnerLinkTypeElement> thePLinks = new ArrayList<BPELPartnerLinkTypeElement>(); - - // We must find the partner link type elements from amongst the imported - // WSDLs - for (BPELImportElement theImport : theImports) { - if (theImport.getImportType().equals(WSDL_NS)) { - - // Find all the WSDL definitions matching the imported namespace - List<Definition> wsdlDefinitions = new ArrayList<Definition>(); - WSDLDefinition theWSDL = theImport.getWSDLDefinition(); - wsdlDefinitions.add(theWSDL.getDefinition()); - for (WSDLDefinition importedWSDL: theWSDL.getImportedDefinitions()) { - wsdlDefinitions.add(importedWSDL.getDefinition()); - } - - // The BPEL partnerLinkType elements are extension elements within - // the WSDL definitions - for (Definition wsdlDefinition: wsdlDefinitions) { - for (ExtensibilityElement theElement : (List<ExtensibilityElement>)wsdlDefinition.getExtensibilityElements()) { - QName elementType = theElement.getElementType(); - if (elementType.equals(LINKTYPE_ELEMENT)) { - BPELPartnerLinkTypeExt pLinkExt = (BPELPartnerLinkTypeExt)theElement; - - // Fetch the name of the partnerLinkType - String name = pLinkExt.getName(); - QName qName = new QName(wsdlDefinition.getTargetNamespace(), name); - BPELPartnerLinkTypeElement pLinkElement = new BPELPartnerLinkTypeElement(qName); - - // The partnerLinkType must have one and may have 2 role - // child elements - int count = 0; - for (int i = 0; i < 2; i++) { - if (pLinkExt.getRoleName(i) == null) - continue; - PortType pType = wsdlDefinition.getPortType(pLinkExt.getRolePortType(i)); - if (count == 0) { - pLinkElement.setRole1(pLinkExt.getRoleName(i), pLinkExt.getRolePortType(i), pType); - count++; - } else if (count == 1) { - pLinkElement.setRole2(pLinkExt.getRoleName(i), pLinkExt.getRolePortType(i), pType); - count++; - } else { - break; - } // end if - } // end for - - if (count == 0) { - error("PartnerLinkTypeNoRoles", theElement, pLinkElement.getName()); - throw new ContributionResolveException("partnerLinkType " + pLinkElement.getName() + " has no Roles defined"); - } else - thePLinks.add(pLinkElement); - } // end if - - } // end for - } - } - } // end for - return thePLinks; - } // end getPartnerLinkTypes - - /** - * Returns all the portTypes referenced by the process. - * - * @param theImports - * @param theInterfaces - * @param resolver - * @return - * @throws ContributionResolveException - */ - private Collection<PortType> getAllPortTypes(List<BPELImportElement> theImports, - Collection<WSDLInterface> theInterfaces, ModelResolver resolver) throws ContributionResolveException { - - Collection<PortType> thePortTypes = (Collection<PortType>)new ArrayList<PortType>(); - for (BPELImportElement theImport : theImports) { - if (theImport.getImportType().equals(WSDL_NS)) { - - // Find all the WSDL definitions matching the imported namespace - List<Definition> wsdlDefinitions = new ArrayList<Definition>(); - WSDLDefinition theWSDL = theImport.getWSDLDefinition(); - wsdlDefinitions.add(theWSDL.getDefinition()); - for (WSDLDefinition importedWSDL: theWSDL.getImportedDefinitions()) { - wsdlDefinitions.add(importedWSDL.getDefinition()); - } - for (Definition wsdlDefinition: wsdlDefinitions) { - - Collection<PortType> portTypes = (Collection<PortType>)wsdlDefinition.getPortTypes().values(); - thePortTypes.addAll(portTypes); - - // Create WSDLInterface elements for each PortType found - for (PortType portType : portTypes) { - WSDLObject<PortType> wsdlPortType = theWSDL.getWSDLObject(PortType.class, portType.getQName()); - WSDLInterface wsdlInterface; - if (wsdlPortType != null) { - // Introspect the WSDL portType and add the resulting - // WSDLInterface to the resolver - try { - theWSDL.setDefinition(wsdlPortType.getDefinition()); - wsdlInterface = WSDLfactory.createWSDLInterface(wsdlPortType.getElement(), theWSDL, resolver); - wsdlInterface.setWsdlDefinition(theWSDL); - } catch (InvalidInterfaceException e) { - ContributionResolveException ce = new ContributionResolveException(e); - error("ContributionResolveException", resolver, ce); - throw ce; - } // end try - resolver.addModel(wsdlInterface); - theInterfaces.add(wsdlInterface); - } // end if - } // end for - } - } - } // end for - - return thePortTypes; - } // end getAllPortTypes - - /** - * Finds a partnerLinkType definition within the WSDLs imported by the BPEL - * process. - * - * @param partnerLinkTypeName - the name of the partnerLinkType - * @param theImports a list of the WSDL import declarations - * @return a BPELPartnerLinkTypeElement for the partnerLinkType or null if it cannot be - * found - */ - private BPELPartnerLinkTypeElement findPartnerLinkType( QName partnerLinkTypeName, - List<BPELPartnerLinkTypeElement> thePLinkTypes) { - // We must find the partner link type element from amongst the imported WSDLs - for ( BPELPartnerLinkTypeElement thePLinkType : thePLinkTypes ){ - if( thePLinkType.getName().equals(partnerLinkTypeName) ) return thePLinkType; - } // end for - return null; - } // end findPartnerLinkType - - - /** - * Read a process definition. - * - * @param doc - * @return - * @throws Exception - */ - private BPELProcessDefinition readProcessDefinition(URL doc) throws Exception { - BPELProcessDefinition processDefinition = factory.createBPELProcessDefinition(); - processDefinition.setUnresolved(true); - processDefinition.setLocation(doc.toString()); - - InputStream is = doc.openStream(); - XMLStreamReader reader = null; - try { - reader = inputFactory.createXMLStreamReader(is); - - /* - * The principle here is to look for partnerLink elements, which - * form either services or references. A partnerLink can be EITHER - - * the algorithm for deciding is: 1) Explicit marking with - * sca:reference or sca:service attribute 2) "first use" of the - * partnerLink by specific BPEL activity elements: <onEvent../>, - * <receive../> or <pick../> elements imply a service <invoke../> - * implies a reference - */ - - // TODO - need to handle <scope../> elements as kind of "nested" processes - // - and scopes introduce the possibility of partnerLinks with the - // same name at different levels of scope.... (yuk!!) - boolean completed = false; - while (!completed) { - switch (reader.next()) { - case START_ELEMENT: - QName qname = reader.getName(); - if (BPEL_PROCESS_DEFINITION.equals(qname) || BPEL_EXECUTABLE_DEFINITION.equals(qname)) { - QName processName = new QName(getString(reader, TARGET_NAMESPACE), getString(reader, NAME_ELEMENT)); - processDefinition.setName(processName); - } else if (PARTNERLINK_ELEMENT.equals(qname)) { - processDefinition.getPartnerLinks().add(processPartnerLinkElement(reader)); - } else if (ONEVENT_ELEMENT.equals(qname) || RECEIVE_ELEMENT.equals(qname) || ONMESSAGE_ELEMENT.equals(qname)) { - processPartnerLinkAsService(reader.getAttributeValue(null, "partnerLink"), processDefinition.getPartnerLinks()); - } else if (INVOKE_ELEMENT.equals(qname)) { - processPartnerLinkAsReference(reader.getAttributeValue(null, "partnerLink"), processDefinition.getPartnerLinks()); - } else if (IMPORT_ELEMENT.equals(qname)) { - processDefinition.getImports().add(processImportElement(reader)); - } // end if - break; - case END_ELEMENT: - if (PROCESS_ELEMENT.equals(reader.getName())) { - completed = true; - break; - } // end if - } // end switch - } // end while - } finally { - if (reader != null) - reader.close(); - is.close(); - } // end try - - return processDefinition; - } // end readProcessDefinition - - /** - * Processes a partnerLink element from the BPEL process and creates a - * BPELPartnerLink object - * - * @param reader - */ - private BPELPartnerLinkElement processPartnerLinkElement(XMLStreamReader reader) throws ContributionReadException { - BPELPartnerLinkElement partnerLink = new BPELPartnerLinkElement( - reader.getAttributeValue(null, "name"), - getQNameValue(reader, reader.getAttributeValue(null, "partnerLinkType")), - reader.getAttributeValue(null, "myRole"), - reader.getAttributeValue(null, "partnerRole")); - - // See if there are any SCA extension attributes - String scaService = reader.getAttributeValue(SCA_BPEL_NS, "service"); - String scaReference = reader.getAttributeValue(SCA_BPEL_NS, "reference"); - if ((scaService != null) && (scaReference != null)) { - // It is incorrect to set both service & reference attributes - error("PartnerLinkHasBothAttr", partnerLink, reader.getAttributeValue(null, "name")); - throw new ContributionReadException("BPEL PartnerLink " + reader.getAttributeValue(null, "name") + " has both sca:reference and sca:service attributes set"); - } - - // Set the SCA type and the related name, if present - if (scaService != null) - partnerLink.setAsService(scaService); - else if (scaReference != null) - partnerLink.setAsReference(scaReference); - return partnerLink; - - } // end processPartnerLinkElement - - /** - * Processes an <import../> element from the BPEL process and creates a - * BPELImportElement object - * - * @param reader - */ - private BPELImportElement processImportElement(XMLStreamReader reader) { - return (new BPELImportElement(reader.getAttributeValue(null, "location"), - reader.getAttributeValue(null, "importType"), - reader.getAttributeValue(null, "namespace"))); - - } // end processImportElement - - /** - * Mark a named partnerLink as a Service, unless it is already marked as a - * Reference - * - * @param partnerLinkName - * @param partnerLinks - */ - private void processPartnerLinkAsService(String partnerLinkName, List<BPELPartnerLinkElement> partnerLinks) { - BPELPartnerLinkElement partnerLink = findPartnerLinkByName(partnerLinks, partnerLinkName); - if (partnerLink == null) { - warning("ReferencePartnerLinkNotInList", partnerLinkName, partnerLinkName); - } else { - // Set the type of the partnerLink to "service" if not already - // set... - if (!partnerLink.isSCATyped()) - partnerLink.setAsService(partnerLinkName); - } // endif - } // end processPartnerLinkAsReference - - /** - * Mark a named partnerLink as a Reference, unless it is already marked as a - * Service - * - * @param partnerLinkName - * @param partnerLinks - */ - private void processPartnerLinkAsReference(String partnerLinkName, List<BPELPartnerLinkElement> partnerLinks) { - BPELPartnerLinkElement partnerLink = findPartnerLinkByName(partnerLinks, partnerLinkName); - if (partnerLink == null) { - warning("ReferencePartnerLinkNotInList", partnerLinkName, partnerLinkName); - } else { - // Set the type of the partnerLink to "service" if not already - // set... - if (!partnerLink.isSCATyped()) - partnerLink.setAsReference(partnerLinkName); - } // endif - } // end processPartnerLinkAsReference - - /** - * Finds a PartnerLink by name from a List of PartnerLinks returns null if - * there is no partnerLink with a matching name - returns the PartnerLink - * with a matching name - * - * @param partnerLinks - * @param partnerLinkName - */ - private BPELPartnerLinkElement findPartnerLinkByName(List<BPELPartnerLinkElement> partnerLinks, String partnerLinkName) { - // Scan the list looking for a partner link with the supplied name - Iterator<BPELPartnerLinkElement> it = partnerLinks.iterator(); - while (it.hasNext()) { - BPELPartnerLinkElement thePartnerLink = it.next(); - if (thePartnerLink.getName().equals(partnerLinkName)) - return thePartnerLink; - } - return null; - } // end method findPartnerLinkByName - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void warning(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = monitor.createProblem(this.getClass().getName(), "impl-bpel-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = monitor.createProblem(this.getClass().getName(), "impl-bpel-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = monitor.createProblem(this.getClass().getName(), "impl-bpel-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImplementationProcessor.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImplementationProcessor.java deleted file mode 100644 index 57e7a0b6fa..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImplementationProcessor.java +++ /dev/null @@ -1,516 +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 org.apache.tuscany.sca.implementation.bpel.xml; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; - -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.wsdl.PortType; -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Multiplicity; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; -import org.apache.tuscany.sca.contribution.processor.ContributionWriteException; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.implementation.bpel.BPELFactory; -import org.apache.tuscany.sca.implementation.bpel.BPELImplementation; -import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Implements a StAX artifact processor for BPEL implementations. - * - * The artifact processor is responsible for processing <implementation.bpel> - * elements in SCA assembly XML composite files and populating the BPEL - * implementation model, resolving its references to other artifacts in the SCA - * contribution, and optionally write the model back to SCA assembly XML. - * - * @version $Rev$ $Date$ - */ -public class BPELImplementationProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<BPELImplementation> { - private static final String SCA11_NS = "http://docs.oasis-open.org/ns/opencsa/sca/200903"; - private static final String PROCESS = "process"; - private static final String IMPLEMENTATION_BPEL = "implementation.bpel"; - private static final QName IMPLEMENTATION_BPEL_QNAME = new QName(SCA11_NS, IMPLEMENTATION_BPEL); - - private AssemblyFactory assemblyFactory; - private BPELFactory bpelFactory; - private WSDLFactory wsdlFactory; - private Monitor monitor; - - public BPELImplementationProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) { - this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - this.wsdlFactory = modelFactories.getFactory(WSDLFactory.class); - this.bpelFactory = modelFactories.getFactory(BPELFactory.class); - this.monitor = monitor; - } - - public QName getArtifactType() { - // Returns the QName of the XML element processed by this processor - return IMPLEMENTATION_BPEL_QNAME; - } - - public Class<BPELImplementation> getModelType() { - // Returns the type of model processed by this processor - return BPELImplementation.class; - } - - public BPELImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - assert IMPLEMENTATION_BPEL_QNAME.equals(reader.getName()); - - // Read an <implementation.bpel> element - BPELImplementation implementation = null; - - // Read the process attribute. - QName process = getAttributeValueNS(reader, PROCESS); - if (process == null) { - return implementation; - } - - // Create and initialize the BPEL implementation model - implementation = bpelFactory.createBPELImplementation(); - implementation.setProcess(process); - implementation.setUnresolved(true); - - // Skip to end element - while (reader.hasNext()) { - if (reader.next() == END_ELEMENT && IMPLEMENTATION_BPEL_QNAME.equals(reader.getName())) { - break; - } - } - - return implementation; - } - - public void resolve(BPELImplementation implementation, ModelResolver resolver) throws ContributionResolveException { - - if( implementation != null && implementation.isUnresolved()) - { - implementation.setModelResolver(resolver); - - BPELProcessDefinition processDefinition = resolveBPELProcessDefinition(implementation, resolver); - if(processDefinition.isUnresolved()) { - error("BPELProcessNotFound", implementation, processDefinition.getName()); - } else { - implementation.setProcessDefinition(processDefinition); - - // Get the component type from the process definition - generateComponentType( implementation ); - - //resolve component type - mergeComponentType(resolver, implementation); - - //set current implementation resolved - implementation.setUnresolved(false); - } - } - - } // end resolve - - public void write( BPELImplementation bpelImplementation, - XMLStreamWriter writer ) throws ContributionWriteException, XMLStreamException { - //FIXME Deal with policy processing... - // Write <implementation.bpel process="..."/> - // policyProcessor.writePolicyPrefixes(bpelImplementation, writer); - writer.writeStartElement(SCA11_NS, IMPLEMENTATION_BPEL); - // policyProcessor.writePolicyAttributes(bpelImplementation, writer); - - if (bpelImplementation.getProcess() != null) { - writer.writeAttribute(PROCESS, bpelImplementation.getProcess().toString() ); - } - - writer.writeEndElement(); - - } // end write - - private BPELProcessDefinition resolveBPELProcessDefinition(BPELImplementation impl, ModelResolver resolver) throws ContributionResolveException { - QName processName = impl.getProcess(); - BPELProcessDefinition processDefinition = this.bpelFactory.createBPELProcessDefinition(); - processDefinition.setName(processName); - processDefinition.setUnresolved(true); - - return resolver.resolveModel(BPELProcessDefinition.class, processDefinition); - } // end resolveBPELProcessDefinition - - /** - * Calculates the component type of the supplied implementation and attaches it to the - * implementation. - * - * @param impl - * @throws ContributionResolveException - */ - private void generateComponentType(BPELImplementation impl) throws ContributionResolveException { - - // Create a ComponentType and mark it unresolved - ComponentType componentType = assemblyFactory.createComponentType(); - componentType.setUnresolved(true); - impl.setComponentType(componentType); - - // Each partner link in the process represents either a service or a - // reference - // - or both, in the sense of involving a callback - BPELProcessDefinition theProcess = impl.getProcessDefinition(); - List<BPELPartnerLinkElement> partnerLinks = theProcess.getPartnerLinks(); - - for (BPELPartnerLinkElement pLink : partnerLinks) { - - // check that the partner link has been designated as service or - // reference in SCA terms - if (pLink.isSCATyped()) { - String scaName = pLink.getSCAName(); - if (pLink.querySCAType().equals("reference")) { - componentType.getReferences().add(generateReference(scaName, pLink.getMyRolePortType(), pLink.getPartnerRolePortType(), theProcess.getInterfaces())); - } else { - componentType.getServices().add(generateService(scaName, pLink.getMyRolePortType(), pLink.getPartnerRolePortType(), theProcess.getInterfaces())); - } // end if - } // end if - } // end for - - } // end getComponentType - - /** - * Create an SCA reference for a partnerLink - * @param name - name of the reference - * @param myRolePT - partner link type of myRole - * @param partnerRolePT - partner link type of partnerRole - * @param theInterfaces - list of WSDL interfaces associated with the BPEL process - * @return - */ - private Reference generateReference( String name, PortType myRolePT, - PortType partnerRolePT, Collection<WSDLInterface> theInterfaces) throws ContributionResolveException { - - Reference reference = assemblyFactory.createReference(); - WSDLInterfaceContract interfaceContract = wsdlFactory.createWSDLInterfaceContract(); - reference.setInterfaceContract(interfaceContract); - - // Establish whether there is just a call interface or a call + callback - // interface - PortType callPT = null; - PortType callbackPT = null; - if (myRolePT != null) { - callPT = myRolePT; - // If the 2 port types are not the same one, there is a callback... - if (partnerRolePT != null) { - if (!myRolePT.getQName().equals(partnerRolePT.getQName())) { - callbackPT = partnerRolePT; - } // end if - } // end if - } else if (partnerRolePT != null) { - callPT = partnerRolePT; - } // end if - - // No interfaces mean an error - if (callPT == null && callbackPT == null) { - error("MyRolePartnerRoleNull", theInterfaces); - } // end if - - // Set the name of the reference to the supplied name and the - // multiplicity of the reference - // to 1..1 - // TODO: support other multiplicities - reference.setName(name); - reference.setMultiplicity(Multiplicity.ONE_ONE); - - if (callPT != null) { - // Set the call interface and, if present, the callback interface - WSDLInterface callInterface = null; - for (WSDLInterface anInterface : theInterfaces) { - if (anInterface.getPortType().getQName().equals(callPT.getQName())) - callInterface = anInterface; - } // end for - if (callInterface == null) { - error("NoInterfaceForPortType", theInterfaces, callPT.getQName().toString()); - } else - reference.getInterfaceContract().setInterface(callInterface); - } - - // There is a callback if the partner role is not null and if the - // partner role port type - // is not the same as the port type for my role - if (callbackPT != null) { - WSDLInterface callbackInterface = null; - for (WSDLInterface anInterface : theInterfaces) { - if (anInterface.getPortType().getQName().equals(callbackPT.getQName())) - callbackInterface = anInterface; - } // end for - if (callbackInterface == null) { - error("NoInterfaceForPortType", theInterfaces, callbackPT.getQName().toString()); - } else - reference.getInterfaceContract().setCallbackInterface(callbackInterface); - } // end if - - return reference; - } // end generateReference - - /** - * Create an SCA service for a partnerLink - * @param name - name of the reference - * @param myRolePT - partner link type of myRole - * @param partnerRolePT - partner link type of partnerRole - * @param theInterfaces - list of WSDL interfaces associated with the BPEL process - * @return - */ - private Service generateService( String name, PortType myRolePT, - PortType partnerRolePT, Collection<WSDLInterface> theInterfaces ) - throws ContributionResolveException { - Service service = assemblyFactory.createService(); - WSDLInterfaceContract interfaceContract = wsdlFactory.createWSDLInterfaceContract(); - service.setInterfaceContract(interfaceContract); - - // Set the name of the service to the supplied name - service.setName(name); - - // Establish whether there is just a call interface or a call + callback - // interface - PortType callPT = null; - PortType callbackPT = null; - if (myRolePT != null) { - callPT = myRolePT; - // If the 2 port types are not the same one, there is a callback... - if (partnerRolePT != null) { - if (!myRolePT.getQName().equals(partnerRolePT.getQName())) { - callbackPT = partnerRolePT; - } // end if - } // end if - } else if (partnerRolePT != null) { - callPT = partnerRolePT; - } // end if - - // No interfaces mean an error - if (callPT == null && callbackPT == null) { - error("MyRolePartnerRoleNull", theInterfaces); - } // end if - - if (callPT != null) { - // Set the call interface and, if present, the callback interface - WSDLInterface callInterface = null; - for (WSDLInterface anInterface : theInterfaces) { - if (anInterface.getPortType().getQName().equals(callPT.getQName())) - callInterface = anInterface; - } // end for - if (callInterface == null) { - error("NoInterfaceForPortType", theInterfaces, callPT.getQName().toString()); - } else - service.getInterfaceContract().setInterface(callInterface); - } // end if - - // There is a callback if the partner role is not null and if the - // partner role port type - // is not the same as the port type for my role - if (callbackPT != null) { - WSDLInterface callbackInterface = null; - for (WSDLInterface anInterface : theInterfaces) { - if (anInterface.getPortType().getQName().equals(callbackPT.getQName())) - callbackInterface = anInterface; - } // end for - if (callbackInterface == null) { - error("NoInterfaceForPortType", theInterfaces, callbackPT.getQName().toString()); - } else - service.getInterfaceContract().setCallbackInterface(callbackInterface); - } // end if - - return service; - } // end generateService - - /** - * Merge the componentType from introspection and from external file - * - * Note the setting of the DataBinding for both Services and References to DOM, since this is - * the data format expected by the ODE BPEL implementation code. - * - * @param resolver - * @param impl - */ - private void mergeComponentType(ModelResolver resolver, BPELImplementation impl) { - - // Load the component type from a component type file, if any - ComponentType componentType = getComponentType(resolver, impl); - if (componentType != null && !componentType.isUnresolved()) { - - // References... - Map<String, Reference> refMap = new HashMap<String, Reference>(); - for (Reference reference : componentType.getReferences()) { - refMap.put(reference.getName(), reference); - } // end for - - // For the present, overwrite anything arising from the component - // type sidefile if - // equivalent services are defined in the implementation. - // TODO - a more careful merge must be done, using the - // implementation introspection data - // as the master but adding any additional and non-conflicting - // information from the - // sidefile - for (Reference ref : impl.getReferences()) { - refMap.put(ref.getName(), ref); - } // end for - - impl.getReferences().clear(); - impl.getReferences().addAll(refMap.values()); - - // Services..... - Map<String, Service> serviceMap = new HashMap<String, Service>(); - for (Service service : componentType.getServices()) { - serviceMap.put(service.getName(), service); - } // end for - - // For the present, overwrite anything arising from the component - // type sidefile if - // equivalent services are defined in the implementation. - // TODO - a more careful merge must be done, using the - // implementation introspection data - // as the master but adding any additional and non-conflicting - // information from the - // sidefile - for (Service svc : impl.getServices()) { - serviceMap.put(svc.getName(), svc); - } // end for - - impl.getServices().clear(); - impl.getServices().addAll(serviceMap.values()); - - // Properties - Map<String, Property> propMap = new HashMap<String, Property>(); - for (Property property : componentType.getProperties()) { - propMap.put(property.getName(), property); - } // end for - - // A simple overwrite of any equivalent properties from the - // component type sidefile - for (Property prop : impl.getProperties()) { - propMap.put(prop.getName(), prop); - } - } - } - - - /** - * Find the componentType side file based on the BPEL implementation artifact - * @param resolver - * @param impl - * @return - */ - private ComponentType getComponentType(ModelResolver resolver, BPELImplementation impl) { - String bpelProcessURI = impl.getProcessDefinition().getURI().toString(); - - // Get the component type definition contained in the componentType file, if any - String componentTypeURI = bpelProcessURI.replace(".bpel", ".componentType"); - ComponentType componentType = assemblyFactory.createComponentType(); - componentType.setUnresolved(true); - componentType.setURI(componentTypeURI); - componentType = resolver.resolveModel(ComponentType.class, componentType); - if (!componentType.isUnresolved()) { - return componentType; - } - return null; - } // end getComponentType - - /** - * Returns a QName from its string representation in a named attribute of an XML element - * supplied in an XMLStreamReader - * - * QName attributes of an XML element (such as BPEL process) is presented in one of - * two alternative formats: - * 1) In the form of a local name with a prefix, with the prefix referencing a namespace - * URI declaration elsewhere in the composite (typically on the composite element) - * - * ie: nms:SomeName - * xmlns:nms="http://example.com/somenamespace" - * - * 2) In the XML Namespaces recommendation format (see http://jclark.com/xml/xmlns.htm ) - * where the namespace URI and the local name are encoded into a single string, with the - * namespace URI enclosed between a pair of braces {...} - * - * ie: {http://example.com/somenamespace}SomeName - */ - private QName getAttributeValueNS(XMLStreamReader reader, String attribute) { - String fullValue = reader.getAttributeValue(null, attribute); - if (fullValue == null) { - error("AttributeProcessMissing", reader); - return null; - } - - // Deal with the attribute in the XML Namespaces recommendation format - // - trim off any leading/trailing spaces and check that the first - // character is '{' - if (fullValue.trim().charAt(0) == '{') { - try { - // Attempt conversion to a QName object - QName theProcess = QName.valueOf(fullValue); - return theProcess; - } catch (IllegalArgumentException e) { - // This exception happens if the attribute begins with '{' but - // doesn't conform - // to the XML Namespaces recommendation format - error("AttributeWithoutNamespace", reader, attribute, fullValue); - return null; - } - } // endif - - // Deal with the attribute in the local name + prefix format - if (fullValue.indexOf(":") < 0) { - error("AttributeWithoutPrefix", reader, attribute, fullValue); - return null; - } - String prefix = fullValue.substring(0, fullValue.indexOf(":")); - String name = fullValue.substring(fullValue.indexOf(":") + 1); - String nsUri = reader.getNamespaceContext().getNamespaceURI(prefix); - if (nsUri == null) { - error("AttributeUnrecognizedNamespace", reader, attribute, fullValue); - return null; - } - return new QName(nsUri, name, prefix); - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = monitor.createProblem(this.getClass().getName(), "impl-bpel-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImportElement.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImportElement.java deleted file mode 100644 index bf0020323c..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImportElement.java +++ /dev/null @@ -1,65 +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 org.apache.tuscany.sca.implementation.bpel.xml;
-
-import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition;
-
-/**
- * Represents an <import.../> element in a BPEL process
- * - this has attributes:
- * location
- * importType
- * namespace
- *
- * @version $Rev$ $Date$
- */
-public class BPELImportElement {
-
- private String location;
- private String importType;
- private String namespace;
- private WSDLDefinition theWSDL = null;
-
- public BPELImportElement(String location, String importType, String namespace) {
- this.location = location;
- this.importType = importType;
- this.namespace = namespace;
- }
-
- public String getImportType() {
- return importType;
- }
-
- public String getLocation() {
- return location;
- }
-
- public String getNamespace() {
- return namespace;
- }
-
- public void setWSDLDefinition(WSDLDefinition theDefinition) {
- theWSDL = theDefinition;
- }
-
- public WSDLDefinition getWSDLDefinition() {
- return theWSDL;
- }
-
-} // end class BPELImportElement
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELPartnerLinkElement.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELPartnerLinkElement.java deleted file mode 100644 index cf90bea837..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELPartnerLinkElement.java +++ /dev/null @@ -1,129 +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 org.apache.tuscany.sca.implementation.bpel.xml;
-
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
-/**
- * Represents a <partnerLink.../> element in a BPEL process
- * - this has attributes:
- * name
- * partnerLinkType
- * myRole
- * partnerRole
- * - plus zero or more property elements as children
- *
- * The partnerlink may also be given an SCA Type - either of service or of reference - this must
- * generally be calculated and set on the partnerLink by inspecting the BPEL process
- *
- * @version $Rev$ $Date$
- */
-public class BPELPartnerLinkElement {
-
- private String REFERENCE_TYPE = "reference";
- private String SERVICE_TYPE = "service";
- private String name;
- private QName partnerLinkType;
- private BPELPartnerLinkTypeElement pLinkType = null;
- private String myRole;
- private String partnerRole;
- private String scaName; // Holds the SCA reference or service name
- private String scaType = null; // Holds the SCA type = null | service | reference
-
- public BPELPartnerLinkElement(String name,
- QName partnerLinkType,
- String myRole,
- String partnerRole ) {
- this.name = name;
- this.partnerLinkType = partnerLinkType;
- this.myRole = myRole;
- this.partnerRole = partnerRole;
-
- scaName = null;
- }
-
- public QName getPartnerLinkType() {
- return partnerLinkType;
- }
-
- public void setPartnerLinkType( BPELPartnerLinkTypeElement pLinkType ) {
- this.pLinkType = pLinkType;
- }
-
-
- public PortType getMyRolePortType() {
- return getRolePortType( myRole );
- }
-
- public PortType getPartnerRolePortType() {
- return getRolePortType( partnerRole );
- }
-
- private PortType getRolePortType( String theRole ) {
- if (theRole == null || theRole.length() == 0) {
- return null;
- } // end if
- if (theRole.equals(pLinkType.getRole1Name())) {
- return pLinkType.getRole1pType();
- } else if (theRole.equals(pLinkType.getRole2Name())) {
- return pLinkType.getRole2pType();
- } // end if
- return null;
- } // end getRolePortType
-
- public String getName() {
- return name;
- }
-
- public String getMyRole() {
- return myRole;
- }
-
- public String getPartnerRole() {
- return partnerRole;
- }
-
- public void setSCAName( String name ) {
- scaName = name;
- }
-
- public String getSCAName() {
- return scaName;
- }
-
- public boolean isSCATyped() {
- return ( !(scaType == null) );
- }
-
- public void setAsReference( String name ) {
- scaType = REFERENCE_TYPE;
- scaName = name;
- }
-
- public void setAsService( String name ) {
- scaType = SERVICE_TYPE;
- scaName = name;
- }
-
- public String querySCAType() {
- return scaType;
- }
-
-} // end class BPELPartnerLinkElement
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELPartnerLinkTypeElement.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELPartnerLinkTypeElement.java deleted file mode 100644 index 86a1d757d5..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELPartnerLinkTypeElement.java +++ /dev/null @@ -1,111 +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 org.apache.tuscany.sca.implementation.bpel.xml;
-
- import javax.wsdl.PortType;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.xml.namespace.QName;
-
-/**
- * Represents a <partnerLinkType.../> element related to a BPEL process
- * - this has attributes:
- * name
- * Role1 name
- * Role1 portType
- * Role2 name
- * Role2 portType
- *
- * - in the XML the 2 roles are child elements of the partnerLinkType element, but there
- * seems little point in reflecting this back into this model - it is simpler to include
- * both roles within the representation of the partnerLinkType itself
- *
- * @version $Rev$ $Date$
- */
-public class BPELPartnerLinkTypeElement implements ExtensibilityElement {
-
- private QName name;
- private String Role1name = null;
- private QName Role1porttype = null;
- private PortType Role1pType = null;
- private String Role2name = null;
- private QName Role2porttype = null;
- private PortType Role2pType = null;
- private QName elementType = null;
- private Boolean required = false;
-
- public BPELPartnerLinkTypeElement(QName name) {
- this.name = name;
- }
-
- public QName getName() {
- return name;
- }
-
- public void setRole1(String name, QName portType, PortType pType) {
- Role1name = name;
- Role1porttype = portType;
- Role1pType = pType;
- }
-
- public void setRole2(String name, QName portType, PortType pType) {
- Role2name = name;
- Role2porttype = portType;
- Role2pType = pType;
- }
-
- public String getRole1Name() {
- return Role1name;
- }
-
- public String getRole2Name() {
- return Role2name;
- }
-
- public QName getRole1PortType() {
- return Role1porttype;
- }
-
- public QName getRole2PortType() {
- return Role2porttype;
- }
-
- public PortType getRole1pType() {
- return Role1pType;
- }
-
- public PortType getRole2pType() {
- return Role2pType;
- }
-
- public QName getElementType() {
- return elementType;
- }
-
- public Boolean getRequired() {
- return required;
- }
-
- public void setElementType(QName elementType) {
- this.elementType = elementType;
- }
-
- public void setRequired(java.lang.Boolean required) {
- this.required = required;
- }
-
-} // end BPELPartnerLinkType
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index c5eaf6418e..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor +++ /dev/null @@ -1,19 +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. - -# Implementation class for the artifact processor extension -org.apache.tuscany.sca.implementation.bpel.xml.BPELImplementationProcessor;qname=http://docs.oasis-open.org/ns/opencsa/sca/200903#implementation.bpel,model=org.apache.tuscany.sca.implementation.bpel.BPELImplementation
\ No newline at end of file diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor deleted file mode 100644 index f6fd442f56..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor +++ /dev/null @@ -1,19 +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.
-
-# Implementation class for the artifact processor extension
-org.apache.tuscany.sca.implementation.bpel.xml.BPELDocumentProcessor;type=.bpel,model=org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition
\ No newline at end of file diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver deleted file mode 100644 index 08930e29ff..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver +++ /dev/null @@ -1,18 +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.
-
-org.apache.tuscany.sca.implementation.bpel.xml.BPELDocumentModelResolver;model=org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.bpel.BPELFactory b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.bpel.BPELFactory deleted file mode 100644 index 4276e938f1..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.bpel.BPELFactory +++ /dev/null @@ -1,18 +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.
-
-org.apache.tuscany.sca.implementation.bpel.impl.BPELFactoryImpl
diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/impl-bpel-validation-messages.properties b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/impl-bpel-validation-messages.properties deleted file mode 100644 index b6d8bdc0f1..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/main/resources/impl-bpel-validation-messages.properties +++ /dev/null @@ -1,34 +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. -# -# -CannotResolveWSDLReference = BPELDocumentProcessor:resolve - unable to resolve WSDL referenced by BPEL import WSDL location: {0} WSDLNamespace: {1} -ContributionReadException = ContributionReadException occured due to : -PartnerLinkNoMatchingType = PartnerLink {0} has no matching partner link type -PartnerLinkTypeNoRoles = PartnerLinkType {0} has no Roles defined -ContributionResolveException = ContributionResolveException occured due to : -PartnerLinkHasBothAttr = BPEL PartnerLink {0} has both sca:reference and sca:service attributes set -ReferencePartnerLinkNotInList = BPEL TypeLoader - element references partnerLink {0} not in the list -MyRolePartnerRoleNull = Error: myRole and partnerRole port types are both null -NoInterfaceForPortType = Interface not found for port type {0} -AttributeProcessMissing = Attribute 'process' is missing. -AttributeWithoutNamespace = Attribute {0} with value {1} in your composite should be of the form {namespaceURI}localname -AttributeWithoutPrefix = Attribute {0} with value {1} in your composite should be prefixed (process=\"prefix:name\"). -AttributeUnrecognizedNamespace = Attribute {0} with value {1} in your composite has un unrecognized namespace prefix. -BPELProcessNotFound = Can't find BPEL Process : {0}
\ No newline at end of file diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELDocumentProcessorTestCase.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELDocumentProcessorTestCase.java deleted file mode 100644 index e355b7adf9..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELDocumentProcessorTestCase.java +++ /dev/null @@ -1,59 +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 org.apache.tuscany.sca.implementation.bpel; - -import java.net.URI; -import java.net.URL; - -import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; - -/** - * @version $Rev$ $Date$ - */ -public class BPELDocumentProcessorTestCase extends TestCase { - - protected static final String BPEL_PROCESS_FILE = "helloworld/helloworld.bpel"; - - private URLArtifactProcessor<Object> documentProcessor; - - @Override - protected void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - URLArtifactProcessorExtensionPoint documentProcessors = extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class); - documentProcessor = new ExtensibleURLArtifactProcessor(documentProcessors, null); - } - - public void testLoadBPELProcessDefinition() throws Exception { - URI processURI = getClass().getClassLoader().getResource(BPEL_PROCESS_FILE).toURI(); - URL processLocation = getClass().getClassLoader().getResource(BPEL_PROCESS_FILE); - BPELProcessDefinition bpelProcessDefinition = (BPELProcessDefinition)documentProcessor.read(null, processURI, processLocation); - - assertNotNull(bpelProcessDefinition); - assertEquals(new QName("http://tuscany.apache.org/implementation/bpel/example/helloworld", "HelloWorld"), bpelProcessDefinition.getName()); - assertEquals(processLocation.toString(), bpelProcessDefinition.getLocation()); - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementationProcessorTestCase.java b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementationProcessorTestCase.java deleted file mode 100644 index 00a70fcb54..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementationProcessorTestCase.java +++ /dev/null @@ -1,107 +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 org.apache.tuscany.sca.implementation.bpel; - -import java.io.StringReader; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.monitor.DefaultMonitorFactory; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; - -/** - * @version $Rev$ $Date$ - */ -public class BPELImplementationProcessorTestCase extends TestCase { - - private static final String COMPOSITE = - "<?xml version=\"1.0\" encoding=\"ASCII\"?>" - + "<composite xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\" xmlns:hns=\"http://tuscany.apache.org/implementation/bpel/example/helloworld\" targetNamespace=\"http://bpel\" name=\"bpel\">" - + " <component name=\"BPELHelloWorldComponent\">" - + " <implementation.bpel process=\"hns:HelloWorld\" />" - + " </component>" - + "</composite>"; - - private static final String COMPOSITE_INVALID = - "<?xml version=\"1.0\" encoding=\"ASCII\"?>" - + "<composite xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\" xmlns:hns=\"http://tuscany.apache.org/implementation/bpel/example/helloworld\" targetNamespace=\"http://bpel\" name=\"bpel\">" - + " <component name=\"BPELHelloWorldComponent\">" - + " <implementation.bpel/>" - + " </component>" - + "</composite>"; - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor<Object> staxProcessor; - private Monitor monitor; - - @Override - protected void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - // Create a monitor - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = new DefaultMonitorFactory(); - if (monitorFactory != null) { - monitor = monitorFactory.createMonitor(); - utilities.addUtility(monitorFactory); - } - StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); - } - - /** - * Test parsing valid composite definition. Valid composite populated with correct values expected. - * @throws Exception - */ - public void testLoadValidComposite() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(COMPOSITE)); - - Composite composite = (Composite)staxProcessor.read(reader); - BPELImplementation implementation = (BPELImplementation)composite.getComponents().get(0).getImplementation(); - - assertNotNull(implementation); - assertEquals(new QName("http://tuscany.apache.org/implementation/bpel/example/helloworld", "HelloWorld"), implementation.getProcess()); - } - - /** - * Test parsing invalid composite definition. Exception should be thrown - * @throws Exception - */ - public void testLoadInvalidComposite() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(COMPOSITE_INVALID)); - staxProcessor.read(reader); - Problem problem = monitor.getLastProblem(); - assertNotNull(problem); - assertEquals("AttributeProcessMissing", problem.getMessageId()); - } -} diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/test/resources/helloworld/helloworld.bpel b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/test/resources/helloworld/helloworld.bpel deleted file mode 100644 index 8cf91adc2c..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/test/resources/helloworld/helloworld.bpel +++ /dev/null @@ -1,66 +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. - --> -<process name="HelloWorld" - targetNamespace="http://tuscany.apache.org/implementation/bpel/example/helloworld" - 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/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="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl"/> - - <partnerLinks> - <partnerLink name="helloPartnerLink" partnerLinkType="test:HelloPartnerLinkType" myRole="me" /> - </partnerLinks> - - <variables> - <variable name="helloMessage" messageType="test:HelloMessage"/> - <variable name="tmpVar" type="xsd:string"/> - </variables> - - <sequence> - <receive - name="start" - partnerLink="helloPartnerLink" - portType="test:HelloPortType" - operation="hello" - variable="helloMessage" - createInstance="yes"/> - - <assign name="assign1"> - <copy> - <from variable="helloMessage" part="TestPart"/> - <to variable="tmpVar"/> - </copy> - <copy> - <from>concat($tmpVar,' World')</from> - <to variable="helloMessage" part="TestPart"/> - </copy> - </assign> - <reply name="end" - partnerLink="helloPartnerLink" - portType="test:HelloPortType" - operation="hello" - variable="helloMessage"/> - </sequence> -</process> diff --git a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/test/resources/helloworld/helloworld.wsdl b/tags/java/sca/2.0-M2/modules/implementation-bpel/src/test/resources/helloworld/helloworld.wsdl deleted file mode 100644 index 1d71727b2d..0000000000 --- a/tags/java/sca/2.0-M2/modules/implementation-bpel/src/test/resources/helloworld/helloworld.wsdl +++ /dev/null @@ -1,82 +0,0 @@ -<?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 name="helloworld"
- 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 |