Recreate 2.0-Beta3 branch from current trunk

git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1151792 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
antelder 2011-07-28 11:07:25 +00:00
parent 04dcd09976
commit 2e0a5f4c13
5936 changed files with 512060 additions and 0 deletions

View file

@ -0,0 +1,44 @@
Building the Apache Tuscany SCA source distribution
===================================================
Initial Setup
-------------
1) Install J2SE 6.x JDK, which can be downloaded from
http://java.sun.com/javase/downloads/index.jsp.
2) Make sure that your JAVA_HOME environment variable is set to the newly installed
JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or
$JAVA_HOME/bin (unix).
3) Install Maven 2.0.7 or higher (2.2.1 recommended), which can be downloaded from
http://maven.apache.org/download.html. Make sure that your PATH includes
the MVN_HOME/bin directory.
4) Make sure that your MAVEN_OPTS environment variable has -Xmx128M (or more),
you can manually do this by executing the following in your prompt :
Windows users:
set MAVEN_OPTS=-Xmx128M
Unix users:
export MAVEN_OPTS=-Xmx128M
Building
--------
1) Change to the top level directory of Apache Tuscany source distribution.
2) Run
$> mvn
This will compile Apache Tuscany and run all of the tests in the source
distribution.
Depending on the load of remote Maven 2.0 repositories, you may have
to run "mvn" several times utill the required dependencies are
all located in your local maven repository. It usually takes some time for
maven to download required dependencies in the first build. Once all the
dependencies have been downloaded you may use the -o option to run maven
in offline mode, for example, 'mvn clean install -o'.

View file

@ -0,0 +1,143 @@
Changes With Apache Tuscany SCA 2.0-Beta3 July 2011
===================================================
Highlights include:
- Major enhancements on <binding.comet>. See samples for more details.
- Added new extension <binding.websocket>. See samples for more details.
- Many other improvements and bug fixes to the Web Service binding,
distributed domain support, samples and many other areas. A complete
list of changes since the previous release can be found with the
following SVN command:
svn log -r 1072933:HEAD https://svn.apache.org/repos/asf/tuscany/sca-java-2.x/tags/2.0-Beta3/
Changes With Apache Tuscany SCA 2.0-Beta2 February 2011
=======================================================
Highlights include:
- Addition of an interactive Shell to work with SCA domains, contributions, and services
- More reorganization of modules to support base-runtime and extension runtime jars
- Tidying and simplification of the Web Services binding dependencies
- Upgrade to Axis2 1.5.3, Axiom 1.2.10, Abdera 1.1.1, Jackson 1.7.1 and Dojo 1.5.0
- Improve jaxb/json databindings and jsonrpc binding to better handle interfaces
- Added support for AllowsByReference for references and implementation classes/methods
based on the specification
- Update to latest OASIS XSDs
- Quite a few changes in the async area
Changes With Apache Tuscany SCA 2.0-Beta1 November 2010
=======================================================
Highlights include:
- The mojority of work since June has been numerous fixes to the code base so that the runtime
now passes the OASIS conformance test suite for the SCA Assembly, SCA-J CAA, SCA-J CI,
Policy, Binding WS, Binding JMS Specifications!
- Added new extensions
<binding.comet>
<implmentation.python>
- Reorganization of <implementation.spring> extension Jars
- More improvements to the samples directory layout to separate various
different types of samples
- Added meta-data to the bindary distribution to identify which Jars are required
by each extension
- Started tidying project poms to depend on core collection of Tuscany Jars
- Numerous other bug fixes and improvements
- For this Beta1 release the remote Domain support is disabled pending some up-coming
changes in the way that domains are addressed and accessed. This means that the
scaclient-* samples don't work
Changes With Apache Tuscany SCA 2.0-M5 June 2010
====================================================
Highlights include:
- Passes the OASIS conformance test suite for the SCA Assembly, SCA-J CAA and SCA-J CI Specifications!
- Passes OSGI remote service SCA config type conformance test suite
- New Tuscany specific support for REST/JAXRS
- Started improving the layout of the samples to separate contributions from launchers
- Further improvements to the distributed SCA domain support
- Improved support for the SCAClient in distributed scenarios
- Dropped support for JDK 5
- Numerous other bug fixes and improvements
Changes With Apache Tuscany SCA 2.0-M4 November 2009
====================================================
Highlights include:
- Passes the OASIS conformance test suite for the SCA-J CAA Specification!
- Almost passes the OASIS conformance test suite for the SCA Assembly Specification with
a small number of test failures that will be fixed in the next release
- Support for <binding.jms> and the OASIS SCA JMS specification
- Support for <binding.ejb> on references and partial support of the OASIS SCA EJB specification
- A new Tuscany specific binding for JSONP support
- Several Tuscany specific extensions ported up from the 1.x runtime including bindings for ATOM,
HTTP, JSON-RPC, and implementation web clients, plus new support for JSON-RPC references
- Improved distributed SCA domain support
- Improve the implementation of OSGi remote services with SCA configuration type that supports dynamic
OSGi remote service admin, including import, export and discovery
- Add extension points for builders that can build implementation, binding and policy types
- Add a Deployer utility to facilitate deployment-related functions
- Improve the monitor usage so that monitors are isolated between requests
- Numerous other bug fixes and improvements
Changes With Apache Tuscany SCA 2.0-M3 June 2009
================================================
Highlights include:
- Support for <implementation.bpel> and the OASIS BPEL specification
- Support for <implementation.spring> and the draft OASIS Spring specification
- Support for the new SCACleint API as defined in the OASIS spec drafts
- Runtime support for SCA contributions in ZIP archives from the OASIS Assembly spec
- New Maven archetype to simplify create ZIP contributions
- New tuscany:run maven plugin for easy running SCA contributions
- Clean up and simplify the Tuscany module structure
- Various fixes for Assembly spec compliance and improved error reporting
- New deep integration into Apache Tomcat
Changes With Apache Tuscany SCA 2.0-M2 April 2009
=================================================
Highlights include:
- OSGi Enhancements including support for <implementation.osgi> and a new OSGi RFC119 prototype
- Many updates towards support for OASIS OpenCSA specification and the use OASIS namespaces and schemas
- Start to implement the SCA policy framework 1.1 spec draft from OASIS OpenCSA
- New Endpoint and EndpoitReference structures
- Webapps integration support including <implementation.web> and the web application composite along
- with support for various web technologies and frameworks including JSP support, JSF support with
- Apache MyFaces, and integration with the Stripes Web Framework
- New Maven Archetypes to make developing SCA applications easier,
see http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Tuscany+Maven+Archetypes
Changes With Apache Tuscany SCA 2.0-M1 February 2009
====================================================
The first milestone release for the 2.0 codebase
Features and/or Enhancements
* SCA Specification support
- The change over from OSOA SCA specification support to OASIS SCA
specification support is now in progress. As such we don't claim to
support either the OSOA or OASIS SCA specifications in the
2.0 codebase yet.
* Core
- Enable Tuscany to run inside an OSGi runtime
- Updated SCA API package names.
* Other Extensions
- Binding RMI
- RMI Binding
- Binding WS
- WebServices Binding
* Samples/Tutorial/Demos
- binding-ws-calculator/
- calculator/
- calculator-equinox/
- calculator-osgi/
- calculator-rmi-reference/
- calculator-rmi-service/
- implementation-java-calculator

View file

@ -0,0 +1,448 @@
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.
=================================================================================================================
The 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.
=================================================================================================================
The module assembly-xsd includes XSD and XML files under the following license:
Copyright OASIS 2005, 2009. All Rights Reserved.
All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual
Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.
This document and translations of it may be copied and furnished to others, and derivative works that
comment on or otherwise explain it or assist in its implementation may be prepared, copied, published,
and distributed, in whole or in part, without restriction of any kind, provided that the above copyright
notice and this section are included on all such copies and derivative works. However, this document
itself may not be modified in any way, including by removing the copyright notice or references to OASIS,
except as needed for the purpose of developing any document or deliverable produced by an OASIS
Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR
Policy, must be followed) or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors
or assigns.
This document and the information contained herein is provided on an "AS IS" basis and OASIS
DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP
RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE.
OASIS requests that any OASIS Party or any other party that believes it has patent claims that would
necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard,
to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to
such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that
produced this specification.
OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of
any patent claims that would necessarily be infringed by implementations of this specification by a patent
holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR
Mode of the OASIS Technical Committee that produced this specification. OASIS may include such
claims on its website, but disclaims any obligation to do so.
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that
might be claimed to pertain to the implementation or use of the technology described in this document or
the extent to which any license under such rights might or might not be available; neither does it represent
that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to
rights in any document or deliverable produced by an OASIS Technical Committee can be found on the
OASIS website. Copies of claims of rights made available for publication and any assurances of licenses
to be made available, or the result of an attempt made to obtain a general license or permission for the use
of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS
Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any
information or list of intellectual property rights will at any time be complete, or that any claims in such list
are, in fact, Essential Claims.
The names "OASIS", are trademarks of OASIS, the owner and developer of this specification, and should
be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and
implementation and use of, specifications, while reserving the right to enforce its marks against misleading
uses. Please see http://www.oasis-open.org/who/trademark.php for above guidance.
=================================================================================================================
The module assembly-xsd includes XSD files under the following license:
http://www.w3.org/Consortium/Legal/copyright-software-19980720
W3C® SOFTWARE NOTICE AND LICENSE
Copyright (c) 1994-2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche
en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
This W3C work (including software, documents, or other related items) is being provided by the copyright holders under
the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood,
and will comply with the following terms and conditions:
Permission to use, copy, modify, and distribute this software and its documentation, with or without modification,
for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies
of the software and documentation or portions thereof, including modifications, that you make:
1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short
notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed
or derivative code: "Copyright (c) [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology,
Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
3. Notice of any changes or modifications to the W3C files, including the date changes were made. (We recommend you provide URIs
to the location from which the code is derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE
OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE
OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software
without specific, written prior permission. Title to copyright in this software and any associated documentation will
at all times remain with copyright holders.
=================================================================================================================
The modules
binding-ws
databinding
databinding-axiom
databinding-jaxb
databinding-jaxb-axiom
databinding-json
databinding-sdo
databinding-sdo-axiom
interface-wsdl
Include the ipo.xsd and address.xsd information from the XML Schema Primer
(http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/) combined into the
file ipo.xsd and extended with UK postcode structures.
The ipo.xsd and address.xml information included under the following license:
W3C(c) SOFTWARE NOTICE AND LICENSE
http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
This work (and included software, documentation such as READMEs, or other
related items) is being provided by the copyright holders under the following
license. By obtaining, using and/or copying this work, you (the licensee) agree
that you have read, understood, and will comply with the following terms and conditions.
Permission to copy, modify, and distribute this software and its documentation,
with or without modification, for any purpose and without fee or royalty is
hereby granted, provided that you include the following on ALL copies of the
software and documentation or portions thereof, including modifications:
1. The full text of this NOTICE in a location viewable to users of the
redistributed or derivative work.
2. Any pre-existing intellectual property disclaimers, notices, or terms
and conditions. If none exist, the W3C Software Short Notice should be
included (hypertext is preferred, text is permitted) within the body of
any redistributed or derivative code.
3. Notice of any changes or modifications to the files, including the date
changes were made. (We recommend you provide URIs to the location from which
the code is derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE
NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO,
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE
USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS,
COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising or
publicity pertaining to the software without specific, written prior permission.
Title to copyright in this software and any associated documentation will at all
times remain with copyright holders.
=================================================================================================================
The module implementation-python-runtime includes files under the following license:
Copyright (c) Django Software Foundation and individual contributors.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. 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.
3. Neither the name of Django nor the names of its 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
=================================================================================================================
The module binding-comet-runtime includes files under the following license:
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View file

@ -0,0 +1,5 @@
Apache Tuscany
Copyright (c) 2005 - 2011 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

View file

@ -0,0 +1,21 @@
Apache Tuscany SCA README
=========================
Welcome to this Tuscany SCA release.
See the RELEASE_NOTES file for information specific to this release.
In the binary release see the INSTALL file for information on how to
install the release.
In the source distribution see the BUILDING file for information on
building the source code.
Please note that milestone releases may support experimental
features and APIs that may not exist in future releases.

View file

@ -0,0 +1,83 @@
Apache Tuscany SCA 2.0-Beta3 July 2011 Release Notes
====================================================
Apache Tuscany provides a runtime based on the Service Component
Architecture. SCA is a set of specifications aimed at simplifying SOA
Application Development which are being standardized at OASIS as part
of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.org/.
Overview
--------
This Apache Tuscany SCA release includes implementations of the main SCA
specifications and recent updates from Open CSA drafts including:
* SCA Assembly Model V1.1
* SCA Policy Framework V1.1
* SCA Java Common Annotations and APIs V1.1
* SCA Java Component Implementation V1.1
* SCA Web Services Binding V1.1
* SCA JMS Binding V1.1
* SCA Spring Client and Implementation V1.1
* SCA WS-BPEL Client and Implementation V1.1
(portions of) SCA JEE Integration V1.1
For those specs marked * the Tuscany runtime passes the
OASIS conformance tests (otests) for the specs as they stand
at the time of release. If you want to see the tests run you
can manually remove the comment that prevents them running
in the main build in the following Maven pom:
testing/compliance-tests/pom.xml
The distribution also includes implementations of many features not
yet defined by SCA specifications, including:
- SCA bindings for RMI, REST, WebSockets, Comet, HTTP, JSON-RPC, JSONP, ATOM.
- Databindings for JAXB, Axis2's AXIOM, DOM, SAX and StAX
- Integration with various web frameworks
The Tuscany SCA Runtime can be configured as a single node SCA domain.
In addition Tuscany SCA supports the following host-deployment options: -
- running standalone
- running in a OSGi enabled runtime Environment (Equinox)
- running with distributed nodes across multiple JVMs
See the CHANGES file for a detailed list of the features in this release.
Support
-------
For more information on Apache Tuscany visit the website at:
http://tuscany.apache.org/tuscany/
Any issues with this release can be reported to Apache Tuscany
using the mailing lists or in the JIRA issue tracker.
Mailing list archives:
http://mail-archives.apache.org/mod_mbox/tuscany-user/
http://mail-archives.apache.org/mod_mbox/tuscany-dev/
Jira:
http://issues.apache.org/jira/browse/TUSCANY
To join the project's mailing lists follow the instructions at:
http://incubator.apache.org/tuscany/mailing-lists.html
To find out more about OASIS Open CSA go to:
http://www.oasis-opencsa.org.
Apache Tuscany welcomes your help. Any contribution, including code,
testing, improving the documentation, or bug reporting is always
appreciated.
Thank you for using Apache Tuscany!
- The Tuscany Team.

View file

@ -0,0 +1,171 @@
<?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-distribution</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<groupId>org.apache.tuscany.sca.aggregation</groupId>
<artifactId>tuscany-base-runtime-aggregation</artifactId>
<name>Apache Tuscany SCA Base Runtime Aggregation</name>
<properties>
<bundle-symbolic-name>${project.groupId}.${project.artifactId}</bundle-symbolic-name>
</properties>
<!--
The dependencies required to run the Assembly otests minus the web service
binding (which is only required by the otest framework). Provides a minimum
set of function for running composites using implementation.java and local
wiring. Other extensions can be added to this base when required
-->
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-base-runtime-pom</artifactId>
<version>${project.version}</version>
<type>pom</type>
<optional>true</optional>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<!-- shades plugin but not worrying about manifests for the time being -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createSourcesJar>true</createSourcesJar>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<!--
various different approaches to the problem of building aggregate jars
leaving here for reference while the build settles down
-->
<!-- Our bundle plugin aggregation function
1/ it relies on generating the modules directory (which is not such a big deal)
2/ it generates a bundle with contains jars and a bundle classpath so is not jse friendly.
<plugin>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-bundle-plugin</artifactId>
<version>1.0.8</version>
<executions>
<execution>
<id>distribution-modules</id>
<phase>generate-resources</phase>
<goals>
<goal>generate-modules</goal>
</goals>
<configuration>
<targetDirectory>target/modules</targetDirectory>
</configuration>
</execution>
<execution>
<id>aggregate</id>
<phase>process-resources</phase>
<goals>
<goal>aggregate-modules</goal>
</goals>
</execution>
</executions>
</plugin>
-->
<!-- Using the bundle plugin etc.
Unpack doesn't work with pom dependencies
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-dependencies</id>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
<configuration>
<instructions>
<Bundle-RequiredExecutionEnvironment>J2SE-1.6</Bundle-RequiredExecutionEnvironment>
</instructions>
</configuration>
</plugin>
-->
</plugins>
</build>
</project>

View file

@ -0,0 +1,234 @@
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.
===============================================================================
This shaded jar also includes files uisng the following licenses:
===============================================================================
Permission to copy, display and distribute the Service Component Architecture Specification and/or
portions thereof, without modification, in any medium without fee or royalty is hereby granted, provided
that you include the following on ALL copies of the Service Component Architecture Specification, or
portions thereof, that you make:
1. A link or URL to the Service Component Architecture Specification at this location:
· http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications
2. The full text of the copyright notice as shown in the Service Component Architecture Specification.
BEA, Cape Clear, IBM, Interface21, IONA, Oracle, Primeton, Progress Software, Red Hat, Rogue Wave,
SAP, Siemens, Software AG., Sun, Sybase, TIBCO (collectively, the "Authors") agree to grant you a
royalty-free license, under reasonable, non-discriminatory terms and conditions to patents that they deem
necessary to implement the Service Component Architecture Specification.
THE Service Component Architecture SPECIFICATION IS PROVIDED "AS IS," AND THE
AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS,
INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE.
THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL
OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR
DISTRIBUTION OF THE Service Components Architecture SPECIFICATION.
The name and trademarks of the Authors may NOT be used in any manner, including advertising or
publicity pertaining to the Service Component Architecture Specification or its contents without specific,

View file

@ -0,0 +1,12 @@
Apache Tuscany Base Jar
Copyright (c) 2011 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
This product also includes software under the Service Component Architecture specification license
(see the LICENSE file contained in this distribution) with the following copyright
(c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA
Technologies, Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens
AG., Software AG., Sun Microsystems, Inc., Sybase Inc., TIBCO Software Inc., 2005, 2008. All rights reserved.

View file

@ -0,0 +1,31 @@
Apache Tuscany Base Jar
-----------------------
This jar is an agregation of the minimal set of Tuscany module jars that are required to use a Tuscany runtime.
Included in this jar are the modules to support using the Tuscany standalone, embedded, and webapp runtimes,
distributed domain support, SCA assembly support for contributions, composites, implementation.java, and binding.rmi.
Support for the JMS binding is also included but requires that the runtime environment supports JMS and JNDI, for example
when running within a Java EE container or by including a JMS provider (eg Apache ActiveMQ) in the runtime classpath.
This jar has the following dependencies:
- asm:asm:jar:3.1
- cglib:cglib:jar:2.2
- org.apache.ws.commons.schema:XmlSchema:jar:1.4.2
- com.hazelcast:hazelcast:jar:1.8 (optional, for distributed domain support)
When running with less than Java 1.6 the following are also required:
- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1
- org.codehaus.woodstox:wstx-asl:jar:3.2.4
- javax.xml.bind:jaxb-api:jar:2.1
- javax.activation:activation:jar:1.1
- com.sun.xml.bind:jaxb-impl:jar:2.1.12
- javax.xml.ws:jaxws-api:jar:2.1
- javax.annotation:jsr250-api:jar:1.0
- javax.jws:jsr181-api:jar:1.0-MR1
- javax.xml.stream:stax-api:jar:1.0-2

View file

@ -0,0 +1,121 @@
<?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-distribution</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-base-runtime-nodep</artifactId>
<name>Apache Tuscany SCA Base Runtime Jar including dependencies</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-base-runtime</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
<version>0.9.94</version>
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Tuscany uses java.util.logging but extensions and dependencies may use
log4j, commons-logging, slf4j, or java.util.logging. So inlcude slf4j
modules for all of those that delegate to java.util.logging. This should
mean there's no need for any other logging jars and no conflicts on
logging verisons as those are handled transparently by slf4j, and,
everything uses and can be configured just with java.util.logging.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.6.0</version>
</dependency>
-->
<dependency>
<groupId>org.eclipse</groupId>
<artifactId>osgi</artifactId>
<version>3.5.0-v20090520</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createSourcesJar>true</createSourcesJar>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,56 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.tuscany.sca.base;
import java.util.ArrayList;
import java.util.List;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
/**
* A bundle activator that delegates to others
*/
public class AggregatedBundleActivator implements BundleActivator {
public static final String BUNDLE_ACTIVATOR_LIST = "Tuscany-Bundle-Activator-List";
private List<BundleActivator> activators = new ArrayList<BundleActivator>();
public void start(BundleContext context) throws Exception {
String list = (String)context.getBundle().getHeaders().get(BUNDLE_ACTIVATOR_LIST);
if (list == null) {
return;
}
for (String cls : list.split(",")) {
Object i = context.getBundle().loadClass(cls).newInstance();
if (i instanceof BundleActivator) {
((BundleActivator)i).start(context);
activators.add((BundleActivator)i);
}
}
}
public void stop(BundleContext context) throws Exception {
for (BundleActivator a : activators) {
a.stop(context);
}
}
}

View file

@ -0,0 +1,234 @@
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.
===============================================================================
This shaded jar also includes files uisng the following licenses:
===============================================================================
Permission to copy, display and distribute the Service Component Architecture Specification and/or
portions thereof, without modification, in any medium without fee or royalty is hereby granted, provided
that you include the following on ALL copies of the Service Component Architecture Specification, or
portions thereof, that you make:
1. A link or URL to the Service Component Architecture Specification at this location:
· http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications
2. The full text of the copyright notice as shown in the Service Component Architecture Specification.
BEA, Cape Clear, IBM, Interface21, IONA, Oracle, Primeton, Progress Software, Red Hat, Rogue Wave,
SAP, Siemens, Software AG., Sun, Sybase, TIBCO (collectively, the "Authors") agree to grant you a
royalty-free license, under reasonable, non-discriminatory terms and conditions to patents that they deem
necessary to implement the Service Component Architecture Specification.
THE Service Component Architecture SPECIFICATION IS PROVIDED "AS IS," AND THE
AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS,
INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE.
THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL
OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR
DISTRIBUTION OF THE Service Components Architecture SPECIFICATION.
The name and trademarks of the Authors may NOT be used in any manner, including advertising or
publicity pertaining to the Service Component Architecture Specification or its contents without specific,

View file

@ -0,0 +1,479 @@
Manifest-Version: 1.0
Main-Class: org.apache.tuscany.sca.shell.Shell
Bundle-Activator: org.apache.tuscany.sca.base.AggregatedBundleActivator
Tuscany-Bundle-Activator-List: org.apache.tuscany.sca.contribution.osgi.impl.OSGiBundleActivator,org.apache.tuscany.sca.extensibility.equinox.EquinoxServiceDiscoveryActivator,org.apache.tuscany.sca.implementation.osgi.xml.OSGiImplementationActivator,org.apache.tuscany.sca.node.osgi.impl.NodeActivator,org.apache.tuscany.sca.node.equinox.launcher.FrameworkLauncher
Export-Package: org.apache.tuscany.sca.launcher;version="2.0",org.apac
he.tuscany.sca.assembly.xml;version="2.0.0";uses:="org.apache.tuscany
.sca.assembly, javax.xml.parsers, org.apache.tuscany.sca.core, org
.apache.tuscany.sca.contribution, org.apache.tuscany.sca.monitor, o
rg.apache.tuscany.sca.policy, org.apache.tuscany.sca.interfacedef,
org.w3c.dom, javax.xml.namespace, javax.xml.stream, org.apache.tus
cany.sca.contribution.resolver, org.apache.tuscany.sca.contribution.
processor",org.apache.tuscany.sca.definitions.xml;version="2.0.0";use
s:="javax.xml.stream, org.apache.tuscany.sca.contribution.resolver,
org.apache.tuscany.sca.definitions, org.apache.tuscany.sca.contribu
tion.processor, org.apache.tuscany.sca.core, org.apache.tuscany.sca
.monitor, javax.xml.namespace",org.apache.tuscany.sca.policy.xml;ver
sion="2.0.0";uses:="javax.xml.xpath, javax.xml.stream, org.apache.t
uscany.sca.contribution.resolver, org.apache.tuscany.sca.contributio
n.processor, org.apache.tuscany.sca.core, org.apache.tuscany.sca.po
licy, org.apache.tuscany.sca.monitor, javax.xml.namespace",org.apac
he.tuscany.sca.common.xml;version="2.0.0";uses:="org.xml.sax",org.apa
che.tuscany.sca.common.xml.dom;version="2.0.0";uses:="org.xml.sax.ext
, javax.xml.transform, javax.xml.parsers, org.apache.tuscany.sca.c
ore, org.w3c.dom, javax.xml.namespace, org.xml.sax",org.apache.tus
cany.sca.common.xml.sax;version="2.0.0";uses:="javax.xml.parsers,org.
apache.tuscany.sca.core,org.xml.sax",org.apache.tuscany.sca.common.xm
l.stax;version="2.0.0";uses:="org.apache.tuscany.sca.common.xml.dom,
javax.xml.stream, javax.xml.transform, org.apache.tuscany.sca.core
, org.w3c.dom, javax.xml.namespace, org.xml.sax",org.apache.tuscan
y.sca.common.xml.stax.reader;version="2.0.0";uses:="javax.xml.stream,
javax.xml.stream.util, org.w3c.dom, javax.xml.namespace",org.apac
he.tuscany.sca.common.xml.xpath;version="2.0.0";uses:="javax.xml.xpat
h,org.apache.tuscany.sca.core,javax.xml.namespace",org.apache.tuscany
.sca.interfacedef.wsdl;version="2.0.0";uses:="org.apache.ws.commons.s
chema,org.apache.tuscany.sca.assembly,org.apache.tuscany.sca.contribu
tion.resolver,javax.wsdl.extensions,org.apache.tuscany.sca.core,org.a
pache.tuscany.sca.interfacedef,javax.wsdl,javax.xml.namespace",org.ap
ache.tuscany.sca.databinding.jaxb;version="2.0.0";uses:="org.apache.t
uscany.sca.databinding,org.apache.tuscany.sca.interfacedef.util,javax
.xml.transform.dom,org.xml.sax,javax.xml.namespace,javax.imageio,java
x.xml.stream,org.apache.tuscany.sca.contribution.resolver,org.apache.
tuscany.sca.databinding.util,org.oasisopen.sca,org.apache.tuscany.sca
.databinding.xml,org.apache.tuscany.sca.databinding.impl,org.apache.w
s.commons.schema.resolver,org.apache.tuscany.sca.interfacedef,org.w3c
.dom,javax.xml.datatype,javax.activation,javax.xml.bind.attachment,ja
vax.xml.transform,javax.xml.bind.annotation,javax.xml.transform.strea
m,org.apache.tuscany.sca.interfacedef.impl,org.apache.tuscany.sca.xsd
,javax.xml.bind",org.apache.tuscany.sca.implementation.web;version="2
.0.0";uses:="org.apache.tuscany.sca.assembly",org.apache.tuscany.sca.
context;version="2.0.0";uses:="org.apache.tuscany.sca.runtime, org.a
pache.tuscany.sca.assembly, org.apache.tuscany.sca.core, org.oasiso
pen.sca, org.apache.tuscany.sca.extensibility",org.apache.tuscany.sc
a.invocation;version="2.0.0";uses:="org.apache.tuscany.sca.runtime,or
g.apache.tuscany.sca.interfacedef",org.apache.tuscany.sca.management;
version="2.0.0";uses:="org.apache.tuscany.sca.runtime",org.apache.tus
cany.sca.provider;version="2.0.0";uses:="org.apache.tuscany.sca.invoc
ation, org.apache.tuscany.sca.runtime, org.apache.tuscany.sca.assem
bly, org.apache.tuscany.sca.definitions, org.apache.tuscany.sca.cor
e, org.apache.tuscany.sca.interfacedef, org.apache.tuscany.sca.exte
nsibility",org.apache.tuscany.sca.runtime;version="2.0.0";uses:="org.
apache.tuscany.sca.invocation, org.apache.tuscany.sca.assembly, org
.apache.tuscany.sca.endpointresolver, org.apache.tuscany.sca.provide
r, org.oasisopen.sca, org.apache.tuscany.sca.interfacedef",org.apac
he.tuscany.sca.work;version="2.0.0",org.apache.tuscany.sca.interfaced
ef.java.jaxws;version="2.0.0";uses:="org.apache.tuscany.sca.databindi
ng,org.apache.tuscany.sca.interfacedef.util,org.objectweb.asm,javax.j
ws,javax.xml.namespace,javax.jws.soap,org.apache.tuscany.sca.interfac
edef.java.impl,org.apache.tuscany.sca.databinding.annotation,org.oasi
sopen.sca,javax.xml.bind.annotation.adapters,org.apache.tuscany.sca.i
nterfacedef.java,org.apache.tuscany.sca.interfacedef,org.apache.tusca
ny.sca.interfacedef.java.introspect,javax.xml.bind.annotation,org.apa
che.tuscany.sca.databinding.jaxb,org.apache.tuscany.sca.interfacedef.
impl,javax.xml.ws",org.apache.tuscany.sca.host.webapp;version="2.0.0"
;uses:="javax.servlet,org.apache.tuscany.sca.host.http,org.apache.tus
cany.sca.core",org.apache.tuscany.sca.endpoint.hazelcast.client;versi
on="2.0.0";uses:="org.apache.tuscany.sca.runtime,org.apache.tuscany.s
ca.assembly,org.apache.tuscany.sca.core,org.apache.tuscany.sca.endpoi
nt.hazelcast",org.apache.tuscany.sca.binding.ws;version="2.0.0";uses:
="org.apache.tuscany.sca.assembly, org.apache.tuscany.sca.interfaced
ef.wsdl, org.apache.tuscany.sca.assembly.builder, org.apache.tuscan
y.sca.interfacedef, org.w3c.dom, javax.wsdl, javax.xml.namespace",
org.apache.tuscany.sca.binding.ws.addressing;version="2.0.0";uses:="j
avax.xml.namespace",org.apache.ws.commons.schema,org.apache.ws.common
s.schema.resolver,org.apache.ws.commons.schema.utils,org.apache.ws.co
mmons.schema.constants,org.apache.ws.commons.schema.extensions,org.oa
sisopen.sca;version="2.0.0";uses:="javax.security.auth",org.oasisopen
.sca.annotation;version="2.0.0",org.oasisopen.sca.client;version="2.0
.0",org.objectweb.asm;version="3.1.0",org.objectweb.asm.signature;ver
sion="3.1.0",org.apache.tuscany.sca.monitor;version="2.0.0",org.apach
e.tuscany.sca.host.http;version="2.0.0";uses:="javax.servlet,javax.se
rvlet.http",javax.wsdl.extensions.schema;version="1.6.2",javax.wsdl.e
xtensions;version="1.6.2",com.ibm.wsdl.xml;version="1.6.2",javax.wsdl
.xml;version="1.6.2",com.ibm.wsdl.util;version="1.6.2",com.ibm.wsdl.e
xtensions.mime;version="1.6.2",com.ibm.wsdl.extensions.soap;version="
1.6.2",javax.wsdl.extensions.soap12;version="1.6.2",javax.wsdl.extens
ions.mime;version="1.6.2",javax.wsdl;version="1.6.2",com.ibm.wsdl.uti
l.xml;version="1.6.2",com.ibm.wsdl.extensions.http;version="1.6.2",co
m.ibm.wsdl.extensions.soap12;version="1.6.2",javax.wsdl.extensions.ht
tp;version="1.6.2",com.ibm.wsdl;version="1.6.2",com.ibm.wsdl.extensio
ns;version="1.6.2",com.ibm.wsdl.extensions.schema;version="1.6.2",jav
ax.wsdl.factory;version="1.6.2",javax.wsdl.extensions.soap;version="1
.6.2",com.ibm.wsdl.factory;version="1.6.2",org.apache.tuscany.sca.dat
abinding;version="2.0.0";uses:="org.apache.tuscany.sca.interfacedef.u
til,org.apache.tuscany.sca.databinding.impl,org.apache.tuscany.sca.in
terfacedef,org.apache.tuscany.sca.extensibility,javax.xml.namespace,o
rg.apache.tuscany.sca.contribution.resolver,org.apache.tuscany.sca.in
terfacedef.impl,org.apache.tuscany.sca.xsd",org.apache.tuscany.sca.da
tabinding.xml;version="2.0.0";uses:="org.apache.tuscany.sca.databindi
ng,org.apache.tuscany.sca.interfacedef.util,org.apache.tuscany.sca.da
tabinding.impl,javax.xml.parsers,javax.xml.transform.dom,org.w3c.dom,
org.apache.tuscany.sca.interfacedef,org.xml.sax,javax.xml.namespace,j
avax.xml.stream,javax.xml.stream.util,org.xml.sax.ext,javax.xml.trans
form,javax.xml.transform.stream,org.apache.tuscany.sca.interfacedef.i
mpl,javax.xml.transform.sax,org.apache.tuscany.sca.databinding.javabe
ans,org.xml.sax.helpers",org.apache.tuscany.sca.databinding.impl;vers
ion="2.0.0";uses:="org.apache.tuscany.sca.databinding,org.apache.tusc
any.sca.interfacedef.util,javax.xml.parsers,org.apache.tuscany.sca.in
terfacedef,org.w3c.dom,javax.xml.datatype,javax.xml.namespace,javax.x
ml.transform,org.apache.tuscany.sca.interfacedef.impl",org.apache.tus
cany.sca.databinding.util;version="2.0.0";uses:="org.apache.tuscany.s
ca.interfacedef.util,org.apache.tuscany.sca.interfacedef",org.apache.
tuscany.sca.databinding.annotation;version="2.0.0",org.apache.tuscany
.sca.databinding.javabeans;version="2.0.0";uses:="org.apache.tuscany.
sca.databinding,org.apache.tuscany.sca.databinding.xml,org.apache.tus
cany.sca.interfacedef.util,org.apache.tuscany.sca.databinding.impl,ja
vax.xml.parsers,org.w3c.dom,org.apache.tuscany.sca.interfacedef,javax
.xml.datatype,javax.xml.namespace,javax.xml.stream",org.apache.tuscan
y.sca.binding.sca.provider;version="2.0.0";uses:="org.apache.tuscany.
sca.databinding, org.apache.tuscany.sca.runtime, org.apache.tuscany
.sca.assembly, org.apache.tuscany.sca.provider, org.apache.tuscany.
sca.core, org.apache.tuscany.sca.interfacedef, javax.xml.namespace,
org.apache.tuscany.sca.invocation, org.apache.tuscany.sca.contribu
tion.processor, org.apache.tuscany.sca.assembly.builder",org.apache.
tuscany.sca.implementation.java;version="2.0.0";uses:="org.apache.tus
cany.sca.assembly, org.apache.tuscany.sca.implementation.java.intros
pect, org.apache.tuscany.sca.core, org.apache.tuscany.sca.policy,
org.apache.tuscany.sca.interfacedef.java",org.apache.tuscany.sca.impl
ementation.java.introspect;version="2.0.0";uses:="org.apache.tuscany.
sca.assembly,org.apache.tuscany.sca.implementation.java,org.oasisopen
.sca",org.apache.tuscany.sca.implementation.java.introspect.impl;vers
ion="2.0.0",org.apache.tuscany.sca.implementation.web.runtime.utils;v
ersion="2.0",org.apache.tuscany.sca.implementation.web.runtime;versio
n="2.0",org.apache.tuscany.sca.deployment;version="2.0.0";uses:="java
x.xml.stream, org.apache.tuscany.sca.assembly, org.apache.tuscany.s
ca.contribution.processor, org.apache.tuscany.sca.core, org.apache.
tuscany.sca.contribution, org.apache.tuscany.sca.monitor, org.apach
e.tuscany.sca.assembly.builder",org.apache.tuscany.sca.deployment.imp
l;version="2.0.0";uses:="org.apache.tuscany.sca.assembly, org.apache
.tuscany.sca.definitions, org.apache.tuscany.sca.common.xml.stax, o
rg.apache.tuscany.sca.contribution, org.apache.tuscany.sca.core, or
g.apache.tuscany.sca.deployment, org.apache.tuscany.sca.monitor, ja
vax.xml.stream, org.apache.tuscany.sca.contribution.resolver, org.a
pache.tuscany.sca.contribution.processor, org.apache.tuscany.sca.ass
embly.builder",org.apache.tuscany.sca.contribution.scanner;version="2
.0.0";uses:="org.apache.tuscany.sca.contribution.processor,org.apache
.tuscany.sca.extensibility",org.apache.tuscany.sca.contribution.resol
ver;version="2.0.0";uses:="org.apache.tuscany.sca.assembly,org.apache
.tuscany.sca.core,org.apache.tuscany.sca.contribution,org.apache.tusc
any.sca.extensibility",org.apache.tuscany.sca.contribution.processor;
version="2.0.0";uses:="org.apache.tuscany.sca.assembly,org.apache.tus
cany.sca.core,org.apache.tuscany.sca.policy,org.apache.tuscany.sca.mo
nitor,org.apache.tuscany.sca.extensibility,org.xml.sax,javax.xml.name
space,javax.xml.stream,javax.xml.stream.util,javax.xml.transform,org.
apache.tuscany.sca.contribution.resolver,javax.xml.transform.stream,j
avax.xml.validation,org.xml.sax.helpers",org.apache.tuscany.sca.contr
ibution;version="2.0.0";uses:="org.apache.tuscany.sca.assembly,org.ap
ache.tuscany.sca.contribution.resolver",org.apache.tuscany.sca.contri
bution.namespace;version="2.0.0";uses:="org.apache.tuscany.sca.contri
bution",org.apache.tuscany.sca.contribution.java;version="2.0.0";uses
:="org.apache.tuscany.sca.contribution",org.apache.tuscany.sca.core.a
ssembly;version="2.0.0";uses:="org.apache.tuscany.sca.assembly,org.ap
ache.tuscany.sca.core",org.apache.tuscany.sca.core.context;version="2
.0.0";uses:="javax.xml.stream, org.apache.tuscany.sca.runtime, org.
apache.tuscany.sca.assembly, org.apache.tuscany.sca.context, org.oa
sisopen.sca, org.apache.tuscany.sca.core",org.apache.tuscany.sca.cor
e.factory;version="2.0.0",org.apache.tuscany.sca.core.invocation;vers
ion="2.0.0";uses:="org.apache.tuscany.sca.invocation, org.apache.tus
cany.sca.runtime, org.apache.tuscany.sca.assembly, org.oasisopen.sc
a, org.apache.tuscany.sca.work, org.apache.tuscany.sca.core.factory
, org.apache.tuscany.sca.core.context.impl, org.apache.tuscany.sca.
core, org.apache.tuscany.sca.interfacedef",org.apache.tuscany.sca.co
re.scope;version="2.0.0";uses:="org.apache.tuscany.sca.runtime, org.
apache.tuscany.sca.provider, org.apache.tuscany.sca.core.scope.impl,
org.apache.tuscany.sca.core.factory",org.apache.tuscany.sca.node.im
pl;version="2.0.0",org.apache.tuscany.sca.xsd;version="2.0.0";uses:="
org.apache.ws.commons.schema, org.apache.tuscany.sca.assembly, org.
apache.tuscany.sca.xsd.impl, org.w3c.dom, javax.xml.namespace",org.
apache.tuscany.sca.xsd.xml;version="2.0.0";uses:="org.apache.ws.commo
ns.schema.resolver, org.apache.tuscany.sca.contribution.resolver, o
rg.apache.tuscany.sca.contribution.processor, org.apache.tuscany.sca
.contribution, org.apache.tuscany.sca.xsd, org.apache.tuscany.sca.c
ore, org.apache.tuscany.sca.monitor, org.xml.sax, javax.xml.namesp
ace",org.apache.tuscany.sca.binding.ws.jaxws;version="2.0.0",org.apac
he.tuscany.sca.core;version="2.0.0";uses:="org.apache.tuscany.sca.ext
ensibility",org.apache.tuscany.sca.extensibility;version="2.0.0",org.
apache.tuscany.sca.endpoint.hazelcast;version="2.0.0";uses:="org.apac
he.tuscany.sca.runtime,org.apache.tuscany.sca.assembly,org.apache.tus
cany.sca.core",org.apache.tuscany.sca.implementation.java.context;ver
sion="2.0.0";uses:="org.apache.tuscany.sca.core.context,org.apache.tu
scany.sca.core.factory,org.apache.tuscany.sca.implementation.java,org
.apache.tuscany.sca.core.scope,org.apache.tuscany.sca.implementation.
java.injection",org.apache.tuscany.sca.implementation.java.injection;
version="2.0.0";uses:="org.apache.tuscany.sca.databinding,org.apache.
tuscany.sca.databinding.xml,org.apache.tuscany.sca.runtime,org.apache
.tuscany.sca.interfacedef.util,org.apache.tuscany.sca.assembly,org.ap
ache.tuscany.sca.context,org.apache.tuscany.sca.databinding.impl,org.
apache.tuscany.sca.core.context,org.apache.tuscany.sca.implementation
.java.introspect,org.apache.tuscany.sca.implementation.java,org.apach
e.tuscany.sca.interfacedef,org.w3c.dom,javax.xml.namespace,org.apache
.tuscany.sca.invocation,org.apache.tuscany.sca.core.factory,org.apach
e.tuscany.sca.interfacedef.impl,org.oasisopen.sca,org.apache.tuscany.
sca.core.invocation",com.hazelcast.cluster;uses:="com.hazelcast.impl.
base, com.hazelcast.nio, com.hazelcast.core, com.hazelcast.impl, com.
hazelcast.util",com.hazelcast.config;uses:="com.hazelcast.nio,org.w3c
.dom",com.hazelcast.core;uses:="com.hazelcast.monitor, com.hazelcast.
nio, com.hazelcast.query, com.hazelcast.impl, com.hazelcast.logging,
com.hazelcast.config, com.hazelcast.partition",com.hazelcast.examples
;uses:="com.hazelcast.core",com.hazelcast.jmx;uses:="com.hazelcast.co
nfig, com.hazelcast.core, javax.management, com.hazelcast.impl",com.h
azelcast.logging,com.hazelcast.monitor;uses:="com.hazelcast.core,com.
hazelcast.impl",com.hazelcast.nio;uses:="javax.crypto, com.hazelcast.
impl, com.hazelcast.logging, com.hazelcast.cluster",com.hazelcast.par
tition;uses:="com.hazelcast.core",com.hazelcast.query;uses:="com.haze
lcast.nio,com.hazelcast.core,com.hazelcast.impl",com.hazelcast.util,o
rg.apache.tuscany.sca.binding.ws.wsdlgen;version="2.0.0";uses:="org.a
pache.tuscany.sca.databinding,org.apache.tuscany.sca.interfacedef.uti
l,org.apache.tuscany.sca.core,org.apache.tuscany.sca.policy,javax.wsd
l.extensions.schema,javax.xml.namespace,javax.wsdl.xml,javax.wsdl.ext
ensions,org.apache.tuscany.sca.contribution.resolver,org.oasisopen.sc
a,org.apache.ws.commons.schema,javax.wsdl.factory,org.apache.tuscany.
sca.assembly,javax.wsdl.extensions.soap,javax.xml.parsers,org.apache.
tuscany.sca.monitor,org.apache.tuscany.sca.interfacedef.java,org.apac
he.tuscany.sca.interfacedef,org.w3c.dom,javax.wsdl,org.apache.tuscany
.sca.binding.ws,javax.wsdl.extensions.soap12,org.apache.tuscany.sca.d
atabinding.jaxb,org.apache.tuscany.sca.interfacedef.wsdl,org.apache.w
s.commons.schema.utils,org.apache.tuscany.sca.xsd",org.apache.tuscany
.sca.node;version="2.0.0";uses:="org.oasisopen.sca",org.apache.tuscan
y.sca.node.configuration;version="2.0.0",org.apache.tuscany.sca.core.
databinding.processor;version="2.0.0";uses:="org.w3c.dom",org.apache.
tuscany.sca.assembly;version="2.0.0";uses:="javax.xml.xpath, org.apa
che.tuscany.sca.assembly.impl, org.apache.tuscany.sca.core, org.apa
che.tuscany.sca.policy, org.apache.tuscany.sca.interfacedef, javax.
xml.namespace",org.apache.tuscany.sca.assembly.builder;version="2.0.0
";uses:="org.apache.tuscany.sca.assembly, org.apache.tuscany.sca.def
initions, org.apache.tuscany.sca.core, org.apache.tuscany.sca.monit
or",org.apache.tuscany.sca.assembly.impl;version="2.0.0";uses:="javax
.xml.xpath, org.apache.tuscany.sca.assembly, org.apache.tuscany.sca
.core, org.apache.tuscany.sca.policy, org.apache.tuscany.sca.interf
acedef, javax.xml.namespace",org.apache.tuscany.sca.definitions;vers
ion="2.0.0",org.apache.tuscany.sca.definitions.util;version="2.0.0";u
ses:="org.apache.tuscany.sca.definitions,org.apache.tuscany.sca.monit
or",org.apache.tuscany.sca.interfacedef;version="2.0.0";uses:="org.ap
ache.tuscany.sca.interfacedef.util,org.apache.tuscany.sca.policy",org
.apache.tuscany.sca.interfacedef.impl;version="2.0.0";uses:="org.apac
he.tuscany.sca.interfacedef.util,org.apache.tuscany.sca.policy,org.ap
ache.tuscany.sca.interfacedef",org.apache.tuscany.sca.interfacedef.ut
il;version="2.0.0";uses:="org.apache.tuscany.sca.interfacedef,javax.x
ml.namespace",org.apache.tuscany.sca.policy;version="2.0.0";uses:="ja
vax.xml.xpath,org.apache.tuscany.sca.policy.impl,javax.xml.namespace"
,org.apache.tuscany.sca.policy.impl;version="2.0.0";uses:="javax.xml.
xpath,org.apache.tuscany.sca.policy,javax.xml.namespace",org.apache.t
uscany.sca.policy.util;version="2.0.0";uses:="javax.xml.parsers,org.a
pache.tuscany.sca.policy",org.apache.tuscany.sca.assembly.xsd;version
="2.0.0",org.apache.tuscany.sca.common.java.classloader;version="2.0.
0",org.apache.tuscany.sca.common.java.collection;version="2.0.0",org.
apache.tuscany.sca.common.java.io;version="2.0.0",org.apache.tuscany.
sca.common.java.reflection;version="2.0.0";uses:="org.apache.tuscany.
sca.core",com.hazelcast.client.examples;version="1.8.3",com.hazelcast
.client.impl;version="1.8.3",com.hazelcast.client;version="1.8.3",com
.hazelcast.client.cluster;version="1.8.3",net.sf.cglib.proxy;version=
"2.2.0",net.sf.cglib.transform;version="2.2.0",net.sf.cglib.reflect;v
ersion="2.2.0",net.sf.cglib.util;version="2.2.0",net.sf.cglib.beans;v
ersion="2.2.0",net.sf.cglib.transform.impl;version="2.2.0",net.sf.cgl
ib.core;version="2.2.0",org.apache.tuscany.sca.interfacedef.java.impl
;version="2.0.0";uses:="org.osoa.sca.annotations,org.apache.tuscany.s
ca.interfacedef.util,org.apache.tuscany.sca.policy,org.apache.tuscany
.sca.interfacedef.java,org.apache.tuscany.sca.interfacedef,javax.xml.
namespace,org.apache.tuscany.sca.interfacedef.java.introspect,org.apa
che.tuscany.sca.interfacedef.impl",org.apache.tuscany.sca.interfacede
f.java.introspect;version="2.0.0";uses:="org.apache.tuscany.sca.inter
facedef.java,org.apache.tuscany.sca.interfacedef",org.apache.tuscany.
sca.interfacedef.java;version="2.0.0";uses:="org.apache.tuscany.sca.a
ssembly,org.apache.tuscany.sca.interfacedef.java.impl,org.apache.tusc
any.sca.interfacedef.java.introspect,org.apache.tuscany.sca.core,org.
apache.tuscany.sca.policy,org.apache.tuscany.sca.interfacedef,org.apa
che.tuscany.sca.extensibility,javax.xml.namespace"
Private-Package: org.apache.tuscany.sca.interfacedef.wsdl.impl;version
="2.0.0",org.apache.tuscany.sca.implementation.web.impl;version="2.0.
0",org.apache.tuscany.sca.binding.ws.impl;version="2.0.0",org.apache.
tuscany.sca.databinding.externalizable;version="2.0.0",org.apache.tus
cany.sca.binding.sca.provider;version="2.0.0",org.apache.tuscany.sca.
implementation.java.impl;version="2.0.0",org.apache.tuscany.sca.imple
mentation.java.introspect.impl;version="2.0.0",org.apache.tuscany.sca
.contribution.impl;version="1.4",org.apache.tuscany.sca.xsd.impl;vers
ion="2.0.0",org.apache.tuscany.sca.implementation.java.invocation;ver
sion="2.0.0",org.apache.tuscany.sca.implementation.java.module;versio
n="2.0.0",org.apache.tuscany.sca.core.databinding.module;version="2.0
.0",org.apache.tuscany.sca.core.databinding.processor;version="2.0.0"
,org.apache.tuscany.sca.core.databinding.transformers;version="2.0.0"
,org.apache.tuscany.sca.core.databinding.wire;version="2.0.0",org.apa
che.tuscany.sca.assembly.builder.impl;version="2.0.0",org.apache.tusc
any.sca.http.jetty;version="2.0.0"
Bundle-ClassPath: .
Bundle-Name: Apache Tuscany Base with No Dependencies
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
DynamicImport-Package: javax.transaction;version="1.1",javax.transacti
on.xa;version="1.1",*,org.apache.tuscany.sca.*;version="2.0.0",org.ap
ache.tuscany.sca.extensibility.equinox,org.apache.tuscany.sca.node.im
pl,org.apache.tuscany.sca.extensibility
Bundle-Vendor: The Apache Software Foundation
Bundle-Version: 2.0.0
SCA-Version: 1.1
Bundle-ManifestVersion: 2
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-Description: Apache Tuscany Launcher,Apache Tuscany SCA XML Ass
embly Model,Apache Tuscany SCA Common XML,Apache Tuscany SCA WSDL Int
erface Model,Apache Tuscany SCA Data Binding for JAXB,Apache Tuscany
SCA Implementation Web Model,Apache Tuscany SCA Domain Node,Apache Tu
scany SCA Core SPI,Apache Tuscany Java Interface for JAXWS,Apache Tus
cany SCA Webapp Host,Apache Tuscany Hazelcast Client Endpoint Regsitr
y,Apache Tuscany SCA WS Binding Model,Apache Tuscany SCA Assembly Mod
el,API classes for the Service Component Architecture,Apache Tuscany
SCA Client Impl,Apache Tuscany SCA Monitor,Apache Tuscany SCA HTTP Se
rvlet Host Extension Point,Apache Tuscany SCA Wink,Apache Tuscany SCA
Stripes,Apache Tuscany SCA DataBinding Framework,Apache Tuscany SCA
Default Binding Model,Apache Tuscany SCA Java Implementation Model,Ap
ache Tuscany SCA Implementation Web Runtime,Apache Tuscany SCA Node I
mplementation,Apache Tuscany SCA Contribution Model,Apache Tuscany SC
A Core Runtime,Apache Tuscany SCA XSD Model,Apache Tuscany Hazelcast
Binding,Apache Tuscany SCA JAXWS-based WS Binding Extension,Apache Tu
scany SCA Extensibility,Apache Tuscany Hazelcast Endpoint Regsitry,Ap
ache Tuscany SCA Web Service binding WSDL Generator,Apache Tuscany SC
A Node API,Apache Tuscany SCA Core/DataBinding Integration,Apache Tus
cany SCA Assembly Model XML Schemas,Apache Tuscany SCA Jetty Servlet
Host Extension,Apache Tuscany SCA Common Java,Apache Tuscany SCA Java
Interface Model
Bundle-DocURL: http://www.apache.org/
Bundle-SymbolicName: org.apache.tuscany.sca.base-nodep
Import-Package: com.hazelcast.client,
com.hazelcast.config,
com.hazelcast.core,
com.hazelcast.nio,
javax.activation,
javax.imageio,
javax.jws,
javax.jws.soap,
javax.management;resolution:=optional,
javax.naming,
javax.net.ssl;resolution:=optional,
javax.security.auth,
javax.security.auth.callback;resolution:=optional,
javax.servlet;resolution:=optional,
javax.servlet.http;resolution:=optional,
javax.servlet.jsp;resolution:=optional,
javax.servlet.jsp.tagext;resolution:=optional,
javax.wsdl,
javax.wsdl.extensions,
javax.wsdl.extensions.schema,
javax.wsdl.extensions.soap,
javax.wsdl.extensions.soap12,
javax.wsdl.factory,
javax.wsdl.xml,
javax.xml.bind,
javax.xml.bind.annotation,
javax.xml.bind.annotation.adapters,
javax.xml.bind.attachment,
javax.xml.datatype,
javax.xml.namespace,
javax.xml.parsers,
javax.xml.soap,
javax.xml.stream,
javax.xml.stream.events,
javax.xml.stream.util,
javax.xml.transform,
javax.xml.transform.dom,
javax.xml.transform.sax,
javax.xml.transform.stream,
javax.xml.validation;resolution:=optional,
javax.xml.ws,
javax.xml.xpath,
net.sf.cglib.proxy;resolution:=optional,
org.apache.tuscany.sca.assembly;version="2.0.0",
org.apache.tuscany.sca.assembly.builder;version="2.0.0",
org.apache.tuscany.sca.assembly.impl;version="2.0.0",
org.apache.tuscany.sca.assembly.xml;version="2.0.0",
org.apache.tuscany.sca.assembly.xsd;version="2.0.0";resolution:=optional,
org.apache.tuscany.sca.binding.ws;version="2.0.0",
org.apache.tuscany.sca.binding.ws.addressing;version="2.0.0",
org.apache.tuscany.sca.binding.ws.wsdlgen;version="2.0.0",
org.apache.tuscany.sca.common.java.classloader;version="2.0.0",
org.apache.tuscany.sca.common.java.collection;version="2.0.0",
org.apache.tuscany.sca.common.java.io;version="2.0.0",
org.apache.tuscany.sca.common.java.reflection;version="2.0.0",
org.apache.tuscany.sca.common.xml;version="2.0.0",
org.apache.tuscany.sca.common.xml.dom;version="2.0.0",
org.apache.tuscany.sca.common.xml.sax;version="2.0.0",
org.apache.tuscany.sca.common.xml.stax;version="2.0.0",
org.apache.tuscany.sca.common.xml.stax.reader;version="2.0.0",
org.apache.tuscany.sca.common.xml.xpath;version="2.0.0",
org.apache.tuscany.sca.context;version="2.0.0",
org.apache.tuscany.sca.contribution;version="2.0.0",
org.apache.tuscany.sca.contribution.java;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.contribution.scanner;version="2.0.0",
org.apache.tuscany.sca.core;version="2.0.0",
org.apache.tuscany.sca.core.assembly;version="2.0.0",
org.apache.tuscany.sca.core.context;version="2.0.0",
org.apache.tuscany.sca.core.factory;version="2.0.0",
org.apache.tuscany.sca.core.invocation;version="2.0.0",
org.apache.tuscany.sca.core.scope;version="2.0.0",
org.apache.tuscany.sca.databinding;version="2.0.0",
org.apache.tuscany.sca.databinding.annotation;version="2.0.0",
org.apache.tuscany.sca.databinding.impl;version="2.0.0",
org.apache.tuscany.sca.databinding.javabeans;version="2.0.0",
org.apache.tuscany.sca.databinding.jaxb;version="2.0.0",
org.apache.tuscany.sca.databinding.util;version="2.0.0",
org.apache.tuscany.sca.databinding.xml;version="2.0.0",
org.apache.tuscany.sca.definitions;version="2.0.0",
org.apache.tuscany.sca.definitions.util;version="2.0.0",
org.apache.tuscany.sca.definitions.xml;version="2.0.0",
org.apache.tuscany.sca.deployment;version="2.0.0",
org.apache.tuscany.sca.endpoint.hazelcast;version="2.0.0",
org.apache.tuscany.sca.extensibility;version="2.0.0",
org.apache.tuscany.sca.host.http;version="2.0.0",
org.apache.tuscany.sca.host.webapp;version="2.0.0",
org.apache.tuscany.sca.implementation.java;version="2.0.0",
org.apache.tuscany.sca.implementation.java.context;version="2.0.0",
org.apache.tuscany.sca.implementation.java.injection;version="2.0.0",
org.apache.tuscany.sca.implementation.java.introspect;version="2.0.0",
org.apache.tuscany.sca.implementation.java.invocation;resolution:=optional,
org.apache.tuscany.sca.implementation.web;version="2.0.0",
org.apache.tuscany.sca.implementation.web.runtime.utils;version="2.0",
org.apache.tuscany.sca.interfacedef;version="2.0.0",
org.apache.tuscany.sca.interfacedef.impl;version="2.0.0",
org.apache.tuscany.sca.interfacedef.java;version="2.0.0",
org.apache.tuscany.sca.interfacedef.java.impl;version="2.0.0",
org.apache.tuscany.sca.interfacedef.java.introspect;version="2.0.0",
org.apache.tuscany.sca.interfacedef.java.jaxws;version="2.0.0",
org.apache.tuscany.sca.interfacedef.util;version="2.0.0",
org.apache.tuscany.sca.interfacedef.wsdl;version="2.0.0",
org.apache.tuscany.sca.invocation;version="2.0.0",
org.apache.tuscany.sca.launcher;version="2.0",
org.apache.tuscany.sca.management;version="2.0.0",
org.apache.tuscany.sca.monitor;version="2.0.0",
org.apache.tuscany.sca.node;version="2.0.0",
org.apache.tuscany.sca.node.configuration;version="2.0.0",
org.apache.tuscany.sca.node.impl;version="2.0.0",
org.apache.tuscany.sca.policy;version="2.0.0",
org.apache.tuscany.sca.policy.impl;version="2.0.0",
org.apache.tuscany.sca.policy.util;version="2.0.0",
org.apache.tuscany.sca.provider;version="2.0.0",
org.apache.tuscany.sca.runtime;version="2.0.0",
org.apache.tuscany.sca.work;version="2.0.0",
org.apache.tuscany.sca.xsd;version="2.0.0",
org.apache.tuscany.sca.xsd.xml;version="2.0.0",
org.apache.ws.commons.schema,
org.apache.ws.commons.schema.resolver,
org.apache.ws.commons.schema.utils,
org.oasisopen.sca;version="2.0.0",
org.oasisopen.sca.annotation;version="2.0.0";resolution:=optional,
org.oasisopen.sca.client;version="2.0.0",
org.objectweb.asm;version="3.1",
org.objectweb.asm.util;version="3.1";resolution:=optional,
org.osgi.framework;version="1.4.0";resolution:=optional,
org.osgi.framework.hooks.service;version="1.0.0";resolution:=optional,
org.osgi.service.cm;version="1.2.1";resolution:=optional,
org.osgi.service.component;version="1.1.0";resolution:=optional,
org.osgi.service.event;version="1.2.0";resolution:=optional,
org.osgi.service.packageadmin;version="1.2.0";resolution:=optional,
org.osgi.service.remoteserviceadmin;version="1.0.0";resolution:=optional,
org.osgi.util.tracker;version="1.3.0";resolution:=optional,
org.w3c.dom,
org.w3c.dom.ls,
org.xml.sax;resolution:=optional,
org.xml.sax.ext,
org.xml.sax.helpers

View file

@ -0,0 +1,12 @@
Apache Tuscany Base Jar
Copyright (c) 2011 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
This product also includes software under the Service Component Architecture specification license
(see the LICENSE file contained in this distribution) with the following copyright
(c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA
Technologies, Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens
AG., Software AG., Sun Microsystems, Inc., Sybase Inc., TIBCO Software Inc., 2005, 2008. All rights reserved.

View file

@ -0,0 +1,33 @@
Apache Tuscany Base Jar including all dependencies
-----------------------
This jar is an agregation of the minimal set of Tuscany module jars that are required to use a Tuscany runtime.
Included in this jar are the modules to support using the Tuscany standalone, embedded, and webapp runtimes,
distributed domain support, SCA assembly support for contributions, composites, implementation.java, and binding.rmi.
Support for the JMS binding is also included but requires that the runtime environment supports JMS and JNDI, for example
when running within a Java EE container or by including a JMS provider (eg Apache ActiveMQ) in the runtime classpath.
This jar also includes the following dependencies:
- asm:asm:jar:3.1
- cglib:cglib:jar:2.2
- org.apache.ws.commons.schema:XmlSchema:jar:1.4.2
- com.hazelcast:hazelcast:jar:1.8.3
- com.hazelcast:hazelcast-client:jar:1.8.3
- wsdl4j:wsld4j:jar:1.6.2
When running with less than Java 1.6 the following dependencies are required:
- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1
- org.codehaus.woodstox:wstx-asl:jar:3.2.4
- javax.xml.bind:jaxb-api:jar:2.1
- javax.activation:activation:jar:1.1
- com.sun.xml.bind:jaxb-impl:jar:2.1.12
- javax.xml.ws:jaxws-api:jar:2.1
- javax.annotation:jsr250-api:jar:1.0
- javax.jws:jsr181-api:jar:1.0-MR1
- javax.xml.stream:stax-api:jar:1.0-2

View file

@ -0,0 +1,70 @@
<?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-distribution</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<groupId>org.apache.tuscany.sca.aggregation</groupId>
<artifactId>tuscany-binding-rmi-runtime-aggregation</artifactId>
<name>Apache Tuscany SCA Binding RMI Runtime Aggregation</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-rmi-runtime</artifactId>
<version>${project.version}</version>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<!-- shades plugin but not worrying about manifests for the time being -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createSourcesJar>true</createSourcesJar>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,234 @@
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.
===============================================================================
This shaded jar also includes files uisng the following licenses:
===============================================================================
Permission to copy, display and distribute the Service Component Architecture Specification and/or
portions thereof, without modification, in any medium without fee or royalty is hereby granted, provided
that you include the following on ALL copies of the Service Component Architecture Specification, or
portions thereof, that you make:
1. A link or URL to the Service Component Architecture Specification at this location:
· http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications
2. The full text of the copyright notice as shown in the Service Component Architecture Specification.
BEA, Cape Clear, IBM, Interface21, IONA, Oracle, Primeton, Progress Software, Red Hat, Rogue Wave,
SAP, Siemens, Software AG., Sun, Sybase, TIBCO (collectively, the "Authors") agree to grant you a
royalty-free license, under reasonable, non-discriminatory terms and conditions to patents that they deem
necessary to implement the Service Component Architecture Specification.
THE Service Component Architecture SPECIFICATION IS PROVIDED "AS IS," AND THE
AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS,
INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE.
THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL
OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR
DISTRIBUTION OF THE Service Components Architecture SPECIFICATION.
The name and trademarks of the Authors may NOT be used in any manner, including advertising or
publicity pertaining to the Service Component Architecture Specification or its contents without specific,

View file

@ -0,0 +1,12 @@
Apache Tuscany Base Jar
Copyright (c) 2011 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
This product also includes software under the Service Component Architecture specification license
(see the LICENSE file contained in this distribution) with the following copyright
(c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA
Technologies, Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens
AG., Software AG., Sun Microsystems, Inc., Sybase Inc., TIBCO Software Inc., 2005, 2008. All rights reserved.

View file

@ -0,0 +1,31 @@
Apache Tuscany Base Jar
-----------------------
This jar is an agregation of the minimal set of Tuscany module jars that are required to use a Tuscany runtime.
Included in this jar are the modules to support using the Tuscany standalone, embedded, and webapp runtimes,
distributed domain support, SCA assembly support for contributions, composites, implementation.java, and binding.rmi.
Support for the JMS binding is also included but requires that the runtime environment supports JMS and JNDI, for example
when running within a Java EE container or by including a JMS provider (eg Apache ActiveMQ) in the runtime classpath.
This jar has the following dependencies:
- asm:asm:jar:3.1
- cglib:cglib:jar:2.2
- org.apache.ws.commons.schema:XmlSchema:jar:1.4.2
- com.hazelcast:hazelcast:jar:1.8 (optional, for distributed domain support)
When running with less than Java 1.6 the following are also required:
- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1
- org.codehaus.woodstox:wstx-asl:jar:3.2.4
- javax.xml.bind:jaxb-api:jar:2.1
- javax.activation:activation:jar:1.1
- com.sun.xml.bind:jaxb-impl:jar:2.1.12
- javax.xml.ws:jaxws-api:jar:2.1
- javax.annotation:jsr250-api:jar:1.0
- javax.jws:jsr181-api:jar:1.0-MR1
- javax.xml.stream:stax-api:jar:1.0-2

View file

@ -0,0 +1,70 @@
<?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-distribution</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<groupId>org.apache.tuscany.sca.aggregation</groupId>
<artifactId>tuscany-binding-ws-runtime-axis2-aggregation</artifactId>
<name>Apache Tuscany SCA Binding WS Runtime Axis2 Aggregation</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-ws-runtime-axis2</artifactId>
<version>${project.version}</version>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<!-- shades plugin but not worrying about manifests for the time being -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createSourcesJar>true</createSourcesJar>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,234 @@
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.
===============================================================================
This shaded jar also includes files uisng the following licenses:
===============================================================================
Permission to copy, display and distribute the Service Component Architecture Specification and/or
portions thereof, without modification, in any medium without fee or royalty is hereby granted, provided
that you include the following on ALL copies of the Service Component Architecture Specification, or
portions thereof, that you make:
1. A link or URL to the Service Component Architecture Specification at this location:
· http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications
2. The full text of the copyright notice as shown in the Service Component Architecture Specification.
BEA, Cape Clear, IBM, Interface21, IONA, Oracle, Primeton, Progress Software, Red Hat, Rogue Wave,
SAP, Siemens, Software AG., Sun, Sybase, TIBCO (collectively, the "Authors") agree to grant you a
royalty-free license, under reasonable, non-discriminatory terms and conditions to patents that they deem
necessary to implement the Service Component Architecture Specification.
THE Service Component Architecture SPECIFICATION IS PROVIDED "AS IS," AND THE
AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS,
INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE.
THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL
OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR
DISTRIBUTION OF THE Service Components Architecture SPECIFICATION.
The name and trademarks of the Authors may NOT be used in any manner, including advertising or
publicity pertaining to the Service Component Architecture Specification or its contents without specific,

View file

@ -0,0 +1,12 @@
Apache Tuscany Base Jar
Copyright (c) 2011 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
This product also includes software under the Service Component Architecture specification license
(see the LICENSE file contained in this distribution) with the following copyright
(c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA
Technologies, Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens
AG., Software AG., Sun Microsystems, Inc., Sybase Inc., TIBCO Software Inc., 2005, 2008. All rights reserved.

View file

@ -0,0 +1,31 @@
Apache Tuscany Base Jar
-----------------------
This jar is an agregation of the minimal set of Tuscany module jars that are required to use a Tuscany runtime.
Included in this jar are the modules to support using the Tuscany standalone, embedded, and webapp runtimes,
distributed domain support, SCA assembly support for contributions, composites, implementation.java, and binding.rmi.
Support for the JMS binding is also included but requires that the runtime environment supports JMS and JNDI, for example
when running within a Java EE container or by including a JMS provider (eg Apache ActiveMQ) in the runtime classpath.
This jar has the following dependencies:
- asm:asm:jar:3.1
- cglib:cglib:jar:2.2
- org.apache.ws.commons.schema:XmlSchema:jar:1.4.2
- com.hazelcast:hazelcast:jar:1.8 (optional, for distributed domain support)
When running with less than Java 1.6 the following are also required:
- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1
- org.codehaus.woodstox:wstx-asl:jar:3.2.4
- javax.xml.bind:jaxb-api:jar:2.1
- javax.activation:activation:jar:1.1
- com.sun.xml.bind:jaxb-impl:jar:2.1.12
- javax.xml.ws:jaxws-api:jar:2.1
- javax.annotation:jsr250-api:jar:1.0
- javax.jws:jsr181-api:jar:1.0-MR1
- javax.xml.stream:stax-api:jar:1.0-2

View file

@ -0,0 +1,58 @@
Manifest-Version: 1.0
Service-Component: OSGI-INF/serviceComponents.xml
Built-By: veithen
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Import-Package: javax.activation,javax.mail,javax.mail.internet,javax.
mail.util,javax.xml.namespace,javax.xml.stream,javax.xml.stream.util,
javax.xml.transform,javax.xml.transform.sax,org.apache.commons.loggin
g,org.jaxen;resolution:=optional,org.jaxen.saxpath;resolution:=option
al,org.jaxen.util;resolution:=optional,org.w3c.dom,org.xml.sax,org.xm
l.sax.ext,org.xml.sax.helpers, org.apache.axiom.om.impl.dom.factory;r
esolution:=optional,org.apache.axiom.om.impl.llom.factory;resolution:
=optional,org.apache.axiom.soap.impl.dom.factory;resolution:=optional
,org.apache.axiom.soap.impl.llom.soap11;resolution:=optional,org.apac
he.axiom.soap.impl.llom.soap12;resolution:=optional
Include-Resource: META-INF/DEPENDENCIES=target/maven-shared-archive-re
sources/META-INF/DEPENDENCIES,META-INF/LICENSE=target/maven-shared-ar
chive-resources/META-INF/LICENSE,META-INF/NOTICE=target/maven-shared-
archive-resources/META-INF/NOTICE,OSGI-INF/metatype/metatype.xml=targ
et/scr-plugin-generated/OSGI-INF/metatype/metatype.xml,OSGI-INF/scr-p
lugin/scrinfo.xml=target/scr-plugin-generated/OSGI-INF/scr-plugin/scr
info.xml,OSGI-INF/serviceComponents.xml=target/scr-plugin-generated/O
SGI-INF/serviceComponents.xml
Implementation-Vendor-Id: org.apache.ws.commons.axiom
Bnd-LastModified: 1288443040121
Bundle-Version: 1.2.10
Bundle-Name: Axiom API
Bundle-Description: The Axiom API
Build-Jdk: 1.5.0_24
Bundle-ManifestVersion: 2
Tool: Bnd-0.0.238
Specification-Vendor: The Apache Software Foundation
Implementation-Version: 1.2.10
Implementation-Vendor: The Apache Software Foundation
Specification-Title: Axiom API
Created-By: Apache Maven Bundle Plugin
Specification-Version: 1.2.10
Export-Package: org.apache.axiom.util.stax,org.apache.axiom.om.impl,or
g.apache.axiom.om.impl.serialize,org.apache.axiom.util,org.apache.axi
om.soap.impl.builder,org.apache.axiom.util.base64,org.apache.axiom.ex
t.io,org.apache.axiom.ext.stax.datahandler,org.apache.axiom.om.impl.u
til,org.apache.axiom.om.impl.exception,org.apache.axiom.mime,org.apac
he.axiom.util.stax.xop,org.apache.axiom.util.blob,org.apache.axiom.os
gi,org.apache.axiom.util.stax.dialect,org.apache.axiom.om,org.apache.
axiom.util.stax.wrapper,org.apache.axiom.om.impl.jaxp,org.apache.axio
m.om.ds.custombuilder,org.apache.axiom.attachments.impl,org.apache.ax
iom.om.xpath,org.apache.axiom.util.activation,org.apache.axiom.om.uti
l,org.apache.axiom.attachments.lifecycle,org.apache.axiom.util.namesp
ace,org.apache.axiom.om.impl.traverse,org.apache.axiom.util.stax.debu
g,org.apache.axiom.attachments.utils,org.apache.axiom.soap,org.apache
.axiom.ext.activation,org.apache.axiom.attachments,org.apache.axiom.m
ime.impl.javamail,org.apache.axiom.ext.stax,org.apache.axiom.attachme
nts.lifecycle.impl,org.apache.axiom.om.ds,org.apache.axiom.om.impl.bu
ilder
Bundle-DocURL: http://www.apache.org/
Bundle-Vendor: The Apache Software Foundation
Bundle-SymbolicName: org.apache.ws.commons.axiom.axiom-api
Implementation-Title: Axiom API

View file

@ -0,0 +1,36 @@
Manifest-Version: 1.0
Specification-Title: Axiom Impl
Service-Component: OSGI-INF/serviceComponents.xml
Built-By: veithen
Created-By: Apache Maven Bundle Plugin
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Import-Package: javax.activation,javax.xml.namespace,javax.xml.stream,
org.apache.axiom.attachments,org.apache.axiom.attachments.utils,org.a
pache.axiom.ext.stax.datahandler,org.apache.axiom.om,org.apache.axiom
.om.impl,org.apache.axiom.om.impl.builder,org.apache.axiom.om.impl.ex
ception,org.apache.axiom.om.impl.serialize,org.apache.axiom.om.impl.t
raverse,org.apache.axiom.om.impl.util,org.apache.axiom.om.util,org.ap
ache.axiom.soap,org.apache.axiom.soap.impl.builder,org.apache.axiom.u
til,org.apache.axiom.util.base64,org.apache.axiom.util.namespace,org.
apache.axiom.util.stax,org.apache.commons.logging
Specification-Version: 1.2.10
Implementation-Vendor-Id: org.apache.ws.commons.axiom
Bnd-LastModified: 1288443136116
Bundle-Version: 1.2.10
Bundle-Name: Axiom Impl
Bundle-Description: The Axiom default implementation.
Build-Jdk: 1.5.0_24
Bundle-DocURL: http://www.apache.org/
Export-Package: org.apache.axiom.om.impl.llom;version=1.2.10,org.apach
e.axiom.om.impl.llom.factory;version=1.2.10,org.apache.axiom.om.impl.
llom.util;version=1.2.10,org.apache.axiom.soap.impl.llom;version=1.2.
10,org.apache.axiom.soap.impl.llom.soap11;version=1.2.10,org.apache.a
xiom.soap.impl.llom.soap12;version=1.2.10
Bundle-ManifestVersion: 2
Bundle-Vendor: The Apache Software Foundation
Bundle-SymbolicName: org.apache.ws.commons.axiom.axiom-impl
Implementation-Title: Axiom Impl
Tool: Bnd-0.0.238
Specification-Vendor: The Apache Software Foundation
Implementation-Version: 1.2.10
Implementation-Vendor: The Apache Software Foundation

View file

@ -0,0 +1,39 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.apache.axis2.osgi
Bundle-Name: org.apache.axis2.osgi
Bundle-Version: 1.5.3
DynamicImport-Package: javax.transaction;version="1.1",javax.transacti
on.xa;version="1.1",*
Bundle-ClassPath: axis2-1.5.3-jar.jar
Export-Package: org.apache.axis2.client;version=1.5.3,org.apache.axis2
.transaction;version=1.5.3,org.apache.axis2.classloader;version=1.5.3
,org.apache.axis2.wsdl.util;version=1.5.3,org.apache.axis2.descriptio
n.java2wsdl.bytecode;version=1.5.3,org.apache.axis2.handlers;version=
1.5.3,org.apache.axis2.dispatchers;version=1.5.3,org.apache.axis2.clu
stering.configuration;version=1.5.3,org.apache.axis2.java.security;ve
rsion=1.5.3,org.apache.axis2.phaseresolver;version=1.5.3,
org.apache.axis2.transport.http;version=1.5.3,
org.apache.axis2.transport.http.server;version=1.5.3,
org.apache.axis2.transport.http.util;version=1.5.3,
org.apache.axis2.addressing.ws
dl;version=1.5.3,org.apache.axis2.description;version=1.5.3,org.apach
e.axis2.description.java2wsdl;version=1.5.3,org.apache.axis2.addressi
ng.i18n;version=1.5.3,org.apache.axis2.deployment.repository.util;ver
sion=1.5.3,org.apache.axis2.modules;version=1.5.3,org.apache.axis2.de
ployment.resolver;version=1.5.3,org.apache.axis2.client.async;version
=1.5.3,org.apache.axis2.builder;version=1.5.3,org.apache.axis2.util;v
ersion=1.5.3,org.apache.axis2.clustering;version=1.5.3,org.apache.axi
s2.clustering.context;version=1.5.3,org.apache.axis2.builder.unknownc
ontent;version=1.5.3,org.apache.axis2.dataretrieval.client;version=1.
5.3,org.apache.axis2.context.externalize;version=1.5.3,org.apache.axi
s2.dataretrieval;version=1.5.3,org.apache.axis2.addressing.metadata;v
ersion=1.5.3,org.apache.axis2.receivers;version=1.5.3,org.apache.axis
2.deployment.scheduler;version=1.5.3,org.apache.axis2;version=1.5.3,o
rg.apache.axis2.deployment;version=1.5.3,org.apache.axis2.deployment.
util;version=1.5.3,org.apache.axis2.util.threadpool;version=1.5.3,org
.apache.axis2.i18n;version=1.5.3,org.apache.axis2.engine;version=1.5.
3,org.apache.axis2.wsdl;version=1.5.3,org.apache.axis2.transport;vers
ion=1.5.3,org.apache.axis2.addressing;version=1.5.3,org.apache.axis2.
namespace;version=1.5.3,org.apache.axis2.context;version=1.5.3,org.ap
ache.axis2.service;version=1.5.3

View file

@ -0,0 +1,229 @@
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: 1.4.2_17 (Sun Microsystems Inc.)
Built-By: dims
Build-Jdk: 1.4.2_17
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Import-Package: com.ibm.wsdl.util,
com.ibm.wsdl.util.xml,
javax.wsdl,
javax.wsdl.extensions,
javax.wsdl.extensions.soap,
javax.wsdl.factory,
javax.wsdl.xml,
javax.xml.namespace,
javax.xml.parsers,
org.apache.woden;version="1.0",
org.apache.woden.internal;version="1.0.0",
org.apache.woden.internal.resolver;version="1.0.0",
org.apache.woden.internal.schema;version="1.0.0",
org.apache.woden.internal.util;version="1.0.0",
org.apache.woden.internal.util.dom;version="1.0.0",
org.apache.woden.internal.wsdl20;version="1.0.0",
org.apache.woden.internal.wsdl20.assertions;version="1.0.0",
org.apache.woden.internal.wsdl20.extensions;version="1.0.0",
org.apache.woden.internal.wsdl20.extensions.http;version="1.0.0",
org.apache.woden.internal.wsdl20.extensions.rpc;version="1.0.0",
org.apache.woden.internal.wsdl20.extensions.soap;version="1.0.0",
org.apache.woden.internal.wsdl20.validation;version="1.0.0",
org.apache.woden.internal.xml;version="1.0.0",
org.apache.woden.internal.xpointer;version="1.0.0",
org.apache.woden.resolver;version="1.0",
org.apache.woden.schema;version="1.0",
org.apache.woden.tool.converter;version="1.0.0",
org.apache.woden.types;version="1.0",
org.apache.woden.wsdl20;version="1.0",
org.apache.woden.wsdl20.enumeration;version="1.0",
org.apache.woden.wsdl20.extensions;version="1.0",
org.apache.woden.wsdl20.extensions.http;version="1.0",
org.apache.woden.wsdl20.extensions.rpc;version="1.0",
org.apache.woden.wsdl20.extensions.soap;version="1.0",
org.apache.woden.wsdl20.fragids;version="1.0",
org.apache.woden.wsdl20.validation;version="1.0",
org.apache.woden.wsdl20.xml;version="1.0",
org.apache.woden.xml;version="1.0",
org.apache.woden.xpointer;version="1.0",
org.apache.ws.commons.schema,
org.apache.ws.commons.schema.resolver,
org.apache.ws.commons.schema.utils,
org.apache.xerces.parsers,
org.apache.xml.serialize,
org.w3c.dom,
org.xml.sax
Bnd-LastModified: 1208980539265
Export-Package: javax.xml.namespace,
org.apache.woden.internal;version="1.0.0";
uses:="org.apache.woden.wsdl20,
org.apache.woden.schema,
org.apache.xerces.parsers,
javax.xml.namespace,
org.apache.woden.xml,
org.apache.woden.wsdl20.extensions,
org.apache.woden.resolver,
org.apache.woden.internal.schema,
javax.xml.parsers,
org.apache.woden.wsdl20.xml,
org.xml.sax,
org.apache.ws.commons.schema,
org.w3c.dom,
org.apache.woden,
org.apache.woden.internal.wsdl20,
org.apache.woden.internal.xpointer,
org.apache.woden.internal.util.dom,
org.apache.ws.commons.schema.resolver,
org.apache.woden.internal.wsdl20.extensions,
org.apache.woden.xpointer,
org.apache.woden.internal.wsdl20.validation,
org.apache.woden.wsdl20.enumeration,
org.apache.woden.types,
org.apache.woden.internal.resolver,
org.apache.woden.internal.util",
org.apache.woden.internal.resolver;version="1.0.0";
uses:="org.apache.ws.commons.schema.resolver,
org.xml.sax,
org.apache.xml.serialize,
org.w3c.dom,
org.apache.woden,
org.apache.woden.resolver,
org.apache.woden.internal.util",
org.apache.woden.internal.schema;version="1.0.0";
uses:="org.apache.woden.schema,
org.apache.ws.commons.schema,
javax.xml.namespace,
org.apache.woden",
org.apache.woden.internal.util;version="1.0.0",
org.apache.woden.internal.util.dom;version="1.0.0";
uses:="javax.xml.namespace,
org.w3c.dom,
org.apache.woden,
org.apache.woden.internal.util",
org.apache.woden.internal.wsdl20;version="1.0.0";
uses:="org.apache.woden.wsdl20,
org.apache.woden.schema,
org.apache.woden.wsdl20.extensions.rpc,
org.apache.ws.commons.schema,
javax.xml.namespace,
org.apache.woden.xml,
org.apache.woden,
org.apache.woden.wsdl20.extensions,
org.apache.woden.wsdl20.fragids,
org.apache.woden.internal,
org.apache.woden.internal.wsdl20.extensions,
org.apache.ws.commons.schema.utils,
org.apache.woden.internal.schema,
org.apache.woden.wsdl20.enumeration,
org.apache.woden.wsdl20.xml,
org.apache.woden.types",
org.apache.woden.internal.wsdl20.assertions;version="1.0.0";
uses:="org.apache.woden.wsdl20,
org.apache.woden.wsdl20.validation,
javax.xml.namespace,
org.apache.woden.wsdl20.xml,
org.apache.woden,
org.apache.woden.resolver,
org.apache.woden.internal",
org.apache.woden.internal.wsdl20.extensions;version="1.0.0";
uses:="org.apache.woden.wsdl20,
org.apache.woden.wsdl20.extensions.http,
org.apache.woden.internal.wsdl20.extensions.http,
org.apache.woden.internal.xml,
org.apache.woden.internal.wsdl20.extensions.soap,
org.apache.woden.wsdl20.extensions.rpc,
javax.xml.namespace,
org.apache.woden.xml,
org.apache.woden,
org.apache.woden.wsdl20.extensions,
org.apache.woden.internal.wsdl20.extensions.rpc,
org.apache.woden.wsdl20.xml,
org.apache.woden.wsdl20.extensions.soap,
org.apache.woden.internal.util",
org.apache.woden.internal.wsdl20.extensions.http;version="1.0.0";
uses:="org.apache.woden.wsdl20,
org.apache.woden.wsdl20.extensions.http,
org.apache.woden.internal.xml,
org.apache.ws.commons.schema,
javax.xml.namespace,
org.apache.woden.xml,
org.apache.woden.internal.wsdl20,
org.apache.woden,
org.apache.woden.wsdl20.extensions,
org.apache.woden.internal,
org.apache.woden.internal.wsdl20.extensions,
org.apache.woden.wsdl20.xml",
org.apache.woden.internal.wsdl20.extensions.rpc;version="1.0.0";
uses:="org.apache.woden.wsdl20,
org.apache.woden.wsdl20.extensions.rpc,
javax.xml.namespace,
org.apache.woden.xml,
org.apache.woden.wsdl20.xml,
org.apache.woden,
org.apache.woden.wsdl20.extensions",
org.apache.woden.internal.wsdl20.extensions.soap;version="1.0.0";
uses:="org.apache.woden.wsdl20,
org.apache.woden.wsdl20.extensions.http,
org.apache.woden.internal.xml,
org.apache.ws.commons.schema,
javax.xml.namespace,
org.apache.woden.xml,
org.apache.woden,
org.apache.woden.internal.wsdl20,
org.apache.woden.wsdl20.extensions,
org.apache.woden.internal,
org.apache.woden.internal.wsdl20.extensions,
org.apache.woden.wsdl20.xml,
org.apache.woden.wsdl20.extensions.soap",
org.apache.woden.internal.wsdl20.validation;version="1.0.0";
uses:="org.apache.woden.wsdl20,
org.apache.woden.wsdl20.validation,
org.apache.woden.schema,
org.apache.woden.internal.wsdl20.assertions,
org.apache.ws.commons.schema,
javax.xml.namespace,
org.apache.woden,
org.apache.woden.wsdl20.extensions,
org.apache.woden.resolver,
org.apache.woden.internal,
org.apache.woden.types,
org.apache.woden.wsdl20.xml",
org.apache.woden.internal.xml;version="1.0.0";
uses:="org.apache.woden.wsdl20.extensions.http,
org.apache.woden.wsdl20.extensions.rpc,
javax.xml.namespace,
org.apache.woden.xml,
org.apache.woden,
org.apache.woden.internal.util,
org.apache.woden.internal",
org.apache.woden.internal.xpointer;version="1.0.0";
uses:="org.apache.woden.xpointer,
org.apache.woden.types,
org.w3c.dom,
org.apache.woden,
org.apache.woden.internal",
org.apache.woden.tool.converter;version="1.0.0";
uses:="javax.wsdl,
javax.wsdl.extensions,
javax.wsdl.extensions.soap,
javax.wsdl.xml,
javax.wsdl.factory,
javax.xml.namespace,
com.ibm.wsdl.util,
com.ibm.wsdl.util.xml"
Bundle-Version: 1.0.0
Bundle-Description: The Woden project is a subproject of the Apache We
b Services Project to develop a Java class library for reading, ma
nipulating, creating and writing WSDL documents, initially to supp
ort WSDL 2.0 but with the longer term aim of supporting past, present
and future versions of WSDL. There are two main deliverables:
an API and an implementation. The Woden API consists of a set of J
ava interfaces. The WSDL 2.0-specific portion of the Woden API confor
ms to the W3C WSDL 2.0 specification. The implementation will be a
high performance implementation directly usable in other Apache p
rojects such as Axis2.
Bundle-Name: Woden - DOM
Bundle-DocURL: http://www.apache.org/
Bundle-ManifestVersion: 2
Bundle-Vendor: Apache Software Foundation
Bundle-SymbolicName: org.apache.woden.woden-impl-dom
Tool: Bnd-0.0.238

View file

@ -0,0 +1,483 @@
<?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-distribution</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>tuscany-distribution-all</artifactId>
<name>Apache Tuscany SCA All-in-one Distribution</name>
<packaging>pom</packaging>
<repositories>
<repository>
<id>java.net2</id>
<name>java.net Maven 2.x Repository</name>
<url>http://download.java.net/maven/2</url>
</repository>
<repository>
<id>intalio.org</id>
<url>http://www.intalio.org/public/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>openejb-repository</id>
<name>OpenEJB Repository</name>
<url>http://svn.apache.org/repos/asf/openejb/repo</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<dependencies>
<!-- module jars for modules directory -->
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-feature-all</artifactId>
<type>pom</type>
<version>2.0-Beta3-SNAPSHOT</version>
</dependency>
<!-- aggregation jars for lib directory -->
<dependency>
<groupId>org.apache.tuscany.sca.aggregation</groupId>
<artifactId>tuscany-base-runtime-aggregation</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca.aggregation</groupId>
<artifactId>tuscany-binding-rmi-runtime-aggregation</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca.aggregation</groupId>
<artifactId>tuscany-binding-ws-runtime-axis2-aggregation</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<useDistributionName>false</useDistributionName>
<generateAggregatedBundle>false</generateAggregatedBundle>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-3</version>
<executions>
<execution>
<id>distribution-package</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/bin-default.xml</descriptor>
</descriptors>
<tarLongFileMode>gnu</tarLongFileMode>
<finalName>apache-tuscany-sca-all-${project.version}</finalName>
<appendAssemblyId>true</appendAssemblyId>
<ignoreDirFormatExtensions>false</ignoreDirFormatExtensions>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release</id>
<activation>
<property>
<name>buildZips</name>
<value>true</value>
</property>
</activation>
<properties>
<useDistributionName>false</useDistributionName>
<generateAggregatedBundle>false</generateAggregatedBundle>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
<executions>
<execution>
<id>distribution-package</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/bin-distribution.xml</descriptor>
<descriptor>src/main/assembly/src.xml</descriptor>
</descriptors>
<tarLongFileMode>gnu</tarLongFileMode>
<finalName>apache-tuscany-sca-all-${project.version}</finalName>
<appendAssemblyId>true</appendAssemblyId>
<ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
<attach>true</attach>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>singlebundle</id>
<properties>
<useDistributionName>true</useDistributionName>
<generateAggregatedBundle>true</generateAggregatedBundle>
</properties>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-bundle-plugin</artifactId>
<version>1.0.8</version>
<executions>
<execution>
<id>distribution-modules</id>
<phase>generate-resources</phase>
<goals>
<goal>generate-modules</goal>
</goals>
<configuration>
<targetDirectory>target/modules</targetDirectory>
<useDistributionName>${useDistributionName}</useDistributionName>
<generateAggregatedBundle>${generateAggregatedBundle}</generateAggregatedBundle>
<generateManifestJar>true</generateManifestJar>
<featuresName>features</featuresName>
<excludeGroupIds>
<groupId>org.apache.tuscany.sca.aggregation</groupId>
</excludeGroupIds>
<artifactManifests>
<!--
<artifactManifest>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-api</artifactId>
<version>1.2.10</version>
<manifestFile>${basedir}/manifests/axiom-api-1.2.10.MF</manifestFile>
</artifactManifest>
<artifactManifest>
<groupId>org.apache.woden</groupId>
<artifactId>woden-impl-dom</artifactId>
<version>1.0M8</version>
<manifestFile>${basedir}/manifests/woden-impl-dom-1.0M8.MF</manifestFile>
</artifactManifest>
-->
<!-- artifactAggregations (below) is the right approach to solving the split
package between axis-kernel and axis2-transport-http however the Tuscany
runtime doesn't take any notice of it so using a fragment at the moment -->
<artifactManifest>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-kernel</artifactId>
<version>1.5.3</version>
<manifestFile>${basedir}/manifests/axis2-kernel-1.5.3.MF</manifestFile>
</artifactManifest>
<artifactManifest>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-http</artifactId>
<version>1.5.3</version>
<manifestFile>${basedir}/manifests/axis2-transport-http-1.5.3.MF</manifestFile>
</artifactManifest>
<artifactManifest>
<groupId>org.apache.axis2</groupId>
<artifactId>*</artifactId>
<version>*</version>
</artifactManifest>
</artifactManifests>
<!--artifactAggregations>
<artifactAggregation>
<symbolicName>org.apache.tuscany.sca.axis2-kernel</symbolicName>
<version>1.5.3</version>
<artifactMembers>
<artifactMember>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-kernel</artifactId>
<version>1.5.3</version>
</artifactMember>
<artifactMember>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-http</artifactId>
<version>1.5.3</version>
</artifactMember>
</artifactMembers>
</artifactAggregation>
</artifactAggregations-->
</configuration>
</execution>
<!--
The following execution must repeat the same set of artifact
manifests as the previous one so that the dependency set that
that th executions are working against is the same.
-->
<execution>
<id>extensions-build</id>
<phase>process-resources</phase>
<goals>
<goal>generate-meta-data</goal>
</goals>
<configuration>
<generateModules>false</generateModules>
<useDistributionName>false</useDistributionName>
<generateManifestJar>true</generateManifestJar>
<generateConfig>false</generateConfig>
<generateAntScript>true</generateAntScript>
<generateTargetPlatform>false</generateTargetPlatform>
<generateAggregatedBundle>false</generateAggregatedBundle>
<featuresName>features</featuresName>
<features>
<feature>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-base-runtime-pom</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</feature>
</features>
<extensions>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-atom-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-commet-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-corba-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-ejb-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-hazelcase-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-jms-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-jsonp-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-rest-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-rmi-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-rss-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-ws-runtime-axis2</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-bpel-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-jaxes-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-osgi-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-python-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-script-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-spring-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-web-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-widget-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
<extension>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-host-jetty</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</extension>
</extensions>
<artifactManifests>
<!--
<artifactManifest>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-api</artifactId>
<version>1.2.10</version>
<manifestFile>${basedir}/manifests/axiom-api-1.2.10.MF</manifestFile>
</artifactManifest>
-->
<artifactManifest>
<groupId>org.apache.woden</groupId>
<artifactId>woden-impl-dom</artifactId>
<version>1.0M8</version>
<manifestFile>${basedir}/manifests/woden-impl-dom-1.0M8.MF</manifestFile>
</artifactManifest>
<artifactManifest>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-kernel</artifactId>
<version>1.5.3</version>
<manifestFile>${basedir}/manifests/axis2-kernel-1.5.3.MF</manifestFile>
</artifactManifest>
<artifactManifest>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-transport-http</artifactId>
<version>1.5.3</version>
<manifestFile>${basedir}/manifests/axis2-transport-http-1.5.3.MF</manifestFile>
</artifactManifest>
<artifactManifest>
<groupId>org.apache.axis2</groupId>
<artifactId>*</artifactId>
<version>*</version>
</artifactManifest>
</artifactManifests>
</configuration>
</execution>
<!--
<execution>
<id>distribution-singlebundle</id>
<phase>process-resources</phase>
<goals>
<goal>aggregate-modules</goal>
</goals>
</execution>
-->
</executions>
<dependencies>
<dependency>
<groupId>org.eclipse</groupId>
<artifactId>osgi</artifactId>
<version>3.3.0-v20070530</version>
</dependency>
</dependencies>
</plugin>
<!--plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>distribution-package</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/bin.xml</descriptor>
<descriptor>src/main/assembly/src.xml</descriptor>
</descriptors>
<tarLongFileMode>gnu</tarLongFileMode>
<finalName>apache-tuscany-sca-all-${project.version}</finalName>
<appendAssemblyId>true</appendAssemblyId>
<ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
</configuration>
</execution>
</executions>
</plugin-->
</plugins>
</build>
</project>

View file

@ -0,0 +1,37 @@
<?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.
-->
<assembly>
<!-- id typically identifies the "type" (src vs bin etc) of the assembly -->
<id></id>
<includeBaseDirectory>true</includeBaseDirectory>
<baseDirectory>tuscany-sca-${version}</baseDirectory>
<formats>
<format>dir</format>
</formats>
<componentDescriptors>
<componentDescriptor>src/main/components/bin-common.xml</componentDescriptor>
<componentDescriptor>src/main/components/bin-lib.xml</componentDescriptor>
<componentDescriptor>src/main/components/bin-modules.xml</componentDescriptor>
<componentDescriptor>src/main/components/bin-samples.xml</componentDescriptor>
<componentDescriptor>src/main/components/bin-launcher.xml</componentDescriptor>
<componentDescriptor>src/main/components/bin-tracing.xml</componentDescriptor>
</componentDescriptors>
</assembly>

View file

@ -0,0 +1,37 @@
<?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.
-->
<assembly>
<!-- id typically identifies the "type" (src vs bin etc) of the assembly -->
<id></id>
<includeBaseDirectory>true</includeBaseDirectory>
<baseDirectory>tuscany-sca-${version}</baseDirectory>
<formats>
<format>tar.gz</format>
<format>zip</format>
</formats>
<componentDescriptors>
<componentDescriptor>src/main/components/bin-common.xml</componentDescriptor>
<componentDescriptor>src/main/components/bin-lib.xml</componentDescriptor>
<componentDescriptor>src/main/components/bin-modules.xml</componentDescriptor>
<componentDescriptor>src/main/components/bin-samples.xml</componentDescriptor>
<componentDescriptor>src/main/components/bin-launcher.xml</componentDescriptor>
</componentDescriptors>
</assembly>

View file

@ -0,0 +1,49 @@
<?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.
-->
<assembly>
<!-- id typically identifies the "type" (src vs bin etc) of the assembly -->
<id>src</id>
<includeBaseDirectory>true</includeBaseDirectory>
<baseDirectory>tuscany-sca-${version}-src</baseDirectory>
<formats>
<format>tar.gz</format>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>../..</directory>
<outputDirectory></outputDirectory>
<excludes>
<exclude>**/.*</exclude>
<exclude>**/.*/**</exclude>
<exclude>**/*.log</exclude>
<exclude>**/target</exclude>
<exclude>**/target/**/*</exclude>
<exclude>**/maven-eclipse.xml</exclude>
<exclude>**/dependency-reduced-pom.xml</exclude>
<exclude>modules/web-javascript-dojo/src/main/resources/dojo/**</exclude>
<exclude>samples/learning-more/binding-jsonrpc/calculator-webapp/src/main/webapp/dojo/**</exclude>
<exclude>unreleased</exclude>
<exclude>unreleased/**</exclude>
</excludes>
</fileSet>
</fileSets>
</assembly>

View file

@ -0,0 +1,43 @@
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<component>
<fileSets>
<!-- Add the text files to the top-level directroy -->
<fileSet>
<directory>../..</directory>
<outputDirectory></outputDirectory>
<includes>
<include>CHANGES</include>
<include>README</include>
<include>RELEASE_NOTES</include>
</includes>
</fileSet>
<fileSet>
<directory>src/main/release/bin</directory>
<outputDirectory></outputDirectory>
<includes>
<include>INSTALL</include>
<include>LICENSE</include>
<include>NOTICE</include>
</includes>
</fileSet>
</fileSets>
</component>

View file

@ -0,0 +1,40 @@
<!--
* 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.
-->
<component>
<fileSets>
<fileSet>
<directory>src/main/release/launcher</directory>
<outputDirectory>bin</outputDirectory>
<includes>
</includes>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>bin</outputDirectory>
<unpack>false</unpack>
<includes>
<include>org.apache.tuscany.sca:tuscany-launcher</include>
</includes>
<outputFileNameMapping>launcher.jar</outputFileNameMapping>
</dependencySet>
</dependencySets>
</component>

View file

@ -0,0 +1,70 @@
<!--
* 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.
-->
<component>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<useTransitiveDependencies>true</useTransitiveDependencies>
<unpack>false</unpack>
<includes>
<include>org.apache.tuscany.sca.aggregation:tuscany-base-runtime-aggregation</include>
<include>org.apache.tuscany.sca.aggregation:tuscany-binding-rmi-runtime-aggregation</include>
<include>org.apache.tuscany.sca.aggregation:tuscany-binding-ws-runtime-axis2-aggregation</include>
<!-- needed by some of the sample build scripts but don't think we actually need to put this here -->
<include>org.apache.tuscany.sca:tuscany-sca-api</include>
</includes>
</dependencySet>
<!-- dependencies referring to the shade jars, disabling for the time being
<dependencySet>
<outputDirectory>lib</outputDirectory>
<useTransitiveDependencies>true</useTransitiveDependencies>
<unpack>false</unpack>
<includes>
<include>org.apache.tuscany.sca.shades:tuscany-base</include>
<include>org.apache.ws.commons.schema:XmlSchema</include>
<include>cglib:cglib</include>
<include>com.hazelcast:*</include>
<include>wsdl4j:wsdl4j</include>
<include>org.apache.tuscany.sca:tuscany-sca-api</include>
</includes>
</dependencySet>
<dependencySet>
<outputDirectory>lib/spring</outputDirectory>
<useTransitiveDependencies>true</useTransitiveDependencies>
<unpack>false</unpack>
<includes>
<include>org.apache.tuscany.sca.shades:tuscany-spring</include>
<include>org.springframework:*</include>
</includes>
</dependencySet>
-->
</dependencySets>
<fileSets>
<fileSet>
<directory>src/main/release/bin/</directory>
<outputDirectory>lib</outputDirectory>
<includes>
<include>README</include>
</includes>
</fileSet>
</fileSets>
</component>

View file

@ -0,0 +1,35 @@
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<component>
<fileSets>
<fileSet>
<directory>target</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>modules/**/*</include>
<include>features/**/*</include>
</includes>
<excludes>
<exclude>org.aspectj:aspectjweaver</exclude>
<exclude>org.apache.tuscany.sca.shades:*</exclude>
</excludes>
</fileSet>
</fileSets>
</component>

View file

@ -0,0 +1,72 @@
<!--
* 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.
-->
<component>
<fileSets>
<!-- Add top level samples files -->
<fileSet>
<directory>../../samples</directory>
<outputDirectory>samples</outputDirectory>
<excludes>
<!-- General file/folders to exclude -->
<exclude>**/.*</exclude>
<exclude>**/.*/**</exclude>
<exclude>**/*.log</exclude>
<exclude>**/*.svg</exclude>
<exclude>**/maven-eclipse.xml</exclude>
<exclude>**/target/mvn-eclipse-cache.properties</exclude>
<exclude>**/target/pom-transformed.xml</exclude>
<exclude>**/target/classes</exclude>
<exclude>**/target/classes/**/*</exclude>
<exclude>**/target/dependency-maven-plugin-markers</exclude>
<exclude>**/target/equinox/**/*</exclude>
<exclude>**/target/equinox</exclude>
<exclude>**/target/dependency-maven-plugin-markers/**/*</exclude>
<exclude>**/target/.felix</exclude>
<exclude>**/target/.felix/**/*</exclude>
<exclude>**/target/generated-sources</exclude>
<exclude>**/target/generated-sources/**/*</exclude>
<exclude>**/target/logs</exclude>
<exclude>**/target/maven-archiver</exclude>
<exclude>**/target/maven-archiver/**/*</exclude>
<exclude>**/target/maven-shared-archive-resources</exclude>
<exclude>**/target/maven-shared-archive-resources/**/*</exclude>
<exclude>**/target/test-classes</exclude>
<exclude>**/target/test-classes/**/*</exclude>
<exclude>**/target/sdo-source</exclude>
<exclude>**/target/sdo-source/**/*</exclude>
<exclude>**/target/surefire</exclude>
<exclude>**/target/surefire/**/*</exclude>
<exclude>**/target/surefire-reports</exclude>
<exclude>**/target/surefire-reports/**/*</exclude>
<exclude>**/target/surefire-osgi-reports</exclude>
<exclude>**/target/surefire-osgi-reports/**/*</exclude>
<exclude>**/target/war</exclude>
<exclude>**/target/war/**/*</exclude>
<exclude>**/target/work</exclude>
<exclude>**/target/work/**/*</exclude>
<exclude>**/*-webapp/target</exclude>
<exclude>**/*-webapp/target/**/*</exclude>
<exclude>**/*-webapp/src/main/webapp/dojo/**/*</exclude>
<exclude>**/implementation-web/**/target</exclude>
<exclude>**/implementation-web/**/target/**/*</exclude>
<exclude>**/implementation-web/**/src/main/webapp/dojo/**/*</exclude>
</excludes>
</fileSet>
</fileSets>
</component>

View file

@ -0,0 +1,39 @@
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<component>
<fileSets>
<fileSet>
<directory>src/main/release/tracing</directory>
<outputDirectory>bin</outputDirectory>
<includes/>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>bin</outputDirectory>
<unpack>false</unpack>
<includes>
<include>org.aspectj:aspectjweaver</include>
</includes>
<outputFileNameMapping>aspectjweaver.jar</outputFileNameMapping>
</dependencySet>
</dependencySets>
</component>

View file

@ -0,0 +1,27 @@
Installing the Apache Tuscany SCA binary distribution
=====================================================
Unzip Tuscany binary distribution archive and you get the following:
tuscany-sca-<version>
CHANGES - A note of the major changes in this release
INSTALL - this help file
LICENSE - the Apache License and any dependency licenses
NOTICE - attribution notices associated with the licenses
README - readme for the release
RELEASE_NOTES - description of this release
/bin - Tuscany launcher (for use when running tuscany from the command line)
/features - OSGi runtime configuration, Tuscany manifest and PDE target
/lib - coarse grained jars to ease classpath creation without having to rely
on the Tuscany distribution structure.
/modules - all of the individual Tuscany jars and their dependencies
/samples - all the Tuscany samples, see the README in that directory

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,5 @@
Apache Tuscany
Copyright (c) 2005 - 2011 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

View file

@ -0,0 +1,42 @@
The bin folder contains bat and shell scripts to help with using Tuscany.
You can use the "tuscany.bat" script to start a standalone runtime and
deploy your SCA contributions.
For example, change to the implementation-java-calculator sample included
in the Tuscany distribution and enter the following command:
..\..\bin\tuscany.bat target\implementation-java-calculator.jar
The script also supports things such as using a Java remote debugger,
for help enter use the "/?" parameter, eg:
..\..\bin\tuscany.bat /?
To simplify the use of the script add the absolute file path of the bin
folder to your environment path:
set PATH=%PATH%;\Tuscany\tuscany-sca-2.0-M4\bin
and that enables running the script by just "tuscany", for example, in the
implementation-java-calculator sample again you can enter:
tuscany target\implementation-java-calculator.jar
Tuscany developers may find it useful to add the script from their SVN checkout
development build to their environment so as to start runtimes using their local
trunk build, for example:
set PATH=%PATH%;\Tuscany\SVN\trunk\distribution\all\target\apache-tuscany-sca-all-2.0-Beta3-SNAPSHOT-dir\tuscany-sca-2.0-Beta3-SNAPSHOT\bin

View file

@ -0,0 +1,22 @@
#
# 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.
#
classpath=modules/**
mainClass=[firstArgJarManifestMainClass]|org.apache.tuscany.sca.shell.Shell
-Djava.util.logging.config.file={TUSCANY_HOME}/bin/logging.properties

View file

@ -0,0 +1,25 @@
#
# 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.
#
handlers= java.util.logging.ConsoleHandler
.level = WARNING
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
org.apache.tuscany.sca.level = WARNING

View file

@ -0,0 +1,21 @@
#
# 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.
#
classpath=modules/**
-Djava.util.logging.config.file={TUSCANY_HOME}/samples/logging.properties
mainClass=org.apache.tuscany.sca.node.equinox.launcher.NodeLauncher2

View file

@ -0,0 +1,84 @@
@echo off
REM # Licensed to the Apache Software Foundation (ASF) under one
REM # or more contributor license agreements. See the NOTICE file
REM # distributed with this work for additional information
REM # regarding copyright ownership. The ASF licenses this file
REM # to you under the Apache License, Version 2.0 (the
REM # "License"); you may not use this file except in compliance
REM # with the License. You may obtain a copy of the License at
REM #
REM # http://www.apache.org/licenses/LICENSE-2.0
REM #
REM # Unless required by applicable law or agreed to in writing,
REM # software distributed under the License is distributed on an
REM # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
REM # KIND, either express or implied. See the License for the
REM # specific language governing permissions and limitations
REM # under the License.
REM TODO: can't get these to work yet when using the tribes domaim URI in quotes
if "%1".=="/?". goto help
if "%1".=="-help". goto help
if "%1".=="-help". goto help
if not "%TUSCANY_HOME%"=="" goto gotHome
SET TUSCANY_HOME=%~dp0\..
if not "%TUSCANY_HOME%"=="" goto gotHome
echo.
echo cannot find TUSCANY_HOME please set TUSCANY_HOME variable to the Tuscany installation dir
echo.
goto error
:gotHome
set _XDEBUG=
if not "%1"=="debug" goto skipDebug
set _XDEBUG=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
shift
:skipDebug
set _FORK=
if not "%1"=="fork" goto skipFork
set _FORK=start
shift
:skipFORK
set _CMD_LINE_ARGS=
:argsLoop
if %1a==a goto doneInit
set _CMD_LINE_ARGS=%_CMD_LINE_ARGS% %1
shift
goto argsLoop
:doneInit
%_FORK% java %_XDEBUG% -jar %TUSCANY_HOME%/bin/launcher.jar %_CMD_LINE_ARGS%
goto end
:help
echo Apache Tuscany SCA runtime launcher
echo TUSCANY [debug] [fork] [domainURI] contributions
echo debug enable Java remote debugging
echo fork start a new command prompt window to run the contributions
echo domainURI config URI for the domain, the format is:
echo vm:domainName
echo or
echo "tribes:domainName?routes=ip1,ip2,..."
echo NOTE that the tribes URI needs to be in quotes
echo contributions list of SCA contribution file names seperated by spaces. All
echo deployable composites found in the contributions will be run.
goto end
:error
set ERROR_CODE=1
:end
@endlocal
exit /B %ERROR_CODE%

View file

@ -0,0 +1,54 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
#!/bin/bash
# copied from tomcat catalina.sh
# resolve links - $0 may be a softlink
PRG="$0"
while [ -h "$PRG" ]; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
# Only set CATALINA_HOME if not already set
[ -z "$TUSCANY_HOME" ] && TUSCANY_HOME=`cd "$PRGDIR/.." ; pwd`
if [ "$1" = "/?" ] ; then
echo "Apache Tuscany SCA runtime launcher"
echo "TUSCANY [debug] contributions"
echo " debug enable Java remote debugging"
echo " contributions list of SCA contribution file names seperated by spaces. All"
echo " deployable composites found in the contributions will be run."
exit 1
fi
_XDEBUG=""
if [ "$1" = "debug" ] ; then
_XDEBUG="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y"
shift
fi
java $_XDEBUG -jar $TUSCANY_HOME/bin/launcher.jar "$@"

View file

@ -0,0 +1,21 @@
#
# 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.
#
classpath=modules/**
-Djava.util.logging.config.file={TUSCANY_HOME}/samples/logging.properties
mainClass=[firstArgJarManifestMainClass]

View file

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca</artifactId>
<relativePath>../pom.xml</relativePath>
<version>2.0-Beta3-SNAPSHOT</version>
</parent>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-distribution</artifactId>
<packaging>pom</packaging>
<name>Apache Tuscany SCA Distributions</name>
<modules>
<module>aggregations/base-runtime-nodep</module>
<module>aggregations/base-runtime-aggregation</module>
<module>aggregations/binding-rmi-runtime-aggregation</module>
<module>aggregations/binding-ws-runtime-axis2-aggregation</module>
<module>all</module>
<module>tomcat</module>
<module>samples</module>
</modules>
</project>

View file

@ -0,0 +1,64 @@
<?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-distribution</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>tuscany-samples</artifactId>
<name>Apache Tuscany SCA Samples Distribution</name>
<packaging>pom</packaging>
<dependencies>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>samples</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/samples.xml</descriptor>
</descriptors>
<tarLongFileMode>gnu</tarLongFileMode>
<finalName>apache-tuscany-samples-${project.version}</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,64 @@
<?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.
-->
<assembly>
<!-- id typically identifies the "type" (src vs bin etc) of the assembly -->
<id>samples</id>
<includeBaseDirectory>true</includeBaseDirectory>
<baseDirectory>tuscany-samples-${version}</baseDirectory>
<formats>
<format>zip</format>
<format>tar.gz</format>
</formats>
<fileSets>
<fileSet>
<directory>src/main/release</directory>
<outputDirectory>.</outputDirectory>
</fileSet>
<fileSet>
<directory>../../samples</directory>
<outputDirectory>.</outputDirectory>
<excludes>
<exclude>**/.classpath</exclude>
<exclude>**/.project</exclude>
<exclude>**/target</exclude>
<exclude>**/target/**</exclude>
<exclude>**/.settings</exclude>
<exclude>**/.settings/**</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>../..</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>CHANGES</include>
<include>RELEASE_NOTES</include>
</includes>
</fileSet>
</fileSets>
</assembly>

View file

@ -0,0 +1,204 @@
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.

View file

@ -0,0 +1,5 @@
Apache Tuscany
Copyright (c) 2005 - 2011 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

View file

@ -0,0 +1,8 @@
This builds the Tuscany Tomcat Distribution.
After building the distribution .war file will be
found in the tomcat-war/target directory.

View file

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca</artifactId>
<relativePath>../../pom.xml</relativePath>
<version>2.0-Beta3-SNAPSHOT</version>
</parent>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-distribution-tomcat</artifactId>
<packaging>pom</packaging>
<name>Apache Tuscany SCA Distribution Tomcat</name>
<modules>
<module>tomcat-hook</module>
<module>tomcat-servlet</module>
<module>tomcat-war</module>
<module>testing</module>
</modules>
</project>

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-distribution-tomcat-testing</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>download-tomcat</artifactId>
<packaging>war</packaging>
<name>Apache Tuscany SCA Tomcat Integration Testing Download Tomcat</name>
<properties>
<tomcat.version>6.0.18</tomcat.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.0-beta-1</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<executions>
<execution>
<id>download-tomcat</id>
<phase>pre-integration-test</phase>
<goals>
<goal>download-single</goal>
</goals>
<configuration>
<url>http://archive.apache.org</url>
<fromFile>dist/tomcat/tomcat-6/v${tomcat.version}/bin/apache-tomcat-${tomcat.version}.zip</fromFile>
<toDir>download</toDir>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<activation>
<file>
<exists>download/apache-tomcat-6.0.18.zip</exists>
</file>
</activation>
</profile>
</profiles>
</project>

View file

@ -0,0 +1,47 @@
<?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-distribution-tomcat-testing</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>helloworld-client-webapp</artifactId>
<packaging>war</packaging>
<name>Apache Tuscany SCA Tomcat Integration Testing Helloworld Client Webapp</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca-api</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>
</project>

View file

@ -0,0 +1,30 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package testing;
// TODO: should the webapp need to include the service interface?
import org.oasisopen.sca.annotation.Remotable;
@Remotable
public interface HelloworldService {
String sayHello(String name);
}

View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
targetNamespace="http://testing"
name="jsp-client-webapp">
<!-- TODO: should the component name be unique in the domain? i guess so -->
<component name="WebComponent">
<implementation.web web-uri=""/>
<reference name="service" target="HelloworldComponent"/>
</component>
</composite>

View file

@ -0,0 +1,31 @@
<?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.
-->
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
<display-name>jsp-client-webapp</display-name>
<welcome-file-list id="WelcomeFileList">
<welcome-file>hello.jsp</welcome-file>
</welcome-file-list>
</web-app>

View file

@ -0,0 +1,36 @@
<%--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://www.osoa.org/sca/sca_jsp.tld" prefix="sca" %>
<sca:reference name="service" type="testing.HelloworldService" />
<html>
<body >
<h2>jsp-client-webapp</h2>
Calling HelloworldService sayHello("world") returns:
<p>
<%= service.sayHello("world") %>
</body>
</html>

View file

@ -0,0 +1,45 @@
<?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-distribution-tomcat-testing</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>helloworld-reference-contribution</artifactId>
<name>Apache Tuscany SCA Tomcat Integration Testing Helloworld Reference Contribution</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca-api</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>
</project>

View file

@ -0,0 +1,38 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package testing;
import org.oasisopen.sca.annotation.Service;
import org.oasisopen.sca.annotation.Reference;
import org.oasisopen.sca.annotation.EagerInit;
@Service(HelloworldService.class)
public class HelloworldRefImpl implements HelloworldService {
@Reference
public HelloworldService service;
public String sayHello(String name) {
if (service == null) {
return "ERROR, @Reference is null!";
} else {
return "Hello ref says: " + service.sayHello(name);
}
}
}

View file

@ -0,0 +1,28 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package testing;
import org.oasisopen.sca.annotation.Remotable;
@Remotable
public interface HelloworldService {
String sayHello(String name);
}

View file

@ -0,0 +1,23 @@
<?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.
-->
<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:testing="http://org.apache.tuscany.tomcat.testing">
<deployable composite="testing:helloworld-reference-contribution"/>
</contribution>

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
targetNamespace="http://org.apache.tuscany.tomcat.testing"
name="helloworld-reference-contribution">
<component name="HelloworldRefComponent">
<implementation.java class="testing.HelloworldRefImpl"/>
<reference name="service" target="HelloworldComponent" />
</component>
</composite>

View file

@ -0,0 +1,48 @@
<?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-distribution-tomcat-testing</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>helloworld-scaclient-jsp</artifactId>
<packaging>war</packaging>
<name>Apache Tuscany SCA Tomcat Integration Testing Helloworld Webapp Using SCAClient in a JSP</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca-api</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>
</project>

View file

@ -0,0 +1,28 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package testing;
import org.oasisopen.sca.annotation.Remotable;
@Remotable
public interface HelloworldService {
String sayHello(String name);
}

View file

@ -0,0 +1,28 @@
<?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.
-->
<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:testing="http://org.apache.tuscany.tomcat.testing">
<!-- TODO: There's nothing in here as this file is only present so that the
Tuscany Tomcat integration code gets triggered when this webapp
ias deployed and adds Tuscany to the Webapp classpath so that the
SCAClient implementation is available -->
</contribution>

View file

@ -0,0 +1,31 @@
<?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.
-->
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
<display-name>jsp-client-webapp</display-name>
<welcome-file-list id="WelcomeFileList">
<welcome-file>hello.jsp</welcome-file>
</welcome-file-list>
</web-app>

View file

@ -0,0 +1,41 @@
<%--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="org.oasisopen.sca.client.SCAClientFactory"%>
<%@ page import="testing.HelloworldService" %>
<%@ page import="java.net.URI" %>
<%
HelloworldService service = SCAClientFactory.newInstance(URI.create("default")).getService(HelloworldService.class, "HelloworldComponent");
%>
<html>
<body >
<h2>helloworld-scaclient-jsp</h2>
Calling HelloworldService sayHello("world") returns:
<p>
<%= service.sayHello("world") %>
</body>
</html>

View file

@ -0,0 +1,53 @@
<?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-distribution-tomcat-testing</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>helloworld-scaclient-servlet</artifactId>
<packaging>war</packaging>
<name>Apache Tuscany SCA Tomcat Integration Testing Helloworld Webapp Using SCAClient in a Servlet</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca-api</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>
</project>

View file

@ -0,0 +1,28 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package testing;
import org.oasisopen.sca.annotation.Remotable;
@Remotable
public interface HelloworldService {
String sayHello(String name);
}

View file

@ -0,0 +1,64 @@
/*
* 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 testing;
import java.io.IOException;
import java.io.Writer;
import java.net.URI;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.oasisopen.sca.NoSuchDomainException;
import org.oasisopen.sca.NoSuchServiceException;
import org.oasisopen.sca.client.SCAClientFactory;
/**
*/
public class HelloworldServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
try {
String component = request.getParameter("component");
HelloworldService service = SCAClientFactory.newInstance(URI.create("default")).getService(HelloworldService.class, component);
String name = request.getParameter("name");
String greeting = service.sayHello(name);
Writer out = response.getWriter();
out.write("<html><head><title>Apache Tuscany Helloworld Servlet Sample</title></head><body>");
out.write("<h2>Apache Tuscany Helloworld Servlet Sample</h2>");
out.write("<br><strong>Component " + component + " says: </strong>" + greeting);
out.write("</body></html>");
out.flush();
out.close();
} catch (NoSuchDomainException e) {
e.printStackTrace();
} catch (NoSuchServiceException e) {
e.printStackTrace();
}
}
}

View file

@ -0,0 +1,28 @@
<?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.
-->
<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:testing="http://org.apache.tuscany.tomcat.testing">
<!-- TODO: There's nothing in here as this file is only present so that the
Tuscany Tomcat integration code gets triggered when this webapp
ias deployed and adds Tuscany to the Webapp classpath so that the
SCAClient implementation is available -->
</contribution>

View file

@ -0,0 +1,41 @@
<?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.
-->
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
<display-name>helloworld-scaclient2-webapp</display-name>
<servlet>
<servlet-name>HelloworldServlet</servlet-name>
<servlet-class>testing.HelloworldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloworldServlet</servlet-name>
<url-pattern>/HelloworldServlet</url-pattern>
</servlet-mapping>
<welcome-file-list id="WelcomeFileList">
<welcome-file>hello.html</welcome-file>
</welcome-file-list>
</web-app>

View file

@ -0,0 +1,52 @@
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<html>
<head>
<title>helloworld-scaclient2-webapp</title>
</head>
<body>
<h2>helloworld-scaclient-servlet</h2>
<form action="HelloworldServlet" method="post">
<table>
<tr>
<td><select name="component" size="1">
<option>HelloworldComponent</option>
<option>HelloworldRefComponent</option>
</select></td>
<td>Enter your name:</td>
<td>
<input type="text" name="name" width="10">
</td>
</tr>
<tr>
<td align="left" colspan="2">
<button name="submit" type="submit">Say hello</button>
</td>
</tr>
</table>
</form>
</body>
</html>

View file

@ -0,0 +1,45 @@
<?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-distribution-tomcat-testing</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>helloworld-service-contribution</artifactId>
<name>Apache Tuscany SCA Tomcat Integration Testing Helloworld Service Contribution</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca-api</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>
</project>

View file

@ -0,0 +1,38 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package testing;
import org.oasisopen.sca.annotation.Init;
import org.oasisopen.sca.annotation.Scope;
import org.oasisopen.sca.annotation.Service;
import org.oasisopen.sca.annotation.EagerInit;
@Service(HelloworldService.class)
@Scope("COMPOSITE") @EagerInit
public class HelloworldImpl implements HelloworldService {
public String sayHello(String name) {
return "Hello " + name;
}
@Init
public void init() {
System.out.println("HelloworldImpl eager init: " + sayHello("world"));
}
}

View file

@ -0,0 +1,28 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package testing;
import org.oasisopen.sca.annotation.Remotable;
@Remotable
public interface HelloworldService {
String sayHello(String name);
}

View file

@ -0,0 +1,23 @@
<?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.
-->
<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:testing="http://org.apache.tuscany.tomcat.testing">
<deployable composite="testing:helloworld-service-contribution"/>
</contribution>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
targetNamespace="http://org.apache.tuscany.tomcat.testing"
name="helloworld-service-contribution">
<component name="HelloworldComponent">
<implementation.java class="testing.HelloworldImpl"/>
</component>
</composite>

View file

@ -0,0 +1,42 @@
<?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-distribution-tomcat-testing</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>war-legal-checks</artifactId>
<name>Apache Tuscany SCA WAR Distribution Legal Checks</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
</build>
</project>

View file

@ -0,0 +1,147 @@
/*
* 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 itest;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import org.junit.Test;
/**
* Checks that all jar files included in the distribution are mentioned in the LICENSE file
* and that all jars mentioned in the LICENSE are in the distribution.
*/
public class JarsInLICENSETestCase {
@Test
public void testJars() throws Exception {
File distroRoot = getUnzipedDistroRoot();
File licenseFile = new File(distroRoot, "LICENSE");
if (!licenseFile.exists()) {
throw new IllegalStateException("can't find LICENSE file at: " + licenseFile.getAbsoluteFile().toString());
}
File libDirectory = distroRoot;
if (!libDirectory.exists()) {
throw new IllegalStateException("can't find modules folder at: " + libDirectory.getAbsoluteFile().toString());
}
List<String> jars = getJarsInDistro(libDirectory);
List<String> bad2 = getLICENSEJarsNotInDistro(licenseFile, jars);
if (bad2.size() > 0) {
System.err.println("Jars in LICENSE but not in Distribution: " + bad2);
}
List<String> bad1 = getJarsNotInLICENSE(jars, licenseFile);
if (bad1.size() > 0) {
System.err.println("Jars in distribution but not in LICENSE: " + bad1);
}
if (bad1.size() > 0 || bad2.size() > 0) {
throw new IllegalStateException("LICENSE problems, check log");
}
}
private List<String> getLICENSEJarsNotInDistro(File licenseFile, List<String> jars) throws IOException {
List<String> badJars = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new FileReader(licenseFile));
String line = null;
while ((line = reader.readLine()) != null) {
line = line.trim();
if (line.contains(".jar")) {
StringTokenizer st = new StringTokenizer(line);
while (st.hasMoreTokens()) {
String s = st.nextToken();
if (s.contains(".jar")) {
if (s.startsWith("(")) {
s = s.substring(1);
}
if (s.endsWith(",") || s.endsWith(":")) {
s = s.substring(0, s.length()-1);
}
if (s.endsWith(")")) {
s = s.substring(0, s.length()-1);
}
if (!jars.contains(s) && !s.startsWith("tuscany-")) {
badJars.add(s);
}
}
}
}
}
return badJars;
}
private List<String> getJarsNotInLICENSE(List<String> jars, File licenseFile) throws IOException {
List<String> badJars = new ArrayList<String>();
String licenseText = readLICENSE(licenseFile);
for (String jar : jars) {
if (!licenseText.contains(jar)) {
if (jar.startsWith("tuscany-")) {
// ignore tuscany jars as they're not mentioned in the LICENSE file
} else {
badJars.add(jar);
}
}
}
return badJars;
}
private List<String> getJarsInDistro(File directory) {
List<String> jars = new ArrayList<String>();
for (String fn : directory.list()){
if (fn.endsWith(".jar")) {
jars.add(fn);
} else {
File f = new File(directory, fn);
if (f.isDirectory()) {
jars.addAll(getJarsInDistro(f));
}
}
}
return jars;
}
private File getUnzipedDistroRoot() {
return new File("../../tomcat-war/target/tuscany");
}
private static String readLICENSE(File licenseFile) throws java.io.IOException {
StringBuffer fileData = new StringBuffer();
BufferedReader reader = new BufferedReader(new FileReader(licenseFile));
char[] buf = new char[1024];
int numRead = 0;
while ((numRead = reader.read(buf)) != -1) {
String readData = String.valueOf(buf, 0, numRead);
fileData.append(readData);
buf = new char[1024];
}
reader.close();
return fileData.toString();
}
}

View file

@ -0,0 +1,42 @@
<?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-distribution-tomcat</artifactId>
<relativePath>../pom.xml</relativePath>
<version>2.0-Beta3-SNAPSHOT</version>
</parent>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-distribution-tomcat-testing</artifactId>
<packaging>pom</packaging>
<name>Apache Tuscany SCA Distribution Tomcat Testing</name>
<modules>
<module>helloworld-service-contribution</module>
<module>helloworld-reference-contribution</module>
<module>helloworld-scaclient-jsp</module>
<module>helloworld-scaclient-servlet</module>
<module>helloworld-client-webapp</module>
<module>legal-checks</module>
</modules>
</project>

View file

@ -0,0 +1,205 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -0,0 +1,24 @@
Manifest-Version: 1.0
Export-Package: org.apache.tuscany.sca.tomcat;version="2.0.0"
Tool: Bnd-0.0.255
Bundle-Name: Apache Tuscany SCA Tomcat Hook
Created-By: 1.6.0_07 (Sun Microsystems Inc.)
Bundle-Vendor: The Apache Software Foundation
Bundle-Version: 2.0.0
Bnd-LastModified: 1222833658000
Bundle-ManifestVersion: 2
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-Description: Apache Tuscany SCA Webapp Host
Import-Package: javax.naming,
javax.servlet,
javax.servlet.http,
org.apache.tuscany.sca.core;version="2.0.0",
org.apache.tuscany.sca.host.http;version="2.0.0",
org.apache.tuscany.sca.host.webapp;version="2.0.0",
org.apache.tuscany.sca.node;version="2.0.0",
org.apache.tuscany.sca.node.configuration;version="2.0.0",
org.apache.tuscany.sca.node.impl;version="2.0.0",
org.oasisopen.sca;version="2.0.0"
Bundle-SymbolicName: org.apache.tuscany.sca.tomcat
Bundle-DocURL: http://www.apache.org/
Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6

View file

@ -0,0 +1,7 @@
${pom.name}
Copyright (c) 2005 - 2011 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).

View file

@ -0,0 +1,70 @@
<?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-distribution-tomcat</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>tuscany-tomcat-hook</artifactId>
<name>Apache Tuscany SCA Tomcat Hook</name>
<dependencies>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>catalina</artifactId>
<version>6.0.18</version>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>coyote</artifactId>
<version>6.0.18</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.codehaus.swizzle</groupId>
<artifactId>swizzle-stream</artifactId>
<version>1.0.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View file

@ -0,0 +1,85 @@
/*
* 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.tomcat;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import javax.naming.NamingException;
import javax.servlet.ServletContext;
import org.apache.AnnotationProcessor;
import org.apache.catalina.util.DefaultAnnotationProcessor;
public class TuscanyAnnotationsProcessor implements AnnotationProcessor {
private TuscanyStandardContext tuscanyStandardContext;
private AnnotationProcessor tomcatAnnotationProcessor;
private Method tuscanyInjectMethod;
public TuscanyAnnotationsProcessor(TuscanyStandardContext tuscanyStandardContext, javax.naming.Context context) {
this.tuscanyStandardContext = tuscanyStandardContext;
this.tomcatAnnotationProcessor = new DefaultAnnotationProcessor(context);
initInjectMethod(tuscanyStandardContext);
}
private void initInjectMethod(TuscanyStandardContext tuscanyStandardContext) {
// this needs to use reflection as the tuscany-hook module can't have any
// dependencies on the tuscany runtime modules as they're not
// in the server classpath
// TODO: is there a nicer way ?
ClassLoader cl = tuscanyStandardContext.getParentClassLoader();
try {
Class<?> c = Class.forName("org.apache.tuscany.sca.implementation.web.runtime.utils.ContextHelper", true, cl);
if (c != null) {
this.tuscanyInjectMethod = c.getMethod("inject", new Class[]{Object.class, ServletContext.class});
}
} catch (Exception e){
// ignore
}
}
public void postConstruct(Object instance) throws IllegalAccessException, InvocationTargetException {
tomcatAnnotationProcessor.postConstruct(instance);
}
public void preDestroy(Object instance) throws IllegalAccessException, InvocationTargetException {
tomcatAnnotationProcessor.preDestroy(instance);
}
public void processAnnotations(Object instance) throws IllegalAccessException, InvocationTargetException, NamingException {
if (tuscanyInjectMethod != null) {
ServletContext sc = tuscanyStandardContext.getServletContext();
if (sc != null) {
Object rc = sc.getAttribute("org.apache.tuscany.sca.implementation.web.RuntimeComponent");
if (rc != null) {
try {
tuscanyInjectMethod.invoke(null, instance, sc);
} catch (Exception e) {
throw new InvocationTargetException(e);
}
}
}
}
tomcatAnnotationProcessor.processAnnotations(instance);
}
}

View file

@ -0,0 +1,183 @@
/*
* 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.tomcat;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import org.apache.catalina.Host;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.core.StandardHost;
import org.apache.catalina.startup.ContextConfig;
import org.apache.catalina.startup.ExpandWar;
public class TuscanyContextConfig extends ContextConfig{
/**
* Return the location of the default deployment descriptor
*
* Override the super class method to use the Tuscany specific
* default web.xml which has the Tuscany listener and filer config
*/
@Override
public String getDefaultWebXml() {
if( defaultWebXml == null ) {
defaultWebXml="conf/tuscany-web.xml";
}
return (this.defaultWebXml);
}
/**
* Adjust docBase.
*
* This is cutNpaste of the Tomcat method but changed on the lines marked with // TUSCANY:
* to override the default that only works for file names ending with .war
*
*/
@Override
protected void fixDocBase()
throws IOException {
Host host = (Host) context.getParent();
String appBase = host.getAppBase();
boolean unpackWARs = true;
if (host instanceof StandardHost) {
unpackWARs = ((StandardHost) host).isUnpackWARs()
&& ((StandardContext) context).getUnpackWAR();
}
File canonicalAppBase = new File(appBase);
if (canonicalAppBase.isAbsolute()) {
canonicalAppBase = canonicalAppBase.getCanonicalFile();
} else {
canonicalAppBase =
new File(System.getProperty("catalina.base"), appBase)
.getCanonicalFile();
}
String docBase = context.getDocBase();
if (docBase == null) {
// Trying to guess the docBase according to the path
String path = context.getPath();
if (path == null) {
return;
}
if (path.equals("")) {
docBase = "ROOT";
} else {
if (path.startsWith("/")) {
docBase = path.substring(1);
} else {
docBase = path;
}
}
}
File file = new File(docBase);
if (!file.isAbsolute()) {
docBase = (new File(canonicalAppBase, docBase)).getPath();
} else {
docBase = file.getCanonicalPath();
}
file = new File(docBase);
String origDocBase = docBase;
String contextPath = context.getPath();
if (contextPath.equals("")) {
contextPath = "ROOT";
} else {
if (contextPath.lastIndexOf('/') > 0) {
contextPath = "/" + contextPath.substring(1).replace('/','#');
}
}
// TUSCANY: update from .war to also support .jar and .zip SCA contributions
if ((docBase.toLowerCase().endsWith(".war") || docBase.toLowerCase().endsWith(".jar")||docBase.toLowerCase().endsWith(".zip")) && !file.isDirectory() && unpackWARs) {
URL war = new URL("jar:" + (new File(docBase)).toURI().toURL() + "!/");
docBase = ExpandWar.expand(host, war, contextPath);
file = new File(docBase);
docBase = file.getCanonicalPath();
if (context instanceof StandardContext) {
((StandardContext) context).setOriginalDocBase(origDocBase);
}
} else {
File docDir = new File(docBase);
if (!docDir.exists()) {
// TUSCANY: update from .war to also support .jar and .zip SCA contributions
File warFile = new File(docBase + ".war");
if (warFile.exists()) {
if (unpackWARs) {
URL war =
new URL("jar:" + warFile.toURI().toURL() + "!/");
docBase = ExpandWar.expand(host, war, contextPath);
file = new File(docBase);
docBase = file.getCanonicalPath();
} else {
docBase = warFile.getCanonicalPath();
}
} else {
warFile = new File(docBase + ".jar");
if (warFile.exists()) {
if (unpackWARs) {
URL war =
new URL("jar:" + warFile.toURI().toURL() + "!/");
docBase = ExpandWar.expand(host, war, contextPath);
file = new File(docBase);
docBase = file.getCanonicalPath();
} else {
docBase = warFile.getCanonicalPath();
}
} else {
warFile = new File(docBase + ".zip");
if (warFile.exists()) {
if (unpackWARs) {
URL war =
new URL("jar:" + warFile.toURI().toURL() + "!/");
docBase = ExpandWar.expand(host, war, contextPath);
file = new File(docBase);
docBase = file.getCanonicalPath();
} else {
docBase = warFile.getCanonicalPath();
}
}
}
}
if (context instanceof StandardContext) {
((StandardContext) context).setOriginalDocBase(origDocBase);
}
}
}
if (docBase.startsWith(canonicalAppBase.getPath())) {
docBase = docBase.substring(canonicalAppBase.getPath().length());
docBase = docBase.replace(File.separatorChar, '/');
if (docBase.startsWith("/")) {
docBase = docBase.substring(1);
}
} else {
docBase = docBase.replace(File.separatorChar, '/');
}
context.setDocBase(docBase);
}
}

View file

@ -0,0 +1,167 @@
/*
* 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.tomcat;
import java.io.File;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import org.apache.catalina.Context;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleListener;
import org.apache.catalina.startup.HostConfig;
/**
* A Tuscany customized HostConfig that adds support for SCA contributions
* to be deployed along with the usual .war files.
*/
public class TuscanyHostConfig extends HostConfig {
protected File scaBase = null;
@Override
protected void deployApps() {
File appBase = appBase();
File configBase = configBase();
// Deploy XML descriptors from configBase
deployDescriptors(configBase, configBase.list());
// Deploy WARs, and loop if additional descriptors are found
deployWARs(appBase, appBase.list());
// TUSCANY: Deploy any SCA contibutions
deploySCAContributions(appBase, appBase.list());
// Deploy expanded folders
deployDirectories(appBase, appBase.list());
}
protected void deploySCAContributions(File appBase, String[] files) {
if (files == null)
return;
for (int i = 0; i < files.length; i++) {
File scafile = new File(appBase, files[i]);
if (scafile.isFile() && isSCAContribution(scafile)) {
// Calculate the context path and make sure it is unique
String contextPath = "/" + files[i].replace('#','/');
int period = contextPath.lastIndexOf(".");
if (period >= 0)
contextPath = contextPath.substring(0, period);
if (isServiced(contextPath))
continue;
String file = files[i];
deploySCAContribution(contextPath, scafile, file);
}
}
}
protected String tuscanyContextClass = "org.apache.tuscany.sca.tomcat.TuscanyContextConfig";
protected void deploySCAContribution(String contextPath, File dir, String file) {
if (deploymentExists(contextPath))
return;
DeployedApplication deployedApp = new DeployedApplication(contextPath);
// Deploy the application in this WAR file
if(log.isInfoEnabled())
log.info("Deploying SCA contibution: " + file);
// Populate redeploy resources with the WAR file
deployedApp.redeployResources.put(dir.getAbsolutePath(), new Long(dir.lastModified()));
try {
Context context = (Context) Class.forName(contextClass).newInstance();
if (context instanceof Lifecycle) {
// Tuscany: change to use the Tuscany ContextConfig class
Class clazz = Class.forName(tuscanyContextClass);
LifecycleListener listener =
(LifecycleListener) clazz.newInstance();
((Lifecycle) context).addLifecycleListener(listener);
}
context.setPath(contextPath);
context.setDocBase(file);
host.addChild(context);
// If we're unpacking WARs, the docBase will be mutated after
// starting the context
if (unpackWARs && (context.getDocBase() != null)) {
String name = null;
String path = context.getPath();
if (path.equals("")) {
name = "ROOT";
} else {
if (path.startsWith("/")) {
name = path.substring(1);
} else {
name = path;
}
}
name = name.replace('/', '#');
File docBase = new File(name);
if (!docBase.isAbsolute()) {
docBase = new File(appBase(), name);
}
deployedApp.redeployResources.put(docBase.getAbsolutePath(),
new Long(docBase.lastModified()));
addWatchedResources(deployedApp, docBase.getAbsolutePath(), context);
} else {
addWatchedResources(deployedApp, null, context);
}
} catch (Throwable t) {
log.error(sm.getString("hostConfig.deployJar.error", file), t);
}
deployed.put(contextPath, deployedApp);
}
protected boolean isSCAContribution(File file) {
ZipFile zip = null;
ZipEntry entry = null;
try {
try {
zip = new ZipFile(file);
entry = zip.getEntry("META-INF/sca-contribution.xml");
} catch (Exception e) {
}
return (entry != null);
} finally {
if (zip != null) {
try {
zip.close();
} catch (Throwable t) {
}
}
}
}
}

View file

@ -0,0 +1,161 @@
/*
* 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.tomcat;
import java.io.File;
import java.util.logging.Logger;
import org.apache.catalina.Container;
import org.apache.catalina.LifecycleEvent;
import org.apache.catalina.LifecycleListener;
import org.apache.catalina.ServerFactory;
import org.apache.catalina.Service;
import org.apache.catalina.connector.Connector;
import org.apache.catalina.core.StandardEngine;
import org.apache.catalina.core.StandardHost;
import org.apache.catalina.core.StandardServer;
import org.apache.catalina.core.StandardService;
import org.apache.catalina.startup.HostConfig;
/**
* A Tomcat LifecycleListener that initilizes the Tuscany Tomcat integration.
* It sets a System property with the location of the Tuscany runtime .war
* and configures each Tomcat Connector to use the TuscanyStandardContext.
*
* To configure Tomcat to use this add the following to the Tomcat conf/server.xml
* <Listener className="org.apache.tuscany.sca.tomcat.TuscanyLifecycleListener"/>
*/
public class TuscanyLifecycleListener implements LifecycleListener {
private static final Logger log = Logger.getLogger(TuscanyLifecycleListener.class.getName());
public static final String TUSCANY_WAR_PROP = "org.apache.tuscany.sca.tomcat.war";
private static boolean running;
public static boolean isRunning() {
return running;
}
static final String TUSCANY_SHARED_PROP = "org.apache.tuscany.sca.tomcat.shared";
private static String domainURI = "tuscany:default";
public TuscanyLifecycleListener() {
running = true;
log.info("Apache Tuscany initilizing");
}
public void lifecycleEvent(LifecycleEvent event) {
if ("init".equals(event.getType()) && (event.getSource() instanceof StandardServer)) {
File webappDir = findTuscanyWar();
if (webappDir == null) {
log.severe("Tuscany disabled as Tuscany webapp not found");
} else {
System.setProperty(TUSCANY_WAR_PROP, webappDir.getAbsolutePath());
log.info("Using Tuscany webapp: " + webappDir.getAbsolutePath());
StandardServer server = (StandardServer)event.getSource();
StandardService catalina = (StandardService)server.findService("Catalina");
for (Connector connector : catalina.findConnectors()) {
for (Container container : connector.getContainer().findChildren()) {
if (container instanceof StandardHost) {
for (LifecycleListener listener : ((StandardHost)container).findLifecycleListeners()) {
if (listener instanceof HostConfig) {
((HostConfig)listener).setContextClass("org.apache.tuscany.sca.tomcat.TuscanyStandardContext");
log.info("Tuscany enabled on connector: " + container.getName() + ":" + connector.getPort());
}
}
}
}
}
}
}
}
private static File findTuscanyWar() {
// in Tomcat 5.5 the Tuscany war is in the server/webapps director
String catalinaBase = System.getProperty("catalina.base");
File serverWebapps = new File(catalinaBase, "server/webapps");
File tuscanyWar = findTuscanyWar(serverWebapps);
if (tuscanyWar != null) {
return tuscanyWar;
}
// in Tomcat 6 the Tuscany war is normally in webapps, but we just scan all hosts directories
for (Service service : ServerFactory.getServer().findServices()) {
Container container = service.getContainer();
if (container instanceof StandardEngine) {
StandardEngine engine = (StandardEngine)container;
for (Container child : engine.findChildren()) {
if (child instanceof StandardHost) {
StandardHost host = (StandardHost)child;
String appBase = host.getAppBase();
// determine the host dir (normally webapps)
File hostDir = new File(appBase);
if (!hostDir.isAbsolute()) {
hostDir = new File(catalinaBase, appBase);
}
tuscanyWar = findTuscanyWar(hostDir);
if (tuscanyWar != null) {
return tuscanyWar;
}
}
}
}
}
return null;
}
private static File findTuscanyWar(File hostDir) {
if (!hostDir.isDirectory()) {
return null;
}
// iterate over the contexts
for (File contextDir : hostDir.listFiles()) {
// does this war have a web-inf lib dir
File hookLib = new File(contextDir, "tomcat-lib");
if (!hookLib.isDirectory()) {
continue;
}
// iterate over the libs looking for the tuscany-tomcat-*.jar
for (File file : hookLib.listFiles()) {
if (file.getName().startsWith("tuscany-tomcat-hook-") && file.getName().endsWith(".jar")) {
// this should be in the Tuscany war...
// make sure it has a runtime directory
if (new File(contextDir, "tuscany-lib").isDirectory()) {
return contextDir;
}
}
}
}
return null;
}
public void setDomainURI(String domainURI) {
TuscanyLifecycleListener.domainURI = domainURI;
}
public static String getDomainURI() {
return domainURI;
}
}

View file

@ -0,0 +1,196 @@
/*
* 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.tomcat;
import java.io.File;
import java.lang.reflect.Method;
import java.net.URI;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.logging.Logger;
import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.Loader;
import org.apache.catalina.core.StandardContext;
/**
* A Tuscany StandardContext to initilize SCA applications.
* There is a StandardContext instance for each webapp and its
* called to handle all start/stop/etc requests. This intercepts
* the start and inserts any required Tuscany configuration.
*/
public class TuscanyStandardContext extends StandardContext {
private static final long serialVersionUID = 1L;
private static final Logger log = Logger.getLogger(TuscanyStandardContext.class.getName());
private boolean isSCAApp;
// TODO: this gives an instance per webapp, work out how to have only one per server
// ?? is that comment still true?
private static URLClassLoader tuscanyClassLoader;
private static Object node;
private static Class<?> nodeClass;
private static Method nodeStopMethod;
public TuscanyStandardContext() {
}
/**
* Overrides the getLoader method in the Tomcat StandardContext as its a convenient
* point to insert the Tuscany initilization. This gets called the first time during
* StandardContext.start after the webapp resources have been created so this can
* use getResources() to look for the SCA web.composite or sca-contribution.xml files,
* but its still early enough in start to insert the required Tuscany config.
*/
@Override
public Loader getLoader() {
if (loader != null) {
return loader;
}
ClassLoader parent = getParentClassLoader();
if (isSCAApp = isSCAApplication()) {
if (tuscanyClassLoader == null) {
initTuscany();
}
setParentClassLoader(getTuscanyClassloader(parent));
setDefaultWebXml("conf/tuscany-web.xml");
}
return super.getLoader();
}
@Override
public boolean listenerStart() {
if (isSCAApp) {
enableTuscany();
}
return super.listenerStart();
}
private void enableTuscany() {
if (isUseNaming() && getNamingContextListener() != null) {
setAnnotationProcessor(new TuscanyAnnotationsProcessor(this, getNamingContextListener().getEnvContext()));
} else {
setAnnotationProcessor(new TuscanyAnnotationsProcessor(this, null));
}
log.info("Tuscany SCA is enabled for: " + this.getName());
}
private boolean isSCAApplication() {
Object o = null;
try {
o = getResources().lookup("WEB-INF/web.composite");
} catch (NamingException e) {
}
if (o == null) {
try {
o = getResources().lookup("META-INF/sca-contribution.xml");
} catch (NamingException e) {
}
}
if (o == null) {
return false;
}
// Try to see if the Tuscany jars are packaged in the webapp
NamingEnumeration<NameClassPair> enumeration;
try {
enumeration = getResources().list("WEB-INF/lib");
while (enumeration.hasMoreElements()) {
String jar = enumeration.nextElement().getName();
if (jar.startsWith("tuscany-")) {
// Do not alter is
log.info("Tuscany SCA ignoring webapp with embedded Tuscany runtime: " + this.getName());
return false;
}
}
} catch (NamingException e) {
}
return true;
}
private URLClassLoader getTuscanyClassloader(ClassLoader parent) {
return tuscanyClassLoader;
}
private void initTuscany() {
initTuscanyClassloader(getParentClassLoader());
initDomain();
}
private void initTuscanyClassloader(ClassLoader parent) {
if (tuscanyClassLoader == null) {
File tuscanyWar = new File(System.getProperty(TuscanyLifecycleListener.TUSCANY_WAR_PROP));
File[] runtimeJars = new File(tuscanyWar, "tuscany-lib").listFiles();
try {
URL[] jarURLs = new URL[runtimeJars.length];
for (int i = 0; i < jarURLs.length; i++) {
jarURLs[i] = runtimeJars[i].toURI().toURL();
}
tuscanyClassLoader = new URLClassLoader(jarURLs, parent);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
private void initDomain() {
ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(tuscanyClassLoader);
Class<?> nodeFactoryClass = Class.forName("org.apache.tuscany.sca.node.NodeFactory", true, tuscanyClassLoader);
Method getInstanceMethod = nodeFactoryClass.getMethod("getInstance", new Class[0]);
Object instance = getInstanceMethod.invoke(null);
Method createNodeMethod = nodeFactoryClass.getMethod("createNode", new Class[]{URI.class, new String[0].getClass()});
URI domainURI = URI.create(TuscanyLifecycleListener.getDomainURI());
this.node = createNodeMethod.invoke(instance, new Object[]{domainURI, new String[0]});
this.nodeClass = Class.forName("org.apache.tuscany.sca.node.Node", true, tuscanyClassLoader);
Method nodeStartMethod = nodeClass.getMethod("start", new Class[0]);
this.nodeStopMethod = nodeClass.getMethod("stop", new Class[0]);
nodeStartMethod.invoke(node);
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
Thread.currentThread().setContextClassLoader(oldCL);
}
}
@Override
public synchronized void stop() throws LifecycleException {
super.stop();
if (node != null && nodeStopMethod != null) {
try {
nodeStopMethod.invoke(node);
node = null;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
}

View file

@ -0,0 +1,11 @@
Manifest-Version: 1.0
Bundle-Name: Apache Tuscany SCA Tomcat Servlet
Created-By: 1.6.0_07 (Sun Microsystems Inc.)
Bundle-Vendor: The Apache Software Foundation
Bundle-Version: 2.0.0
Bnd-LastModified: 1222833658000
Bundle-ManifestVersion: 2
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-Description: Apache Tuscany SCA Tomcat Servlet
Bundle-SymbolicName: org.apache.tuscany.sca.tomcat.servlet
Import-Package: org.apache.tuscany.sca.tomcat;version="2.0.0"

View file

@ -0,0 +1,63 @@
<?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-distribution-tomcat</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>tuscany-tomcat-servlet</artifactId>
<name>Apache Tuscany SCA Tomcat Integration Servlet</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-tomcat-hook</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-node-api</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.codehaus.swizzle</groupId>
<artifactId>swizzle-stream</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View file

@ -0,0 +1,374 @@
/*
* 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.war;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import org.apache.tuscany.sca.tomcat.TuscanyLifecycleListener;
import org.codehaus.swizzle.stream.DelimitedTokenReplacementInputStream;
import org.codehaus.swizzle.stream.StringTokenHandler;
public class Installer {
private static boolean restartRequired;
private static boolean tuscanyHookRunning;
static {
try {
tuscanyHookRunning = TuscanyLifecycleListener.isRunning();
} catch (Throwable e) {
tuscanyHookRunning = false;
}
}
public static boolean isTuscanyHookRunning() {
return tuscanyHookRunning;
}
public static boolean isRestartRequired() {
return restartRequired;
}
private File tuscanyWAR;
private File catalinaBase;
private String status = "";
public Installer(File tuscanyWAR, File catalinaBase) {
this.tuscanyWAR = tuscanyWAR;
this.catalinaBase = catalinaBase;
}
public static boolean isInstalled() {
return false;
}
public String getStatus() {
return status;
}
public boolean install() {
try {
doInstall();
status = "Install successful, Tomcat restart required.";
restartRequired = true;
return true;
} catch (Throwable e) {
status = "Exception during install\n";
ByteArrayOutputStream os = new ByteArrayOutputStream();
PrintWriter pw = new PrintWriter(os);
e.printStackTrace(pw);
pw.close();
status += new String(os.toByteArray());
return false;
}
}
public boolean uninstall() {
try {
doUnintsall();
status = "Tuscany removed from server.xml, please restart Tomcat and manually remove Tuscany jars from Tomcat lib";
restartRequired = true;
return true;
} catch (Throwable e) {
status = "Exception during install";
ByteArrayOutputStream os = new ByteArrayOutputStream();
PrintWriter pw = new PrintWriter(os);
e.printStackTrace(pw);
status += "/n" + new String(os.toByteArray());
return false;
}
}
private void doUnintsall() {
File serverXml = new File(catalinaBase, "/conf/server.xml");
if (!(serverXml.exists())) {
throw new IllegalStateException("conf/server.xml not found: " + serverXml.getAbsolutePath());
}
removeServerXml(serverXml);
removeHostConfigXml(serverXml);
removeContextXml();
}
private boolean doInstall() {
// First verify all the file locations are as expected
if (!tuscanyWAR.exists()) {
throw new IllegalStateException("Tuscany war missing: " + tuscanyWAR.getAbsolutePath());
}
if (!catalinaBase.exists()) {
throw new IllegalStateException("Catalina base does not exist: " + catalinaBase.getAbsolutePath());
}
File serverLib = new File(catalinaBase, "/lib");
if (!(serverLib.exists())) {
// try Tomcat 5 server/lib
if (new File(catalinaBase, "/server").exists()) {
serverLib = new File(new File(catalinaBase, "/server"), "/lib");
}
}
if (!(serverLib.exists())) {
throw new IllegalStateException("Tomcat lib not found: " + serverLib.getAbsolutePath());
}
File serverXml = new File(catalinaBase, "/conf/server.xml");
if (!(serverXml.exists())) {
throw new IllegalStateException("conf/server.xml not found: " + serverXml.getAbsolutePath());
}
File tuscanyTomcatJar = findTuscanyTomcatJar(tuscanyWAR);
if (tuscanyTomcatJar == null || !tuscanyTomcatJar.exists()) {
throw new IllegalStateException("Can't find tuscany-tomcat-*.jar in: " + tuscanyWAR.getAbsolutePath());
}
// Copy tuscany-tomcat jar from the tuscany webapp web-inf/lib to Tomcat server/lib
copyFile(tuscanyTomcatJar, new File(serverLib, tuscanyTomcatJar.getName()));
// Add Tuscany LifecycleListener to Tomcat server.xml
updateServerXml(serverXml);
// Add Tuscany HostConfig to Hosts definitions in server.xml
updateHostConfigXml(serverXml);
// Add Tuscany specific default web.xml and context.xml definitions
addTuscanyWebXml();
addTuscanyContextXml();
return true;
}
private static final String tuscanyWebXML =
"\r\n\r\n" + " <!-- Tuscany Listener and Filter definitions -->\r\n" +
" <listener>\r\n" +
" <listener-class>org.apache.tuscany.sca.host.webapp.TuscanyContextListener</listener-class>\r\n" +
" </listener>\r\n" +
"\r\n" +
" <filter>\r\n" +
" <filter-name>tuscany</filter-name>\r\n" +
" <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>\r\n" +
" </filter>\r\n" +
"\r\n" +
" <filter-mapping>\r\n" +
" <filter-name>tuscany</filter-name>\r\n" +
" <url-pattern>/*</url-pattern>\r\n" +
" </filter-mapping>";
private void addTuscanyWebXml() {
File tuscanyWebXmlFile = new File(catalinaBase, "/conf/tuscany-web.xml");
if (!(tuscanyWebXmlFile.exists())) {
File webXmlFile = new File(catalinaBase, "/conf/web.xml");
if (!(webXmlFile.exists())) {
throw new IllegalStateException("conf/web.xml not found: " + webXmlFile.getAbsolutePath());
}
String webXML = readAll(webXmlFile);
String newWebXml = replace(webXML, "<web-app", "<web-app", ">", ">" + tuscanyWebXML);
writeAll(tuscanyWebXmlFile, newWebXml);
}
}
private static final String tuscanyContextXML =
"\r\n\r\n <!-- The Tuscany SCA default domain URI.\r\n" +
" Individual contributions may used different domains by having their \r\n" +
" context.xml files overriding this parameter. -->\r\n" +
" <Parameter name=\"org.apache.tuscany.sca.defaultDomainURI\" value=\"default\"/>";
private void addTuscanyContextXml() {
File contextXmlFile = new File(catalinaBase, "/conf/context.xml");
if ((contextXmlFile.exists())) {
String contextXML = readAll(contextXmlFile);
String newcontextXml = replace(contextXML, "<Context>", "<Context>" + tuscanyContextXML, "<", "<");
backup(contextXmlFile);
writeAll(contextXmlFile, newcontextXml);
}
}
private void removeContextXml() {
File contextXmlFile = new File(catalinaBase, "/conf/context.xml");
if ((contextXmlFile.exists())) {
String contextXML = readAll(contextXmlFile);
String oldContextXml = replace(contextXML, "<Context>" + tuscanyContextXML, "<Context>", "<", "<");
writeAll(contextXmlFile, oldContextXml);
}
}
private File findTuscanyTomcatJar(File tuscanyWAR) {
File lib = new File(tuscanyWAR, "/tomcat-lib");
for (File f : lib.listFiles()) {
if (f.getName().startsWith("tuscany-tomcat-hook-") && f.getName().endsWith(".jar")) {
return f;
}
}
return null;
}
private static final String tuscanyListener =
"\r\n" + " <!-- Tuscany plugin for Tomcat -->\r\n"
+ " <Listener className=\"org.apache.tuscany.sca.tomcat.TuscanyLifecycleListener\" />";
private void updateServerXml(File serverXmlFile) {
String serverXML = readAll(serverXmlFile);
if (!serverXML.contains(tuscanyListener)) {
String newServerXml = replace(serverXML, "<Server", "<Server", ">", ">" + tuscanyListener);
backup(serverXmlFile);
writeAll(serverXmlFile, newServerXml);
}
}
private void removeServerXml(File serverXmlFile) {
String serverXML = readAll(serverXmlFile);
if (serverXML.contains(tuscanyListener)) {
String newServerXml = replace(serverXML, "<Server", "<Server", ">" + tuscanyListener, ">");
writeAll(serverXmlFile, newServerXml);
}
}
static final String tuscanyHostConfig = " hostConfigClass=\"org.apache.tuscany.sca.tomcat.TuscanyHostConfig\" >";
private void updateHostConfigXml(File serverXmlFile) {
String serverXML = readAll(serverXmlFile);
String newServerXml = replace(serverXML, "<Host", "<Host", ">", tuscanyHostConfig);
backup(serverXmlFile);
writeAll(serverXmlFile, newServerXml);
}
private void removeHostConfigXml(File serverXmlFile) {
String serverXML = readAll(serverXmlFile);
if (serverXML.contains(tuscanyHostConfig)) {
String newServerXml = replace(serverXML, "<Host", "<Host", tuscanyHostConfig, ">");
writeAll(serverXmlFile, newServerXml);
}
}
private String replace(String inputText, String begin, String newBegin, String end, String newEnd) {
BeginEndTokenHandler tokenHandler = new BeginEndTokenHandler(newBegin, newEnd);
ByteArrayInputStream in = new ByteArrayInputStream(inputText.getBytes());
InputStream replacementStream = new DelimitedTokenReplacementInputStream(in, begin, end, tokenHandler, true);
String newServerXml = readAll(replacementStream);
close(replacementStream);
return newServerXml;
}
private boolean backup(File source) {
File backupFile = new File(source.getParent(), source.getName() + ".b4Tuscany");
if (!backupFile.exists()) {
copyFile(source, backupFile);
}
return true;
}
private String readAll(File file) {
FileInputStream in = null;
try {
in = new FileInputStream(file);
String text = readAll(in);
return text;
} catch (Exception e) {
return null;
} finally {
close(in);
}
}
private String readAll(InputStream in) {
try {
// SwizzleStream block read methods are broken so read byte at a time
StringBuilder sb = new StringBuilder();
int i = in.read();
while (i != -1) {
sb.append((char)i);
i = in.read();
}
return sb.toString();
} catch (IOException e) {
throw new IllegalStateException(e);
}
}
private void copyFile(File source, File destination) {
InputStream in = null;
OutputStream out = null;
try {
in = new FileInputStream(source);
out = new FileOutputStream(destination);
writeAll(in, out);
} catch (IOException e) {
throw new IllegalStateException(e);
} finally {
close(in);
close(out);
}
}
private boolean writeAll(File file, String text) {
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream(file);
writeAll(new ByteArrayInputStream(text.getBytes()), fileOutputStream);
return true;
} catch (Exception e) {
return false;
} finally {
close(fileOutputStream);
}
}
private void writeAll(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[4096];
int count;
while ((count = in.read(buffer)) > 0) {
out.write(buffer, 0, count);
}
out.flush();
}
private void close(Closeable thing) {
if (thing != null) {
try {
thing.close();
} catch (Exception ignored) {
}
}
}
private class BeginEndTokenHandler extends StringTokenHandler {
private final String begin;
private final String end;
public BeginEndTokenHandler(String begin, String end) {
this.begin = begin;
this.end = end;
}
public String handleToken(String token) throws IOException {
String result = begin + token + end;
return result;
}
}
}

View file

@ -0,0 +1,70 @@
/*
* 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.war;
import java.io.File;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class InstallerServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private transient ServletConfig servletConfig;
private transient Installer installer;
public void init(ServletConfig servletConfig) throws ServletException {
this.servletConfig = servletConfig;
String path = servletConfig.getServletContext().getRealPath("/");
File tuscanyWarDir = null;
if (path != null) {
tuscanyWarDir = new File(path);
}
File tomcatBase = new File(System.getProperty("catalina.base"));
installer = new Installer(tuscanyWarDir, tomcatBase);
}
protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
doIt(httpServletRequest, httpServletResponse);
}
protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
doIt(httpServletRequest, httpServletResponse);
}
protected void doIt(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
if ("Install".equalsIgnoreCase(req.getParameter("action"))) {
installer.install();
} else if ("Uninstall".equalsIgnoreCase(req.getParameter("action"))) {
installer.uninstall();
}
req.setAttribute("installer", installer);
RequestDispatcher rd = servletConfig.getServletContext().getRequestDispatcher("/installer.jsp");
rd.forward(req,res);
}
}

View file

@ -0,0 +1,83 @@
<?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-distribution-tomcat</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>tuscany-war</artifactId>
<name>Apache Tuscany SCA Tomcat Deep Integration WAR</name>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>org.codehaus.swizzle</groupId>
<artifactId>swizzle-stream</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-tomcat-servlet</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-tomcat-hook</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-base-runtime</artifactId>
<version>2.0-Beta3-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<finalName>tuscany</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
<executions>
<execution>
<id>war</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<attach>true</attach>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/war.xml</descriptor>
</descriptors>
</configuration>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,98 @@
<?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.
-->
<assembly>
<id>war</id>
<formats>
<format>war</format>
<format>dir</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${basedir}</directory>
<includes>
<include>README.txt</include>
</includes>
</fileSet>
<fileSet>
<directory>${basedir}/target/classes</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>README.txt</include>
<include>NOTICE.txt</include>
<include>LICENSE.txt</include>
</includes>
</fileSet>
<fileSet>
<directory>${basedir}/src/main/webapp</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
<fileSet>
<directory>${basedir}/target/classes</directory>
<outputDirectory>/</outputDirectory>
<excludes>
<exclude>org/**</exclude>
<exclude>META-INF/LICENSE</exclude>
<exclude>META-INF/NOTICE</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>${basedir}/target/classes</directory>
<outputDirectory>WEB-INF/classes</outputDirectory>
</fileSet>
<fileSet>
<directory>${basedir}/target</directory>
<outputDirectory>lib</outputDirectory>
<includes>
<include>tuscany-host*.jar</include>
</includes>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>tuscany-lib</outputDirectory>
<scope>runtime</scope>
<excludes>
<exclude>org.apache.tomcat:catalina</exclude>
<exclude>org.apache.tomcat:annotations-api</exclude>
<exclude>org.apache.tomcat:juli</exclude>
<exclude>org.apache.tomcat:servlet-api</exclude>
<exclude>org.apache.tuscany.sca:tuscany-tomcat-hook</exclude>
<exclude>org.apache.tuscany.sca:tuscany-tomcat-servlet</exclude>
<exclude>org.codehaus.swizzle:swizzle-stream</exclude>
</excludes>
</dependencySet>
<dependencySet>
<outputDirectory>tomcat-lib</outputDirectory>
<scope>runtime</scope>
<includes>
<include>org.apache.tuscany.sca:tuscany-tomcat-hook</include>
</includes>
</dependencySet>
<dependencySet>
<outputDirectory>WEB-INF/lib</outputDirectory>
<scope>runtime</scope>
<includes>
<include>org.apache.tuscany.sca:tuscany-tomcat-servlet</include>
<include>org.codehaus.swizzle:swizzle-stream</include>
</includes>
</dependencySet>
</dependencySets>
</assembly>

Some files were not shown because too many files have changed in this diff Show more