summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-M2/sca/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-M2/sca/runtime')
-rw-r--r--branches/sca-java-M2/sca/runtime/equinox/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/runtime/equinox/pom.xml61
-rw-r--r--branches/sca-java-M2/sca/runtime/equinox/src/test/java/org/apache/tuscany/equinox/EquinoxStartTestCase.java42
-rw-r--r--branches/sca-java-M2/sca/runtime/osgi/.pmd20
-rw-r--r--branches/sca-java-M2/sca/runtime/osgi/.ruleset190
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/runtime/osgi/NOTICE.txt14
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/README.txt35
-rw-r--r--branches/sca-java-M2/sca/runtime/osgi/pom.xml90
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/LauncherActivator.java79
-rw-r--r--branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGILauncherInitException.java41
-rw-r--r--branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGiHost.java32
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteMethodException.java36
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteServiceException.java41
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBinding.java47
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingBuilder.java73
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingException.java41
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingLoader.java64
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiInvoker.java81
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiReference.java62
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiService.java109
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/BundleContextUtil.java93
-rw-r--r--branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/ClassloaderHook.java82
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/resources/META-INF/MANIFEST.MF14
-rwxr-xr-xbranches/sca-java-M2/sca/runtime/osgi/src/main/resources/META-INF/sca/osgibinding.scdl41
-rw-r--r--branches/sca-java-M2/sca/runtime/pom.xml41
-rw-r--r--branches/sca-java-M2/sca/runtime/standalone-host/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/runtime/standalone-host/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/runtime/standalone-host/pom.xml46
-rw-r--r--branches/sca-java-M2/sca/runtime/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/DirectoryScanExtender.java60
-rw-r--r--branches/sca-java-M2/sca/runtime/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java125
-rw-r--r--branches/sca-java-M2/sca/runtime/standalone/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/runtime/standalone/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/runtime/standalone/pom.xml40
-rw-r--r--branches/sca-java-M2/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfo.java28
-rw-r--r--branches/sca-java-M2/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfoImpl.java58
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/.ruleset190
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/pom.xml70
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/InvalidCompositePath.java43
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletHostImpl.java142
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherInitException.java44
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/UnSupportedRuntimeException.java44
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebResourceScanExtender.java83
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java235
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/sca/binding.axis2.scdl44
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/sca/databinding.sdo.scdl34
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl139
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/Foo.java25
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/FooImpl.java25
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/ServletHostTestCase.java83
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java68
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp-host/src/test/resources/testapp.scdl26
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/.ruleset190
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/LICENSE.txt202
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/NOTICE.txt14
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/pom.xml60
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/Constants.java104
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherMonitor.java33
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyContextListener.java110
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyFilter.java68
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyInitException.java40
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyRequestListener.java78
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyServlet.java59
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanySessionListener.java52
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntime.java78
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfo.java36
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfoImpl.java58
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappUtil.java56
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappUtilImpl.java127
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyContextListenerTestCase.java104
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyFilterTestCase.java118
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyServletTestCase.java80
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanySessionListenerTestCase.java73
-rw-r--r--branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/WebappUtilTestCase.java131
76 files changed, 0 insertions, 6004 deletions
diff --git a/branches/sca-java-M2/sca/runtime/equinox/LICENSE.txt b/branches/sca-java-M2/sca/runtime/equinox/LICENSE.txt
deleted file mode 100644
index 0084319535..0000000000
--- a/branches/sca-java-M2/sca/runtime/equinox/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, serviceDefinition marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/runtime/equinox/pom.xml b/branches/sca-java-M2/sca/runtime/equinox/pom.xml
deleted file mode 100644
index ae8a4ad2c1..0000000000
--- a/branches/sca-java-M2/sca/runtime/equinox/pom.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.runtime</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>equinox</artifactId>
- <packaging>jar</packaging>
- <name>Tuscany Equinox Runtime</name>
- <description>Tuscany Equinox Runtime Host</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-spi</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.equinox</groupId>
- <artifactId>osgi</artifactId>
- <version>3.1.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>test</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- </dependency>
- </dependencies>
-
-</project>
diff --git a/branches/sca-java-M2/sca/runtime/equinox/src/test/java/org/apache/tuscany/equinox/EquinoxStartTestCase.java b/branches/sca-java-M2/sca/runtime/equinox/src/test/java/org/apache/tuscany/equinox/EquinoxStartTestCase.java
deleted file mode 100644
index 93866cbf41..0000000000
--- a/branches/sca-java-M2/sca/runtime/equinox/src/test/java/org/apache/tuscany/equinox/EquinoxStartTestCase.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.equinox;
-
-import org.eclipse.osgi.framework.adaptor.FrameworkAdaptor;
-import org.eclipse.osgi.framework.internal.core.OSGi;
-import org.eclipse.osgi.framework.internal.defaultadaptor.DefaultAdaptor;
-import org.osgi.framework.Bundle;
-import junit.framework.TestCase;
-
-/**
- * @version $$Rev$$ $$Date$$
- */
-public class EquinoxStartTestCase extends TestCase {
-
- public void testStart() throws Exception {
- FrameworkAdaptor adaptor = new DefaultAdaptor(new String[]{});
- OSGi osgi = new OSGi(adaptor);
- osgi.launch();
-// FileInputStream stream = new FileInputStream("/Users/jmarino/workspace/tuscany/tuscany/tuscany/sandbox/jboynes/sca/runtime/equinox/src/test/resources/http.jar");
-// osgi.getBundleContext().installBundle("foo", stream);
- for (Bundle bundle : osgi.getBundleContext().getBundles()) {
-
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/.pmd b/branches/sca-java-M2/sca/runtime/osgi/.pmd
deleted file mode 100644
index 0e3d0ef921..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/.pmd
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<pmd><useProjectRuleSet>true</useProjectRuleSet><rules/></pmd>
diff --git a/branches/sca-java-M2/sca/runtime/osgi/.ruleset b/branches/sca-java-M2/sca/runtime/osgi/.ruleset
deleted file mode 100644
index 3886f07f2d..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/sca-java-M2/sca/runtime/osgi/LICENSE.txt b/branches/sca-java-M2/sca/runtime/osgi/LICENSE.txt
deleted file mode 100755
index 0084319535..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, serviceDefinition marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/runtime/osgi/NOTICE.txt b/branches/sca-java-M2/sca/runtime/osgi/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/runtime/osgi/README.txt b/branches/sca-java-M2/sca/runtime/osgi/README.txt
deleted file mode 100755
index 9b26d1690a..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/README.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-Apache Tuscany M1 build (May, 2006)
-===================================
-
-http://incubator.apache.org/tuscany/
-
-Tuscany is an effort undergoing incubation at the Apache Software Foundation
-(ASF), sponsored by the Web Services PMC.
-
-Incubation is required of all newly accepted projects until a further review
-indicates that the infrastructure, communications, and decision making process
-have stabilized in a manner consistent with other successful ASF projects.
-
-While incubation status is not necessarily a reflection of the completeness or
-stability of the code, it does indicate that the project has yet to be fully
-endorsed by the ASF.
-
-
-Support
--------
-
-Any problem with this release can be reported to the Tuscany mailing list
-or in the JIRA issue tracker.
-
-Mailing list subscription:
- tuscany-dev-subscribe@ws.apache.org
-
-Jira:
- http://issues.apache.org/jira/browse/Tuscany
-
-
-Thank you for using Tuscany!
-
-
-The Tuscany Team.
-
diff --git a/branches/sca-java-M2/sca/runtime/osgi/pom.xml b/branches/sca-java-M2/sca/runtime/osgi/pom.xml
deleted file mode 100644
index 01a9070e0d..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/pom.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>org.apache.tuscany.sca.runtime</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>tuscany-osgi</artifactId>
- <packaging>osgi-bundle</packaging>
- <name>Apache Tuscany OSGi Runtime</name>
- <description>Integration code to embed the Tuscany runtime in an OSGi container and a binding implementation for
- consuming OSGi services and publishing SCA services to OSGi.</description>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>core</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.equinox</groupId>
- <artifactId>osgi</artifactId>
- <version>3.1.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>test</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix.plugins</groupId>
- <artifactId>maven-osgi-plugin</artifactId>
- <extensions>true</extensions>
- <configuration>
- <ignorePackage>com.sun.msv.grammar, com.sun.msv.grammar.trex, com.sun.msv.reader,
- com.sun.msv.reader.trex.ng, com.sun.msv.reader.util, com.sun.msv.util, com.sun.msv.verifier,
- com.sun.msv.verifier.regexp, javax.resource.spi.work
- </ignorePackage>
- <osgiManifest>
- <bundleName>${pom.name}</bundleName>
- <bundleDescription>${pom.description}</bundleDescription>
- <bundleVendor>${pom.organization.name}</bundleVendor>
- <bundleLocalization>plugin</bundleLocalization>
- <bundleSymbolicName>org.apache.tuscany</bundleSymbolicName>
- <bundleActivator>org.apache.tuscany.osgi.LauncherActivator</bundleActivator>
- <!--<exportPackage>org.apache.tuscany.*</exportPackage>-->
- </osgiManifest>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/LauncherActivator.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/LauncherActivator.java
deleted file mode 100755
index 2d7027e208..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/LauncherActivator.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi;
-
-import java.io.File;
-import java.net.URL;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-
-import org.apache.tuscany.api.TuscanyException;
-import org.apache.tuscany.core.launcher.LauncherImpl;
-import org.apache.tuscany.core.monitor.NullMonitorFactory;
-import org.apache.tuscany.osgi.util.BundleContextUtil;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * Responsible for launching the Tuscany Runtime in as part of an OSGi bundle
- */
-public class LauncherActivator implements BundleActivator {
-
- private LauncherImpl launcher;
-
- public void start(BundleContext context) throws Exception {
- BundleContextUtil.setContext(context);
- startRuntime(context);
-
- }
-
- public void stop(BundleContext context) throws Exception {
- if (launcher != null) {
- launcher.shutdownRuntime();
- }
- }
-
-
- private void startRuntime(BundleContext context) throws OSGILauncherInitException {
- launcher = new LauncherImpl();
- // Current thread context classloader should be the webapp classloader
- ClassLoader webappClassLoader = Thread.currentThread().getContextClassLoader();
- launcher.setApplicationLoader(webappClassLoader);
-
- try {
- System.out.println(":::" + new File(".").toURL().toString());
- // URL systemScdl = getSystemSCDL(systemScdlPath);
- CompositeComponent rt =
- launcher.bootRuntime(new File("./sca/system.scdl").toURI().toURL(), new NullMonitorFactory());
- } catch (Exception e) {
- throw new OSGILauncherInitException(e);
- }
- }
-
- private void bootApplication(String name, URL scdl) throws TuscanyException {
- CompositeComponent root = launcher.bootApplication(name, scdl);
- root.start();
- }
-
- private void loadExtension(String name, URL scdl) throws TuscanyException {
- CompositeComponent root = launcher.bootApplication(name, scdl);
- root.start();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGILauncherInitException.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGILauncherInitException.java
deleted file mode 100644
index b01f18314d..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGILauncherInitException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi;
-
-import org.apache.tuscany.api.TuscanyException;
-
-/**
- * @version $Rev$ $Date$
- */
-public class OSGILauncherInitException extends TuscanyException {
- public OSGILauncherInitException() {
- }
-
- public OSGILauncherInitException(String string) {
- super(string);
- }
-
- public OSGILauncherInitException(String string, Throwable throwable) {
- super(string, throwable);
- }
-
- public OSGILauncherInitException(Throwable throwable) {
- super(throwable);
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGiHost.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGiHost.java
deleted file mode 100644
index c16d27a937..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGiHost.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi;
-
-import java.util.Properties;
-
-import org.apache.tuscany.spi.host.ServletHost;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface OSGiHost extends ServletHost {
-
- void registerService(String serviceName, Object service, Properties properties);
-
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteMethodException.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteMethodException.java
deleted file mode 100755
index 657640d854..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteMethodException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi.binding;
-
-public class NoRemoteMethodException extends OSGiBindingException {
-
- private static final long serialVersionUID = 5037327699117168707L;
-
- public NoRemoteMethodException(String message) {
- super(message);
- }
-
- public NoRemoteMethodException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public NoRemoteMethodException(Throwable cause) {
- super("", cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteServiceException.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteServiceException.java
deleted file mode 100755
index 0df2a282c9..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteServiceException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi.binding;
-
-import org.osgi.framework.BundleException;
-
-/**
- * FIXME class not used
- *
- * @version $Rev$ $Date$
- */
-public class NoRemoteServiceException extends BundleException {
-
- public NoRemoteServiceException(String message) {
- super(message);
- }
-
- public NoRemoteServiceException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public NoRemoteServiceException(Throwable cause) {
- super("", cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBinding.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBinding.java
deleted file mode 100755
index 11d96ebe9e..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBinding.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi.binding;
-
-import org.apache.tuscany.spi.model.Binding;
-
-/**
- * Represents a binding to an OSGi service.
- *
- * @version $Rev$ $Date$
- */
-public class OSGiBinding extends Binding {
- private String uri;
- private String service;
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public void setService(String service) {
- this.service = service;
- }
-
- public String getService() {
- return service;
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingBuilder.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingBuilder.java
deleted file mode 100755
index 99977e9166..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingBuilder.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi.binding;
-
-import org.osoa.sca.annotations.Constructor;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.BindingBuilderExtension;
-import org.apache.tuscany.spi.model.BoundReferenceDefinition;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-
-import org.apache.tuscany.osgi.OSGiHost;
-
-/**
- * Builds a Service or Reference for an OSGi binding.
- *
- * @version $Rev$ $Date$
- */
-public class OSGiBindingBuilder extends BindingBuilderExtension<OSGiBinding> {
-
- OSGiHost host;
-
- @Constructor
- public OSGiBindingBuilder(@Autowire OSGiHost host) {
- this.host = host;
- }
-
- protected Class<OSGiBinding> getBindingType() {
- return OSGiBinding.class;
- }
-
- public Service build(CompositeComponent parent,
- BoundServiceDefinition<OSGiBinding> boundServiceDefinition,
- DeploymentContext deploymentContext) {
- String name = boundServiceDefinition.getName();
- Class<? extends Object> service = getServiceInterface(boundServiceDefinition);
- String osgiServiceName = boundServiceDefinition.getBinding().getService();
- return new OSGiService(name, parent, wireService, osgiServiceName, service, host);
- }
-
- public OSGiReference build(CompositeComponent parent,
- BoundReferenceDefinition<OSGiBinding> boundReferenceDefinition,
- DeploymentContext deploymentContext) {
- String name = boundReferenceDefinition.getName();
- String uri = boundReferenceDefinition.getBinding().getURI();
- Class<?> interfaze = boundReferenceDefinition.getServiceContract().getInterfaceClass();
- return new OSGiReference(name, interfaze, parent, wireService, uri);
- }
-
- protected Class<? extends Object> getServiceInterface(BoundServiceDefinition<OSGiBinding> boundServiceDefinition) {
- return boundServiceDefinition.getServiceContract().getInterfaceClass();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingException.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingException.java
deleted file mode 100755
index a8b913bad0..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi.binding;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-
-/**
- * @version $Rev$ $Date$
- */
-public abstract class OSGiBindingException extends TuscanyRuntimeException {
- protected OSGiBindingException() {
- }
-
- protected OSGiBindingException(String message) {
- super(message);
- }
-
- protected OSGiBindingException(String message, Throwable cause) {
- super(message, cause);
- }
-
- protected OSGiBindingException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingLoader.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingLoader.java
deleted file mode 100755
index 7f335a4dbe..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingLoader.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation
- *
- * 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.
- */
-package org.apache.tuscany.osgi.binding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.osoa.sca.annotations.Constructor;
-import org.osoa.sca.annotations.Scope;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderUtil;
-
-/**
- * Loader for handling <code>binding.osgi</code> elements.
- *
- * @version $Rev$ $Date$
- */
-@Scope("MODULE")
-public class OSGiBindingLoader extends LoaderExtension<OSGiBinding> {
- public static final QName BINDING_OSGI = new QName("http://tuscany.apache.org/xmlns/osgi/1.0", "binding.osgi");
-
- @Constructor
- public OSGiBindingLoader(@Autowire LoaderRegistry registry) {
- super(registry);
- }
-
- public QName getXMLType() {
- return BINDING_OSGI;
- }
-
- public OSGiBinding load(CompositeComponent parent, XMLStreamReader reader, DeploymentContext deploymentContext)
- throws XMLStreamException, LoaderException {
- String uri = reader.getAttributeValue(null, "uri");
- String service = reader.getAttributeValue(null, "service");
- LoaderUtil.skipToEndElement(reader);
-
- OSGiBinding binding = new OSGiBinding();
- binding.setURI(uri);
- binding.setService(service);
- return binding;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiInvoker.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiInvoker.java
deleted file mode 100755
index b6fb480101..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiInvoker.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi.binding;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-/**
- * Invokes the target service of an OSGi reference.
- *
- * @version $Rev$ $Date$
- */
-public class OSGiInvoker implements TargetInvoker {
- private final Method remoteMethod;
- private final Object proxy;
-
- OSGiInvoker(Object proxy, Method remoteMethod) {
- assert remoteMethod.isAccessible();
- this.remoteMethod = remoteMethod;
- this.proxy = proxy;
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- Object resp = invokeTarget(msg.getBody());
- msg.setBody(resp);
- } catch (InvocationTargetException e) {
- msg.setBody(e.getCause());
- }
- return msg;
- }
-
- public Object invokeTarget(Object payload) throws InvocationTargetException {
- try {
- return remoteMethod.invoke(proxy, (Object[]) payload);
- } catch (IllegalAccessException e) {
- // the method we are passed must be accessible
- throw new AssertionError(e);
- }
- }
-
- public Object clone() throws CloneNotSupportedException {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- throw new AssertionError(e);
- }
- }
-
- public boolean isOptimizable() {
- return false;
- }
-
- public boolean isCacheable() {
- return false;
- }
-
- // FIXME I think we can always have this cacheable as OSGi services are thread-safe
- public void setCacheable(boolean cacheable) {
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiReference.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiReference.java
deleted file mode 100755
index e365c4c6a2..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiReference.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi.binding;
-
-import java.lang.reflect.Method;
-import java.rmi.Remote;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.extension.ReferenceExtension;
-import org.apache.tuscany.spi.idl.java.JavaIDLUtils;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.WireService;
-
-/**
- * @version $Rev$ $Date$
- */
-public class OSGiReference extends ReferenceExtension {
- //private final String uri;
-
- public OSGiReference(String name, Class<?> interfaze, CompositeComponent parent, WireService service, String uri) {
- super(name, interfaze, parent, service);
- //this.uri = uri;
- }
-
- public TargetInvoker createTargetInvoker(ServiceContract contract, Operation operation) {
- try {
- Object proxy = getProxy();
- String name = operation.getName();
- Method method = JavaIDLUtils.findMethod(operation, contract.getInterfaceClass().getMethods());
- Class<?>[] parameterTypes = method.getParameterTypes();
- Method remoteMethod = proxy.getClass().getMethod(name, parameterTypes);
- return new OSGiInvoker(proxy, remoteMethod);
- } catch (NoSuchMethodException e) {
- // FIXME we should probably have this as a checked exception, which will entail adding to the SPI signature
- throw new NoRemoteMethodException(operation.toString(), e);
- }
- }
-
- protected Remote getProxy() {
- //FIXME use service reference
- return null;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiService.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiService.java
deleted file mode 100755
index afca35a71b..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiService.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi.binding;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.Properties;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.extension.ServiceExtension;
-import org.apache.tuscany.spi.wire.WireService;
-
-import org.apache.tuscany.osgi.OSGiHost;
-import org.osgi.framework.ServiceFactory;
-
-/**
- * @version $Rev$ $Date$
- */
-public class OSGiService extends ServiceExtension {
- private final String osgiServiceName;
- //private final Class<? extends Object> service;
- private OSGiHost host;
-
- /**
- * Creates a new service instance
- *
- * @param name the name of the SCA service
- * @param parent the containing composite
- * @param wireService the wire service to use for creating proxies
- * @param osgiServiceName the name to publish the service as to the OSGi hose
- * @param service the service type
- * @param host the OSGi host
- */
- public OSGiService(String name,
- CompositeComponent parent,
- WireService wireService,
- String osgiServiceName,
- Class<?> service,
- OSGiHost host) {
- super(name, service, parent, wireService);
- this.osgiServiceName = osgiServiceName;
- //this.service = service;
- this.host = host;
- }
-
- public void start() {
- super.start();
- Properties properties = new Properties();
- Object instance = getServiceInstance();
- if (instance instanceof ServiceFactory) {
- host.registerService(osgiServiceName, instance, properties);
- } else {
- ServiceFactoryProxyHandler factoryProxy = new ServiceFactoryProxyHandler(instance);
- Class<?> interfaces[] = instance.getClass().getInterfaces();
- Class<?> proxyInterfaces[] = new Class<?>[interfaces.length + 1];
- int i;
- for (i = 0; i < interfaces.length; i++) {
- proxyInterfaces[i] = interfaces[i];
- }
- proxyInterfaces[i] = ServiceFactory.class;
- ClassLoader classLoader = instance.getClass().getClassLoader();
- // TODO It seems we need a mixin capability for the service. We could add that to WireService
- Object targetProxy = Proxy.newProxyInstance(classLoader, proxyInterfaces, factoryProxy);
- host.registerService(osgiServiceName, targetProxy, properties);
- }
- //Register the service with OSGi
- }
-
- public void stop() {
- super.stop();
- //Unregister the service with OSGi
- }
-
- private class ServiceFactoryProxyHandler implements InvocationHandler {
-
- private Object instance;
-
- public ServiceFactoryProxyHandler(Object instance) {
- this.instance = instance;
- }
-
- public Object invoke(Object object, Method method, Object[] parms) throws Throwable {
- if (method.getName().equals("getService")) {
- return instance;
- } else if (method.getName().equals("ungetService")) {
- return null;
- }
- return method.invoke(instance, parms);
- }
-
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/BundleContextUtil.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/BundleContextUtil.java
deleted file mode 100755
index 02549a59fd..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/BundleContextUtil.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi.util;
-
-import java.util.Dictionary;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceListener;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-
-public final class BundleContextUtil {
-
- private static BundleContext context;
- private static final ServiceReference EMPTY_REFERENCE_ARRAY[] = {};
-
- private BundleContextUtil() {
- }
-
- public static void setContext(BundleContext ctx) {
- context = ctx;
- }
-
- public static ServiceReference[] getServiceReference(String clazz, String filter) throws InvalidSyntaxException {
- ServiceReference[] references;
- references = context.getServiceReferences(clazz, filter);
- if (references == null) {
- references = EMPTY_REFERENCE_ARRAY;
- }
- return references;
- }
-
- public static Object getService(ServiceReference reference) {
- return context.getService(reference);
- }
-
- public static Object getService(ServiceReference references[]) {
- if (references == null) {
- return null;
- }
- return context.getService(references[0]);
- }
-
- public static void addServiceListener(ServiceListener listener, String filter) {
- try {
- if (filter != null) {
- context.addServiceListener(listener, filter);
- } else {
- context.addServiceListener(listener);
- }
- } catch (InvalidSyntaxException e) {
- //FIXME
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- public static void removeServiceListener(ServiceListener listener) {
- context.removeServiceListener(listener);
- }
-
- public static ServiceRegistration registerService(String serviceName,
- Object serviceFactory,
- Dictionary properties) {
- return context.registerService(serviceName, serviceFactory, properties);
- }
-
- public static boolean trackServiceReference(String filter, ServiceListener listener) {
- try {
- context.addServiceListener(listener, filter);
- return true;
- } catch (InvalidSyntaxException e) {
- return false;
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/ClassloaderHook.java b/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/ClassloaderHook.java
deleted file mode 100644
index 9e08c04ded..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/ClassloaderHook.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.osgi.util;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
-import org.osgi.framework.Bundle;
-
-public class ClassloaderHook {
-
- /**
- * Return the BundleContext Classloader for the specified bundle.
- *
- * @param bundle The bundle whose BundleContext is desired.
- * @return The BundleContext classloader for the specified bundle.
- */
- ClassLoader getClassLoader(final Bundle bundle) {
- if (System.getSecurityManager() == null) {
- Object bundleLoader = invokeMethod(bundle, "checkLoader", null, null);
- return (ClassLoader) invokeMethod(bundleLoader, "createClassLoader", null, null);
- }
- return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() {
- public ClassLoader run() {
- Object bundleLoader = invokeMethod(bundle, "checkLoader", null, null);
- return (ClassLoader) invokeMethod(bundleLoader, "createClassLoader", null, null);
- }
- });
- }
-
- /**
- * Throws an IllegalStateException if the reflection logic cannot find what it is looking for. This probably means
- * this class does not properly recognize the framework implementation.
- *
- * @param e Exception which indicates the reflection logic is confused.
- */
- protected void reflectionException(Exception e) {
- throw new IllegalStateException(
- "ClassLoaderHook does not recognize the framework implementation: " + e.getMessage());
- }
-
- private Object invokeMethod(Object target, String methodName, Class[] parms, Object[] args) {
- Method method;
- try {
- method = target.getClass().getMethod(methodName, parms);
- if (method != null) {
- return method.invoke(target, parms, args);
- }
- } catch (SecurityException e) {
- reflectionException(e);
- } catch (NoSuchMethodException e) {
- reflectionException(e);
- } catch (IllegalArgumentException e) {
- reflectionException(e);
- } catch (IllegalAccessException e) {
- reflectionException(e);
- } catch (InvocationTargetException e) {
- reflectionException(e);
- }
- return null;
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/resources/META-INF/MANIFEST.MF b/branches/sca-java-M2/sca/runtime/osgi/src/main/resources/META-INF/MANIFEST.MF
deleted file mode 100755
index bb72ca36e5..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/resources/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Tuscany_binding_osgi Plug-in
-Bundle-SymbolicName: tuscany_binding_osgi
-Bundle-Version: 1.0.0
-Bundle-Activator: org.apache.tuscany.binding.osgi.LauncherActivator
-Bundle-Localization: plugin
-Import-Package: org.osgi.framework;version="1.3.0",
- org.osgi.util.tracker;version="1.3.1",
- org.osoa.sca,
- org.osoa.sca.annotations
-Require-Bundle: tuscany.osgi.sca.spi,
- tuscany_external_dependencies,
- tuscany.osgi.sca.core
diff --git a/branches/sca-java-M2/sca/runtime/osgi/src/main/resources/META-INF/sca/osgibinding.scdl b/branches/sca-java-M2/sca/runtime/osgi/src/main/resources/META-INF/sca/osgibinding.scdl
deleted file mode 100755
index 14dfbbbbca..0000000000
--- a/branches/sca-java-M2/sca/runtime/osgi/src/main/resources/META-INF/sca/osgibinding.scdl
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
-
- name="binding.osgi">
-
- <component name="osgi.implementationLoader">
- <system:implementation.system class="org.apache.tuscany.osgOSGiBindingBuilderi.binding.OSGiBindingLoader"/>
- </component>
- <component name="osgi.bindingBuilder">
- <system:implementation.system class="org.apache.tuscany.osgi.binding.OSGiBindingBuilder"/>
- </component>
- <component name="osgi.componentLoader">
- <system:implementation.system class="org.apache.tuscany.implementation.osgi.OSGiImplementationLoader"/>
- </component>
- <component name="osgi.componentTypeLoader">
- <system:implementation.system class="org.apache.tuscany.implementation.osgi.OSGiComponentTypeLoader"/>
- </component>
- <component name="osgi.componentBuilder">
- <system:implementation.system class="org.apache.tuscany.implementation.osgi.OSGiComponentBuilder"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/runtime/pom.xml b/branches/sca-java-M2/sca/runtime/pom.xml
deleted file mode 100644
index f2f097536e..0000000000
--- a/branches/sca-java-M2/sca/runtime/pom.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.tuscany.sca.runtime</groupId>
- <artifactId>parent</artifactId>
- <packaging>pom</packaging>
- <name>Tuscany SCA Runtime Hosts</name>
-
- <modules>
- <module>webapp</module>
- <module>webapp-host</module>
- <module>standalone</module>
- <module>standalone-host</module>
- </modules>
-
-</project>
diff --git a/branches/sca-java-M2/sca/runtime/standalone-host/LICENSE.txt b/branches/sca-java-M2/sca/runtime/standalone-host/LICENSE.txt
deleted file mode 100644
index 0084319535..0000000000
--- a/branches/sca-java-M2/sca/runtime/standalone-host/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, serviceDefinition marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/runtime/standalone-host/NOTICE.txt b/branches/sca-java-M2/sca/runtime/standalone-host/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/runtime/standalone-host/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/runtime/standalone-host/pom.xml b/branches/sca-java-M2/sca/runtime/standalone-host/pom.xml
deleted file mode 100644
index bc782d8b3f..0000000000
--- a/branches/sca-java-M2/sca/runtime/standalone-host/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.runtime</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>standalone-host</artifactId>
- <packaging>jar</packaging>
- <name>Apache Tuscany Standalone Runtime Host</name>
- <description>Host code to support a standalone runtime</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>core</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.runtime</groupId>
- <artifactId>standalone</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-</project>
diff --git a/branches/sca-java-M2/sca/runtime/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/DirectoryScanExtender.java b/branches/sca-java-M2/sca/runtime/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/DirectoryScanExtender.java
deleted file mode 100644
index 7091c90fa3..0000000000
--- a/branches/sca-java-M2/sca/runtime/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/DirectoryScanExtender.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.standalone.host;
-
-import java.io.File;
-
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Property;
-
-import org.apache.tuscany.core.services.extension.AbstractExtensionDeployer;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.services.VoidService;
-import org.apache.tuscany.runtime.standalone.StandaloneRuntimeInfo;
-
-/**
- * Service that extends the runtime by loading composites located in a directory.
- *
- * @version $Rev$ $Date$
- */
-public class DirectoryScanExtender extends AbstractExtensionDeployer implements VoidService {
- private final StandaloneRuntimeInfo runtimeInfo;
- private final String path;
-
- public DirectoryScanExtender(@Autowire StandaloneRuntimeInfo runtimeInfo,
- @Property(name = "path") String path) {
- this.runtimeInfo = runtimeInfo;
- this.path = path;
- }
-
- @Init(eager = true)
- public void init() {
- assert runtimeInfo != null;
- File extensionDir = new File(runtimeInfo.getInstallDirectory(), path);
- if (!extensionDir.isDirectory()) {
- // we don't have an extension directory, there's nothing to do
- return;
- }
-
- File[] files = extensionDir.listFiles();
- for (File file : files) {
- deployExtension(file);
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java b/branches/sca-java-M2/sca/runtime/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java
deleted file mode 100644
index 0f9fefd5e9..0000000000
--- a/branches/sca-java-M2/sca/runtime/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.standalone.host;
-
-import javax.xml.stream.XMLInputFactory;
-
-import org.osoa.sca.SCA;
-
-import org.apache.tuscany.spi.bootstrap.ComponentNames;
-import org.apache.tuscany.spi.bootstrap.RuntimeComponent;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.Deployer;
-import org.apache.tuscany.spi.loader.LoaderException;
-
-import org.apache.tuscany.core.bootstrap.Bootstrapper;
-import org.apache.tuscany.core.bootstrap.DefaultBootstrapper;
-import org.apache.tuscany.core.launcher.CompositeContextImpl;
-import org.apache.tuscany.core.runtime.AbstractRuntime;
-import org.apache.tuscany.host.MonitorFactory;
-import org.apache.tuscany.host.RuntimeInfo;
-import org.apache.tuscany.runtime.standalone.StandaloneRuntimeInfo;
-
-/**
- * @version $Rev$ $Date$
- */
-public class StandaloneRuntimeImpl extends AbstractRuntime {
- private CompositeContextImpl context;
- private RuntimeComponent runtime;
- private CompositeComponent systemComponent;
- private CompositeComponent tuscanySystem;
- private CompositeComponent application;
-
- public void initialize() {
- ClassLoader bootClassLoader = getClass().getClassLoader();
-
- // Read optional system monitor factory classname
- MonitorFactory mf = getMonitorFactory();
-
- XMLInputFactory xmlFactory = XMLInputFactory.newInstance("javax.xml.stream.XMLInputFactory", bootClassLoader);
-
- Bootstrapper bootstrapper = new DefaultBootstrapper(mf, xmlFactory);
- runtime = bootstrapper.createRuntime();
- runtime.start();
- systemComponent = runtime.getSystemComponent();
-
- // register the runtime info provided by the host
- RuntimeInfo runtimeInfo = getRuntimeInfo();
- systemComponent.registerJavaObject(RuntimeInfo.COMPONENT_NAME, RuntimeInfo.class, runtimeInfo);
- systemComponent.registerJavaObject(StandaloneRuntimeInfo.COMPONENT_NAME,
- StandaloneRuntimeInfo.class,
- (StandaloneRuntimeInfo) runtimeInfo);
-
- // register the monitor factory provided by the host
- systemComponent.registerJavaObject("MonitorFactory", MonitorFactory.class, mf);
-
- systemComponent.start();
-
- try {
- // deploy the system scdl
- Deployer deployer = bootstrapper.createDeployer();
- tuscanySystem = deploySystemScdl(deployer,
- systemComponent,
- ComponentNames.TUSCANY_SYSTEM,
- getSystemScdl(),
- bootClassLoader);
- tuscanySystem.start();
-
- // switch to the system deployer
- deployer = (Deployer) tuscanySystem.getSystemChild("deployer").getServiceInstance();
-
- application = deployApplicationScdl(deployer,
- runtime.getRootComponent(),
- getApplicationName(),
- getApplicationScdl(),
- getApplicationClassLoader());
- application.start();
-
- context = new CompositeContextImpl(application);
- } catch (LoaderException e) {
- // FIXME do something with this
- e.printStackTrace();
- }
- }
-
- public void destroy() {
- context = null;
- if (application != null) {
- application.stop();
- application = null;
- }
- if (tuscanySystem != null) {
- tuscanySystem.stop();
- tuscanySystem = null;
- }
- if (systemComponent != null) {
- systemComponent.stop();
- systemComponent = null;
- }
- if (runtime != null) {
- runtime.stop();
- runtime = null;
- }
- }
-
- public SCA getContext() {
- return context;
- }
-
-}
diff --git a/branches/sca-java-M2/sca/runtime/standalone/LICENSE.txt b/branches/sca-java-M2/sca/runtime/standalone/LICENSE.txt
deleted file mode 100644
index 0084319535..0000000000
--- a/branches/sca-java-M2/sca/runtime/standalone/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, serviceDefinition marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/runtime/standalone/NOTICE.txt b/branches/sca-java-M2/sca/runtime/standalone/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/runtime/standalone/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/runtime/standalone/pom.xml b/branches/sca-java-M2/sca/runtime/standalone/pom.xml
deleted file mode 100644
index c8be645d5e..0000000000
--- a/branches/sca-java-M2/sca/runtime/standalone/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.runtime</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>standalone</artifactId>
- <packaging>jar</packaging>
- <name>Apache Tuscany Standalone Runtime</name>
- <description>Code to run Tuscany in a standalone application.</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-host-api</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-</project>
diff --git a/branches/sca-java-M2/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfo.java b/branches/sca-java-M2/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfo.java
deleted file mode 100644
index 6224121d39..0000000000
--- a/branches/sca-java-M2/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfo.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.standalone;
-
-import org.apache.tuscany.host.RuntimeInfo;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface StandaloneRuntimeInfo extends RuntimeInfo {
- static String COMPONENT_NAME = "StandaloneRuntimeInfo";
-}
diff --git a/branches/sca-java-M2/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfoImpl.java b/branches/sca-java-M2/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfoImpl.java
deleted file mode 100644
index 01b0ba0c46..0000000000
--- a/branches/sca-java-M2/sca/runtime/standalone/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntimeInfoImpl.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.standalone;
-
-import java.io.File;
-import java.net.URL;
-
-/**
- * @version $Rev$ $Date$
- */
-public class StandaloneRuntimeInfoImpl implements StandaloneRuntimeInfo {
- private final File installDirectory;
- private final File applicationRootDirectory;
- private final URL baseURL;
- private final boolean online;
-
- public StandaloneRuntimeInfoImpl(URL baseURL,
- File installDirectory,
- File applicationRootDirectory,
- boolean online) {
- this.baseURL = baseURL;
- this.installDirectory = installDirectory;
- this.applicationRootDirectory = applicationRootDirectory;
- this.online = online;
- }
-
- public File getInstallDirectory() {
- return installDirectory;
- }
-
- public File getApplicationRootDirectory() {
- return applicationRootDirectory;
- }
-
- public URL getBaseURL() {
- return baseURL;
- }
-
- public boolean isOnline() {
- return online;
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/.ruleset b/branches/sca-java-M2/sca/runtime/webapp-host/.ruleset
deleted file mode 100644
index 3886f07f2d..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/LICENSE.txt b/branches/sca-java-M2/sca/runtime/webapp-host/LICENSE.txt
deleted file mode 100644
index 0084319535..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, serviceDefinition marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/NOTICE.txt b/branches/sca-java-M2/sca/runtime/webapp-host/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/pom.xml b/branches/sca-java-M2/sca/runtime/webapp-host/pom.xml
deleted file mode 100644
index 83be251c32..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/pom.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.runtime</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>webapp-host</artifactId>
- <packaging>jar</packaging>
- <name>Apache Tuscany Web Application Host</name>
- <description>Host code to run Tuscany in a Web application.</description>
-
- <dependencies>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca.services</groupId>
- <artifactId>maven</artifactId>
- <version>${sca.version}</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.runtime</groupId>
- <artifactId>webapp</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>test</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-</project>
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/InvalidCompositePath.java b/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/InvalidCompositePath.java
deleted file mode 100644
index 100bfa3560..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/InvalidCompositePath.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import org.apache.tuscany.api.TuscanyException;
-
-/**
- * Denotes an invalid path representing a composite in application hierarchy
- *
- * @version $Rev$ $Date$
- */
-public class InvalidCompositePath extends TuscanyException {
- public InvalidCompositePath() {
- }
-
- public InvalidCompositePath(String message) {
- super(message);
- }
-
- public InvalidCompositePath(String message, Throwable cause) {
- super(message, cause);
- }
-
- public InvalidCompositePath(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletHostImpl.java b/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletHostImpl.java
deleted file mode 100644
index 8d556b4c2a..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletHostImpl.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import static org.apache.tuscany.core.component.scope.HttpSessionScopeContainer.HTTP_IDENTIFIER;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.servlet.Servlet;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.tuscany.core.component.event.HttpRequestEnded;
-import org.apache.tuscany.core.component.event.HttpRequestStart;
-import org.apache.tuscany.core.component.event.HttpSessionEnd;
-import org.apache.tuscany.core.component.event.HttpSessionStart;
-import org.apache.tuscany.host.servlet.ServletRequestInjector;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.ScopeRegistry;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.event.Event;
-import org.apache.tuscany.spi.event.EventFilter;
-import org.apache.tuscany.spi.event.EventPublisher;
-import org.apache.tuscany.spi.event.RuntimeEventListener;
-import org.apache.tuscany.spi.host.ServletHost;
-import org.apache.tuscany.spi.model.Scope;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Service;
-
-/**
- * A <code>ServletHost</code> implementation that forwards requests to registered servlets
- */
-@Service(ServletHost.class)
-public class ServletHostImpl implements ServletHost, ServletRequestInjector, EventPublisher {
-
- protected Map<String, Servlet> servlets;
-
- public ServletHostImpl() {
- this.servlets = new HashMap<String, Servlet>();
- }
-
- @Init(eager = true)
- public void init() {
- }
-
- protected ScopeRegistry registry = null;
-
- @Autowire(required = false)
- public void setSessionScopeContainer(ScopeRegistry registry) {
- this.registry = registry;
- }
-
- WorkContext workContext = null;
-
- @Autowire(required = false)
- public void setWorkContext(WorkContext workContext) {
- this.workContext = workContext;
- }
-
- public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
- assert req instanceof HttpServletRequest : "implementation only supports HttpServletRequest";
- String path = ((HttpServletRequest) req).getPathInfo();
- Servlet servlet = servlets.get(path);
- if (servlet == null) {
- throw new IllegalStateException("No servlet registered for path: " + path);
- }
- servlet.service(req, resp);
- }
-
- public void registerMapping(String path, Servlet servlet) {
- if (servlets.containsKey(path)) {
- throw new IllegalStateException("Servlet already registered at path: " + path);
- }
- servlets.put(path, servlet);
- }
-
- public void unregisterMapping(String path) {
- servlets.remove(path);
- }
-
- public void addListener(RuntimeEventListener listener) {
- throw new UnSupportedRuntimeException("Not Supported");
-
- }
-
- public void addListener(EventFilter filter, RuntimeEventListener listener) {
- throw new UnSupportedRuntimeException("Not Supported");
-
- }
-
- public void publish(Event event) {
- if (null != registry && (event instanceof HttpSessionStart || event instanceof HttpSessionEnd)) {
- ScopeContainer sc = registry.getScopeContainer(Scope.SESSION);
- if (null != sc) {
- sc.onEvent(event);
-
- }
- }
- if (null != workContext) {
- if (event instanceof HttpRequestStart) {
- Object key = ((HttpRequestStart) event).getId();
- if (null != key) {
- workContext.setIdentifier(HTTP_IDENTIFIER, ((HttpRequestStart) event).getId());
- } else { // new request with no session.
- workContext.clearIdentifier(HTTP_IDENTIFIER);
- }
- } else if (event instanceof HttpRequestEnded) {
- workContext.clearIdentifier(HTTP_IDENTIFIER);
-
- }
-
- }
-
- }
-
- public void removeListener(RuntimeEventListener listener) {
- throw new UnSupportedRuntimeException("Not Supported");
-
- }
-
-} \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherInitException.java b/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherInitException.java
deleted file mode 100644
index 6e0726c801..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherInitException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-
-/**
- * Thrown when an error is encountered booting the runtme in a web app environment
- *
- * @version $Rev$ $Date$
- */
-public class ServletLauncherInitException extends TuscanyRuntimeException {
-
- public ServletLauncherInitException() {
- }
-
- public ServletLauncherInitException(String message) {
- super(message);
- }
-
- public ServletLauncherInitException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public ServletLauncherInitException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/UnSupportedRuntimeException.java b/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/UnSupportedRuntimeException.java
deleted file mode 100644
index 9cfa7345d6..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/UnSupportedRuntimeException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-
-/**
- * Thrown when an error is encountered booting the runtme in a web app environment
- *
- * @version $Rev: 439728 $ $Date: 2006-09-03 02:02:44 -0400 (Sun, 03 Sep 2006) $
- */
-public class UnSupportedRuntimeException extends TuscanyRuntimeException {
-
- public UnSupportedRuntimeException() {
- }
-
- public UnSupportedRuntimeException(String message) {
- super(message);
- }
-
- public UnSupportedRuntimeException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public UnSupportedRuntimeException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebResourceScanExtender.java b/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebResourceScanExtender.java
deleted file mode 100644
index 23d7b29e55..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebResourceScanExtender.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import java.net.URL;
-import java.net.MalformedURLException;
-import java.util.Set;
-
-import javax.servlet.ServletContext;
-
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Property;
-
-import org.apache.tuscany.core.services.extension.AbstractExtensionDeployer;
-import org.apache.tuscany.runtime.webapp.WebappRuntimeInfo;
-import org.apache.tuscany.spi.annotation.Autowire;
-
-/**
- * @version $Rev$ $Date$
- */
-public class WebResourceScanExtender extends AbstractExtensionDeployer {
- private final WebappRuntimeInfo runtimeInfo;
- private final String path;
-
- public WebResourceScanExtender(@Autowire WebappRuntimeInfo runtimeInfo,
- @Property(name = "path") String path) {
- this.runtimeInfo = runtimeInfo;
- this.path = path;
- }
-
- @Init
- public void init() {
- ServletContext servletContext = runtimeInfo.getServletContext();
- Set extensions = servletContext.getResourcePaths(path);
- if (extensions == null || extensions.isEmpty()) {
- // no extensions in this webapp
- return;
- }
-
- for (Object e : extensions) {
- String extensionPath = (String) e;
- URL extension;
- try {
- extension = servletContext.getResource(extensionPath);
- } catch (MalformedURLException e1) {
- // web container should return an invalid URL for a path it gave us
- throw new AssertionError();
- }
-
- String name = extensionPath.substring(path.length());
- if (name.charAt(name.length() - 1) == '/') {
- // TODO support exploded extensions
- continue;
- }
- if (name.charAt(0) == '.') {
- // hidden file
- continue;
- }
-
- int lastDot = name.lastIndexOf('.');
- if (lastDot != -1) {
- name = name.substring(0, lastDot);
- }
- deployExtension(name, extension);
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java b/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java
deleted file mode 100644
index c921b35050..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.logging.Level;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSessionEvent;
-import javax.xml.stream.XMLInputFactory;
-
-import org.apache.tuscany.core.bootstrap.Bootstrapper;
-import org.apache.tuscany.core.bootstrap.DefaultBootstrapper;
-import org.apache.tuscany.core.component.event.HttpRequestEnded;
-import org.apache.tuscany.core.component.event.HttpRequestStart;
-import org.apache.tuscany.core.component.event.HttpSessionEnd;
-import org.apache.tuscany.core.component.event.HttpSessionStart;
-import org.apache.tuscany.core.component.event.RequestEnd;
-import org.apache.tuscany.core.component.event.RequestStart;
-import org.apache.tuscany.core.launcher.CompositeContextImpl;
-import org.apache.tuscany.core.monitor.MonitorFactoryUtil;
-import org.apache.tuscany.core.runtime.AbstractRuntime;
-import org.apache.tuscany.host.MonitorFactory;
-import org.apache.tuscany.host.RuntimeInfo;
-import org.apache.tuscany.host.servlet.ServletRequestInjector;
-import org.apache.tuscany.spi.bootstrap.ComponentNames;
-import org.apache.tuscany.spi.bootstrap.RuntimeComponent;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.Deployer;
-import org.apache.tuscany.spi.event.EventPublisher;
-import org.osoa.sca.SCA;
-
-/**
- * Bootstrapper for the Tuscany runtime in a web application host. This listener manages one runtime per servlet
- * context; the lifecycle of that runtime corresponds to the the lifecycle of the associated servlet context.
- * <p/>
- * The bootstrapper launches the runtime, booting system extensions and applications, according to the servlet
- * parameters defined in {@link Constants}. When the runtime is instantiated, it is placed in the servlet context with
- * the attribute {@link Constants.RUNTIME_ATTRIBUTE}. The runtime implements {@link WebappRuntime} so that filters and
- * servlets loaded in the parent web app classloader may pass events and requests to it.
- * <p/>
- * By default, the top-most application composite component will be returned when "non-managed" web application code
- * such as JSPs call {@link org.osoa.sca.CurrentCompositeContext}. If a composite deeper in the hierarchy should be
- * returned instead, the <code>web.xml</code> must contain an entry for {@link Constants.CURRENT_COMPOSITE_PATH_PARAM}
- * whose value is a component path expression using '/' as a delimeter such as foo/bar/baz.
- *
- * @version $$Rev$$ $$Date$$
- */
-
-public class WebappRuntimeImpl extends AbstractRuntime implements WebappRuntime {
- private ServletContext servletContext;
-
-
- private ServletRequestInjector requestInjector;
- private CompositeContextImpl context;
- private RuntimeComponent runtime;
- private CompositeComponent systemComponent;
- private CompositeComponent tuscanySystem;
- private CompositeComponent application;
-
- public ServletContext getServletContext() {
- return servletContext;
- }
-
- public void setServletContext(ServletContext servletContext) {
- this.servletContext = servletContext;
- }
-
- public void initialize() {
- ClassLoader bootClassLoader = getClass().getClassLoader();
-
- // Read optional system monitor factory classname
- MonitorFactory mf = getMonitorFactory();
-
-
- XMLInputFactory xmlFactory = XMLInputFactory.newInstance("javax.xml.stream.XMLInputFactory", bootClassLoader);
-
- Bootstrapper bootstrapper = new DefaultBootstrapper(mf, xmlFactory);
- runtime = bootstrapper.createRuntime();
- runtime.start();
- systemComponent = runtime.getSystemComponent();
-
- // register the runtime info provided by the host
- // FIXME andyp@bea.com -- autowire appears to need an exact type match,
- // hence the need to register this twice
- systemComponent.registerJavaObject(RuntimeInfo.COMPONENT_NAME,
- RuntimeInfo.class,
- (WebappRuntimeInfo) getRuntimeInfo());
- systemComponent.registerJavaObject(WebappRuntimeInfo.COMPONENT_NAME,
- WebappRuntimeInfo.class,
- (WebappRuntimeInfo) getRuntimeInfo());
-
- // register the monitor factory provided by the host
- systemComponent.registerJavaObject("MonitorFactory", MonitorFactory.class, mf);
-
- systemComponent.start();
-
- if (getSystemScdl() == null) {
- throw new TuscanyInitException("Could not find system SCDL");
- }
-
- try {
- // deploy the system scdl
- Deployer deployer = bootstrapper.createDeployer();
- tuscanySystem = deploySystemScdl(deployer,
- systemComponent,
- ComponentNames.TUSCANY_SYSTEM,
- getSystemScdl(),
- bootClassLoader);
- tuscanySystem.start();
-
- requestInjector = (ServletRequestInjector) tuscanySystem.getSystemChild("servletHost").getServiceInstance();
-
- // switch to the system deployer
- deployer = (Deployer) tuscanySystem.getSystemChild("deployer").getServiceInstance();
-
- if (getApplicationScdl() == null) {
- throw new TuscanyInitException("Could not find application SCDL");
- }
-
- application = deployApplicationScdl(deployer,
- runtime.getRootComponent(),
- getApplicationName(),
- getApplicationScdl(),
- getHostClassLoader());
- application.start();
-
- context = new CompositeContextImpl(application);
- } catch (Exception e) {
- throw new ServletLauncherInitException(e);
- }
- }
-
- public void destroy() {
- context = null;
- if (application != null) {
- application.stop();
- application = null;
- }
- if (tuscanySystem != null) {
- tuscanySystem.stop();
- tuscanySystem = null;
- }
- if (systemComponent != null) {
- systemComponent.stop();
- systemComponent = null;
- }
- if (runtime != null) {
- runtime.stop();
- runtime = null;
- }
- }
-
- public SCA getContext() {
- return context;
- }
-
- public ServletRequestInjector getRequestInjector() {
- return requestInjector;
- }
-
- public void sessionCreated(HttpSessionEvent event) {
- HttpSessionStart startSession = new HttpSessionStart(this, event.getSession().getId());
- application.publish(startSession);
- ((EventPublisher)requestInjector).publish(startSession);
- }
-
- public void sessionDestroyed(HttpSessionEvent event) {
- HttpSessionEnd endSession = new HttpSessionEnd(this, event.getSession().getId());
- application.publish(endSession);
- ((EventPublisher)requestInjector).publish(endSession);
- }
-
- public void httpRequestStarted(Object sessionid) {
- HttpRequestStart httpRequestStart = new HttpRequestStart(this, sessionid);
- application.publish(httpRequestStart);
- ((EventPublisher)requestInjector).publish(httpRequestStart);
- }
-
- public void httpRequestEnded(Object sessionid) {
- HttpRequestEnded httpRequestEnded = new HttpRequestEnded(this, sessionid);
- application.publish(httpRequestEnded);
- ((EventPublisher)requestInjector).publish(httpRequestEnded);
- }
-
-
- public void startRequest() {
- application.publish(new RequestStart(this));
- }
-
- public void stopRequest() {
- application.publish(new RequestEnd(this));
- }
-
- /**
- * Returns a monitor factory for the funtime
- *
- * @param loggingLevel
- */
- private MonitorFactory getMonitorFactory(String loggingLevel) {
- String factoryName = "org.apache.tuscany.core.monitor.NullMonitorFactory";
- Map<String, Object> props = null;
- if (loggingLevel != null) {
- factoryName = "org.apache.tuscany.core.monitor.JavaLoggingMonitorFactory";
- props = new HashMap<String, Object>();
- Level level = Level.SEVERE;
- try {
- level = Level.parse(loggingLevel);
- } catch (IllegalArgumentException e) {
- // ignore bad loggingLevel
- }
- props.put("bundleName", "SystemMessages");
- props.put("defaultLevel", level);
- }
-
- return MonitorFactoryUtil.createMonitorFactory(factoryName, props);
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/sca/binding.axis2.scdl b/branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/sca/binding.axis2.scdl
deleted file mode 100644
index 7e6b39f800..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/sca/binding.axis2.scdl
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!-- Axis2 based WebService binding extension -->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- xmlns:tuscany="http://incubator.apache.org/tuscany/xmlns/1.0-incubator-M2"
- name="org.apache.tuscany.binding.axis2">
-
- <!-- [rfeng] Commented it out for now. When this SCDL is loaded, the DependencyLoader component
- has not been initiated yet. We may need to play with initLevel setting -->
- <!--
- <tuscany:dependency>
- <group>axis2</group>
- <artifact>axis2-core</artifact>
- <version>SNAPSHOT</version>
- </tuscany:dependency>
- -->
-
- <component name="webservice.bindingLoader">
- <system:implementation.system class="org.apache.tuscany.binding.axis2.WebServiceBindingLoader"/>
- </component>
-
- <component name="webservice.axis2.bindingBuilder">
- <system:implementation.system class="org.apache.tuscany.binding.axis2.Axis2BindingBuilder"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/sca/databinding.sdo.scdl b/branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/sca/databinding.sdo.scdl
deleted file mode 100644
index 3296b40f66..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/sca/databinding.sdo.scdl
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- import.sdo configuration
-
- $Rev$ $Date$
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.databinding.sdo">
-
- <!-- import.sdo element loader implementations -->
- <component name="elementLoader.import.sdo">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.ImportSDOLoader"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl b/branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl
deleted file mode 100644
index 3cb2a03dea..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<!--
- Default system configuration for the launcher environment.
-
- $Rev$ $Date$
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://incubator.apache.org/tuscany/xmlns/system/1.0-incubator-M2"
- name="org.apache.tuscany.runtime.webapp.System">
-
- <!-- Component that provides the Deployer service -->
- <component name="deployer">
- <system:implementation.system class="org.apache.tuscany.core.deployer.DeployerImpl"/>
- </component>
-
- <!-- Work management -->
- <component name="workContext">
- <system:implementation.system class="org.apache.tuscany.core.component.WorkContextImpl"/>
- </component>
-
- <!-- Wire service -->
- <component name="wireService">
- <system:implementation.system class="org.apache.tuscany.core.wire.jdk.JDKWireService"/>
- </component>
-
- <!-- Scope infrastructure -->
- <component name="scopeRegistry">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.ScopeRegistryImpl"/>
- </component>
-
- <!-- Builder and BuilderRegistry -->
- <component name="builder">
- <system:implementation.system class="org.apache.tuscany.core.builder.BuilderRegistryImpl"/>
- </component>
-
- <!-- Loader and LoaderRegistry -->
- <component name="loader">
- <system:implementation.system class="org.apache.tuscany.core.loader.LoaderRegistryImpl"/>
- </component>
-
- <!-- Introspector and IntrospectionRegistry -->
- <component name="introspector">
- <system:implementation.system class="org.apache.tuscany.core.implementation.IntrospectionRegistryImpl"/>
- </component>
-
- <!-- Connector infrastructure -->
- <component name="connector">
- <system:implementation.system class="org.apache.tuscany.core.builder.ConnectorImpl"/>
- </component>
-
- <component name="wirePostProcessorRegistry">
- <system:implementation.system class="org.apache.tuscany.core.builder.WirePostProcessorRegistryImpl"/>
- </component>
-
- <!-- Default scopes -->
- <component name="scope.module">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.ModuleScopeObjectFactory"/>
- </component>
- <component name="scope.stateless">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.StatelessScopeObjectFactory"/>
- </component>
-
- <component name="scope.httpsession">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.HttpSessionScopeObjectFactory"/>
- </component>
-
- <!-- include loader configuration -->
- <include name="org.apache.tuscany.launcher.Loader" scdlResource="org/apache/tuscany/core/loader.scdl"/>
-
- <!-- include implementation processor configuration -->
- <include name="org.apache.tuscany.launcher.Implementation" scdlResource="org/apache/tuscany/core/implementation.scdl"/>
-
- <!-- Java interface definition language -->
- <include name="org.apache.tuscany.launcher.InterfaceJava" scdlResource="org/apache/tuscany/core/interfaceJava.scdl"/>
-
- <!-- include omposite implementation type -->
- <include name="org.apache.tuscany.launcher.Composite" scdlResource="org/apache/tuscany/core/composite.scdl"/>
-
- <!-- System implementation type -->
- <include name="org.apache.tuscany.launcher.SystemImplementation" scdlResource="org/apache/tuscany/core/systemImplementation.scdl"/>
-
- <!-- Java implementation type -->
- <include name="org.apache.tuscany.launcher.JavaImplementation" scdlResource="org/apache/tuscany/core/javaImplementation.scdl"/>
-
- <!-- Data Binding -->
- <include name="org.apache.tuscany.launcher.DataBinding" scdlResource="org/apache/tuscany/core/databinding.scdl"/>
-
- <!-- WorkScheduler service -->
- <component name="workManager">
- <system:implementation.system
- class="org.apache.tuscany.core.services.work.jsr237.workmanager.ThreadPoolWorkManager"/>
- <property name="poolSize">10</property>
- </component>
-
- <component name="workScheduler">
- <system:implementation.system class="org.apache.tuscany.core.services.work.jsr237.Jsr237WorkScheduler"/>
- </component>
-
- <!-- Web app ServletHost -->
- <component name="servletHost">
- <system:implementation.system class="org.apache.tuscany.runtime.webapp.ServletHostImpl"/>
- </component>
-
- <component name="policyBuilderRegistry">
- <system:implementation.system class="org.apache.tuscany.core.policy.PolicyBuilderRegistryImpl"/>
- </component>
-
- <component name="propertyFactory">
- <system:implementation.system class="org.apache.tuscany.core.property.PropertyObjectFactoryImpl"/>
- </component>
-
- <component name="artifactRepository">
- <system:implementation.system class="org.apache.tuscany.services.maven.MavenArtifactRepository"/>
- <property name="remoteRepoUrl">http://repo1.maven.org/maven2,http://people.apache.org/repo/m2-incubating-repository,http://repo1.maven.org/maven,http://people.apache.org/repo/m2-snapshot-repository</property>
- </component>
-
- <component name="extender" initLevel="90">
- <system:implementation.system class="org.apache.tuscany.runtime.webapp.WebResourceScanExtender"/>
- <property name="path">/WEB-INF/tuscany/extensions/</property>
- </component>
-</composite>
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/Foo.java b/branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/Foo.java
deleted file mode 100644
index 75b49de188..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/Foo.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface Foo {
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/FooImpl.java b/branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/FooImpl.java
deleted file mode 100644
index dd938f2a58..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/FooImpl.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-/**
- * @version $Rev$ $Date$
- */
-public class FooImpl implements Foo {
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/ServletHostTestCase.java b/branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/ServletHostTestCase.java
deleted file mode 100644
index 543be9b7df..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/ServletHostTestCase.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.verify;
-
-import javax.servlet.Servlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import junit.framework.TestCase;
-import org.easymock.EasyMock;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ServletHostTestCase extends TestCase {
-
- public void testDispatch() throws Exception {
- HttpServletRequest req = createMock(HttpServletRequest.class);
- expect(req.getPathInfo()).andReturn("foo");
- replay(req);
- HttpServletResponse res = createMock(HttpServletResponse.class);
- Servlet servlet = createMock(Servlet.class);
- servlet.service(req, res);
- EasyMock.expectLastCall();
- replay(servlet);
- ServletHostImpl host = new ServletHostImpl();
- host.registerMapping("foo", servlet);
- host.service(req, res);
- verify(servlet);
- }
-
- public void testDuplicateRegistration() throws Exception {
- Servlet servlet = createMock(Servlet.class);
- ServletHostImpl host = new ServletHostImpl();
- host.registerMapping("foo", servlet);
- try {
- host.registerMapping("foo", servlet);
- fail();
- } catch (IllegalStateException e) {
- // expected
- }
- }
-
- public void testUnregister() throws Exception {
- HttpServletRequest req = createMock(HttpServletRequest.class);
- expect(req.getPathInfo()).andReturn("foo");
- replay(req);
- HttpServletResponse res = createMock(HttpServletResponse.class);
- Servlet servlet = createMock(Servlet.class);
- replay(servlet);
- ServletHostImpl host = new ServletHostImpl();
- host.registerMapping("foo", servlet);
- host.unregisterMapping("foo");
- try {
- host.service(req, res);
- } catch (IllegalStateException e) {
- // expected
- }
- verify(servlet);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java b/branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java
deleted file mode 100644
index fe0269833e..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import java.net.URL;
-import javax.servlet.ServletContext;
-
-import junit.framework.TestCase;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-
-import org.apache.tuscany.core.monitor.NullMonitorFactory;
-
-/**
- * @version $Rev$ $Date$
- */
-public class WebappRuntimeImplTestCase extends TestCase {
- private URL applicationScdl;
- private URL systemScdl;
- private WebappRuntimeImpl runtime;
- private ServletContext context;
-
- /**
- * Verifies the web app host is configured properly to perform a basic boot
- */
- public void testBootWithDefaults() throws Exception {
- expect(context.getResourcePaths("/WEB-INF/tuscany/extensions/")).andReturn(null);
- replay(context);
- runtime.initialize();
- verify(context);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- systemScdl = getClass().getResource("/META-INF/tuscany/webapp.scdl");
- applicationScdl = getClass().getResource("/testapp.scdl");
- context = createMock(ServletContext.class);
-
- runtime = new WebappRuntimeImpl();
- runtime.setRuntimeInfo(new WebappRuntimeInfoImpl(context, null, false));
- runtime.setMonitorFactory(new NullMonitorFactory());
- runtime.setHostClassLoader(getClass().getClassLoader());
- runtime.setServletContext(context);
- runtime.setSystemScdl(systemScdl);
- runtime.setApplicationName("foo");
- runtime.setApplicationScdl(applicationScdl);
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp-host/src/test/resources/testapp.scdl b/branches/sca-java-M2/sca/runtime/webapp-host/src/test/resources/testapp.scdl
deleted file mode 100644
index 9b5bda7fb6..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp-host/src/test/resources/testapp.scdl
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" name="testapp">
-
- <component name="component">
- <implementation.java class="org.apache.tuscany.runtime.webapp.FooImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-java-M2/sca/runtime/webapp/.ruleset b/branches/sca-java-M2/sca/runtime/webapp/.ruleset
deleted file mode 100644
index 3886f07f2d..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/sca-java-M2/sca/runtime/webapp/LICENSE.txt b/branches/sca-java-M2/sca/runtime/webapp/LICENSE.txt
deleted file mode 100644
index 0084319535..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, serviceDefinition marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/branches/sca-java-M2/sca/runtime/webapp/NOTICE.txt b/branches/sca-java-M2/sca/runtime/webapp/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-java-M2/sca/runtime/webapp/pom.xml b/branches/sca-java-M2/sca/runtime/webapp/pom.xml
deleted file mode 100644
index ebaa1a6a76..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/pom.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <parent>
- <groupId>org.apache.tuscany.sca.runtime</groupId>
- <artifactId>parent</artifactId>
- <version>1.0-incubator-M2-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>webapp</artifactId>
- <packaging>jar</packaging>
- <name>Apache Tuscany Web Application Runtime</name>
- <description>Integration code to run Tuscany in a Web application.</description>
-
- <dependencies>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>tuscany-host-api</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- <version>2.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>test</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/Constants.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/Constants.java
deleted file mode 100644
index b461da66a4..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/Constants.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-/**
- * Constants used by the web application booter
- *
- * @version $Rev$ $Date$
- */
-public final class Constants {
-
- /**
- * Name of the parameter that defines the name of webapp resource containing bootstrap jars.
- */
- static final String BOOTDIR_PARAM = "tuscany.bootDir";
-
- /**
- * Default value for BOOTDIR_PARAM.
- */
- static final String BOOTDIR_DEFAULT = "/WEB-INF/tuscany/boot";
-
- /**
- * Name of the parameter that defines the class to load to launch the runtime.
- */
- static final String RUNTIME_PARAM = "tuscany.runtimeImpl";
-
- /**
- * Name of the default webapp runtime implementation.
- */
- static final String RUNTIME_DEFAULT = "org.apache.tuscany.runtime.webapp.WebappRuntimeImpl";
-
- /**
- * Servlet context-param name for user-specified system SCDL path.
- */
- static final String SYSTEM_SCDL_PATH_PARAM = "tuscany.systemScdlPath";
-
- /**
- * Default webapp system SCDL path.
- */
- static final String SYSTEM_SCDL_PATH_DEFAULT = "META-INF/tuscany/webapp.scdl";
-
- /**
- * Servlet context-param name for user-specified application SCDL path.
- */
- static final String APPLICATION_SCDL_PATH_PARAM = "tuscany.applicationScdlPath";
-
- /**
- * Default application SCDL path.
- */
- static final String APPLICATION_SCDL_PATH_DEFAULT = "/WEB-INF/default.scdl";
-
- /**
- * Servlet context-param name for setting if the runtime is online.
- */
- static final String ONLINE_PARAM = "tuscany.online";
-
-
-
-
- /**
- * Context attribute to which the Tuscany runtime for this servlet context is stored.
- */
- static final String RUNTIME_ATTRIBUTE = "tuscany.runtime";
-
- /**
- * Servlet context-param name for the path to the composite to set as the webb app composite
- */
- static final String CURRENT_COMPOSITE_PATH_PARAM = "tuscany.currentCompositePath";
-
- /**
- * Servlet context-param name for user-specified system SCDL path.
- */
- static final String EXTENSION_SCDL_PATH_PARAM = "tuscany.extensionScdlPath";
-
- /**
- * Default path for extensions if no "extensionScdlPath param is specified
- */
- static final String DEFAULT_EXTENSION_PATH_PARAM = "/WEB-INF/tuscany/extensions";
-
- /**
- * Servlet context-param name for system monitoring level. Supported values are the names of statics defined in
- * java.util.logging.Level. If absent, no monitoring will take place.
- */
- static final String SYSTEM_MONITORING_PARAM = "tuscany.monitoringLevel";
-
- private Constants() {
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherMonitor.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherMonitor.java
deleted file mode 100644
index 5936240481..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherMonitor.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import org.apache.tuscany.api.annotation.LogLevel;
-
-/**
- * A monitor interface used during runtime bootstrap
- *
- * @version $Rev$ $Date$
- */
-public interface ServletLauncherMonitor {
-
- @LogLevel("DEBUG")
- void deployExtension(String path);
-
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyContextListener.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyContextListener.java
deleted file mode 100644
index 05682745d9..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyContextListener.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-import static org.apache.tuscany.runtime.webapp.Constants.RUNTIME_ATTRIBUTE;
-import static org.apache.tuscany.runtime.webapp.Constants.ONLINE_PARAM;
-
-/**
- * Launches a Tuscany runtime in a web application, loading information from servlet context parameters. This listener
- * manages one runtime per servlet context; the lifecycle of that runtime corresponds to the the lifecycle of the
- * associated servlet context.
- * <p/>
- * The runtime is launched in a child classloader of the web application, thereby providing isolation between
- * application and system artifacts. Application code only has access to the SCA API and may not reference Tuscany
- * system artifacts directly.
- * <p/>
- * The <code>web.xml</code> of a web application embedding Tuscany must have entries for this listener and {@link
- * TuscanySessionListener}. The latter notifies the runtime of session creation and expiration events through a
- * "bridging" contract, {@link WebappRuntime}. The <code>web.xml</code> may also optionally be configured with
- * entries for {@link TuscanyFilter} and {@link TuscanyServlet}. The former must be mapped to all urls that execute
- * "unmanaged" code which accesses the Tuscany runtime though the SCA API, for example, JSPs and Servlets. The latter
- * forwards service requests into the runtime, by default requests sent to URLs relative to the context path beginning
- * with <code>/services</code>.
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyContextListener implements ServletContextListener {
-
- public void contextInitialized(ServletContextEvent event) {
- ServletContext servletContext = event.getServletContext();
- WebappUtil utils = getUtils(servletContext);
- try {
- ClassLoader webappClassLoader = Thread.currentThread().getContextClassLoader();
- ClassLoader bootClassLoader = utils.getBootClassLoader(webappClassLoader);
- WebappRuntime runtime = utils.getRuntime(bootClassLoader);
- boolean online = Boolean.valueOf(utils.getInitParameter(ONLINE_PARAM, "true"));
- WebappRuntimeInfo info = new WebappRuntimeInfoImpl(servletContext,
- servletContext.getResource("/WEB-INF/tuscany/"),
- online);
- URL systemScdl = utils.getSystemScdl(bootClassLoader);
- URL applicationScdl = utils.getApplicationScdl(webappClassLoader);
- String name = utils.getApplicationName();
-
- runtime.setServletContext(servletContext);
- runtime.setMonitorFactory(runtime.createDefaultMonitorFactory());
- runtime.setRuntimeInfo(info);
- runtime.setHostClassLoader(webappClassLoader);
- runtime.setSystemScdl(systemScdl);
- runtime.setApplicationName(name);
- runtime.setApplicationScdl(applicationScdl);
- runtime.initialize();
-
- servletContext.setAttribute(RUNTIME_ATTRIBUTE, runtime);
- } catch (TuscanyRuntimeException e) {
- servletContext.log(e.getMessage(), e);
- // TODO: Dump the stack trace so that we can see from the Tomcat console
- e.printStackTrace();
- throw e;
- } catch (MalformedURLException e) {
- servletContext.log(e.getMessage(), e);
- // TODO: Dump the stack trace so that we can see from the Tomcat console
- e.printStackTrace();
- throw new TuscanyInitException(e);
- } catch (Throwable e) {
- servletContext.log(e.getMessage(), e);
- // TODO: Dump the stack trace so that we can see from the Tomcat console
- e.printStackTrace();
- throw new TuscanyInitException(e);
- }
- }
-
- protected WebappUtil getUtils(ServletContext servletContext) {
- return new WebappUtilImpl(servletContext);
- }
-
- public void contextDestroyed(ServletContextEvent event) {
- ServletContext servletContext = event.getServletContext();
- WebappRuntime runtime = (WebappRuntime) servletContext.getAttribute(RUNTIME_ATTRIBUTE);
- if (runtime == null) {
- return;
- }
-
- servletContext.removeAttribute(RUNTIME_ATTRIBUTE);
- runtime.destroy();
- }
-
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyFilter.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyFilter.java
deleted file mode 100644
index 07d9afe797..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyFilter.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import java.io.IOException;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-
-import org.osoa.sca.SCA;
-
-import static org.apache.tuscany.runtime.webapp.Constants.RUNTIME_ATTRIBUTE;
-
-/**
- * Maps an incoming request and the current composite context to the composite component for the web application. This
- * filter must be applied to all web application urls that execute unmanaged code (e.g. JSPs and Servlets) which
- * accesses the Tuscany runtime.
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyFilter implements Filter {
-
- private SCA context;
- private WebappRuntime runtime;
-
- public void init(FilterConfig config) throws ServletException {
- runtime = (WebappRuntime) config.getServletContext().getAttribute(RUNTIME_ATTRIBUTE);
- if (runtime == null) {
- throw new ServletException("Tuscany is not configured for the web application");
- }
- context = runtime.getContext();
- }
-
- public void doFilter(ServletRequest req, ServletResponse resp, FilterChain filterChain)
- throws IOException, ServletException {
- try {
- runtime.startRequest();
- context.start();
- filterChain.doFilter(req, resp);
- } finally {
- context.stop();
- runtime.stopRequest();
- }
- }
-
- public void destroy() {
-
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyInitException.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyInitException.java
deleted file mode 100644
index 57e96318a7..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyInitException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-
-/**
- * Exception indicating that there was a problem starting the Tuscany runtime.
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyInitException extends TuscanyRuntimeException {
- public TuscanyInitException(String string) {
- super(string);
- }
-
- public TuscanyInitException(String string, Throwable throwable) {
- super(string, throwable);
- }
-
- public TuscanyInitException(Throwable throwable) {
- super(throwable);
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyRequestListener.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyRequestListener.java
deleted file mode 100644
index 0da3f20b22..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyRequestListener.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import static org.apache.tuscany.runtime.webapp.Constants.RUNTIME_ATTRIBUTE;
-
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletRequestEvent;
-import javax.servlet.ServletRequestListener;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-/**
- * Notifies the Tuscany runtime of session creation and expiration events.
- *
- * @version $Rev: 441961 $ $Date: 2006-09-10 11:48:29 -0400 (Sun, 10 Sep 2006) $
- */
-public class TuscanyRequestListener implements ServletRequestListener {
- private WebappRuntime runtime;
-
- public void requestDestroyed(ServletRequestEvent servletRequestEvent) {
-
- final ServletContext context = servletRequestEvent.getServletContext();
- getRuntime(context);
- ServletRequest servletRequest = servletRequestEvent.getServletRequest();
- if (servletRequest instanceof HttpServletRequest) {
- HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
- HttpSession session = httpServletRequest.getSession(false);
- runtime.httpRequestEnded(session == null ? null : session.getId());
-
- }
-
- }
-
- public void requestInitialized(ServletRequestEvent servletRequestEvent) {
-
- final ServletContext context = servletRequestEvent.getServletContext();
- getRuntime(context);
- ServletRequest servletRequest = servletRequestEvent.getServletRequest();
- if (servletRequest instanceof HttpServletRequest) {
- HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
- HttpSession session = httpServletRequest.getSession(false);
- runtime.httpRequestStarted(session == null ? null : session.getId());
-
- }
-
- }
-
- protected WebappRuntime getRuntime(final ServletContext context) {
- if (runtime == null) {
-
- runtime = (WebappRuntime) context.getAttribute(RUNTIME_ATTRIBUTE);
- if (runtime == null) {
- context.log("requestInitialized", new ServletException("Tuscany runtime not configured"));
- return null;
- }
- }
- return runtime;
- }
-} \ No newline at end of file
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyServlet.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyServlet.java
deleted file mode 100644
index 6a8cf6e89d..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanyServlet.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import java.io.IOException;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServlet;
-
-import org.apache.tuscany.host.servlet.ServletRequestInjector;
-import static org.apache.tuscany.runtime.webapp.Constants.RUNTIME_ATTRIBUTE;
-
-/**
- * A servlet that forwards requests intended for SCA services into the Tuscany runtime via a ServletRequestInjector.
- * This servlet is typically mapped to relative paths beginning with <code>/services</code> in the <code>web.xml</code>
- * <p/>
- * TODO a better URL mapping scheme out to be implemented that corresponds to the SCA specification
- */
-public class TuscanyServlet extends HttpServlet {
-
- private static final long serialVersionUID = 1L;
-
- private ServletRequestInjector requestInjector;
-
- @Override
- public void init(ServletConfig config) throws ServletException {
- ServletContext servletContext = config.getServletContext();
- WebappRuntime runtime = (WebappRuntime) servletContext.getAttribute(RUNTIME_ATTRIBUTE);
- if (runtime == null) {
- throw new ServletException("Tuscany runtime not configured for web application");
- }
- requestInjector = runtime.getRequestInjector();
- }
-
- @Override
- public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
- requestInjector.service(req, res);
- }
-
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanySessionListener.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanySessionListener.java
deleted file mode 100644
index a6de97cd32..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/TuscanySessionListener.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpSessionEvent;
-import javax.servlet.http.HttpSessionListener;
-
-import static org.apache.tuscany.runtime.webapp.Constants.RUNTIME_ATTRIBUTE;
-
-/**
- * Notifies the Tuscany runtime of session creation and expiration events.
- *
- * @version $Rev$ $Date$
- */
-public class TuscanySessionListener implements HttpSessionListener {
- private WebappRuntime runtime;
-
- public void sessionCreated(HttpSessionEvent event) {
- if (runtime == null) {
- ServletContext context = event.getSession().getServletContext();
- runtime = (WebappRuntime) context.getAttribute(RUNTIME_ATTRIBUTE);
- if (runtime == null) {
- context.log("Error on session creation", new ServletException("Tuscany runtime not configured"));
- return;
- }
- }
- runtime.sessionCreated(event);
- }
-
- public void sessionDestroyed(HttpSessionEvent event) {
- runtime.sessionDestroyed(event);
-
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntime.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntime.java
deleted file mode 100644
index 535922fa51..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntime.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSessionListener;
-
-import org.apache.tuscany.host.runtime.TuscanyRuntime;
-import org.apache.tuscany.host.servlet.ServletRequestInjector;
-
-/**
- * The contract for artifacts loaded in the web application classloader to comminicate with the Tuscany runtime loaded
- * in a child classloader. For example, filters and listeners may use this interface to notify the runtime of the web
- * container events.
- *
- * @version $Rev$ $Date$
- * @see TuscanyFilter
- * @see TuscanySessionListener
- */
-public interface WebappRuntime extends HttpSessionListener, TuscanyRuntime {
- /**
- * Returns the ServletContext associated with this runtime.
- *
- * @return the ServletContext associated with this runtime
- */
- ServletContext getServletContext();
-
- /**
- * Sets the ServletContext associated with this runtime.
- *
- * @param servletContext the ServletContext associated with this runtime
- */
- void setServletContext(ServletContext servletContext);
-
- /**
- * Returns the request injector for the runtime
- */
- ServletRequestInjector getRequestInjector();
-
- /**
- * Notification that the web application has begun servicing a request
- */
- void startRequest();
-
- /**
- * Notification that the web application has stopped servicing a request
- */
- void stopRequest();
-
- /**
- * httpRequestStarted request has been started with sessid id
- * @param session id.
- */
- void httpRequestStarted(Object id);
-
- /**
- * httpRequestEnded request has been ended with sessid id
- * @param session id.
- */
-
- void httpRequestEnded(Object id);
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfo.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfo.java
deleted file mode 100644
index 98e045cb62..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfo.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import javax.servlet.ServletContext;
-
-import org.apache.tuscany.host.RuntimeInfo;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface WebappRuntimeInfo extends RuntimeInfo {
- static String COMPONENT_NAME = "WebappRuntimeInfo";
- /**
- * Returns the ServletContext associated with this webapp runtime.
- *
- * @return the ServletContext associated with this webapp runtime.
- */
- ServletContext getServletContext();
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfoImpl.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfoImpl.java
deleted file mode 100644
index a63bb33544..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeInfoImpl.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import java.io.File;
-import java.net.URL;
-import javax.servlet.ServletContext;
-
-/**
- * @version $Rev$ $Date$
- */
-public class WebappRuntimeInfoImpl implements WebappRuntimeInfo {
- private final ServletContext servletContext;
- private final URL baseURL;
- private final boolean online;
-
- public WebappRuntimeInfoImpl(ServletContext servletContext, URL baseURL, boolean online) {
- this.servletContext = servletContext;
- this.baseURL = baseURL;
- this.online = online;
- }
-
- public ServletContext getServletContext() {
- return servletContext;
- }
-
- public URL getBaseURL() {
- return baseURL;
- }
-
- public File getInstallDirectory() {
- return new File("");
- }
-
- public File getApplicationRootDirectory() {
- return new File("");
- }
-
- public boolean isOnline() {
- return online;
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappUtil.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappUtil.java
deleted file mode 100644
index 3e1bd5d746..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappUtil.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface WebappUtil {
- /**
- * Return the classloader that should be used to boot the Tuscany runtime.
- * This will be a child of the web application's ClassLoader.
- *
- * @param webappClassLoader the web application's classloader
- * @return a classloader that can be used to load the Tuscany runtime classes
- */
- ClassLoader getBootClassLoader(ClassLoader webappClassLoader);
-
- WebappRuntime getRuntime(ClassLoader bootClassLoader);
-
- URL getSystemScdl(ClassLoader bootClassLoader);
-
- String getApplicationName();
-
- URL getApplicationScdl(ClassLoader bootClassLoader);
-
- URL getScdlURL(String path, ClassLoader classLoader)
- throws MalformedURLException;
-
- /**
- * Return a init parameter from the servlet context or provide a default.
- *
- * @param name the name of the parameter
- * @param value the default value
- * @return the value of the specified parameter, or the default if not defined
- */
- String getInitParameter(String name, String value);
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappUtilImpl.java b/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappUtilImpl.java
deleted file mode 100644
index 4940041c7d..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/main/java/org/apache/tuscany/runtime/webapp/WebappUtilImpl.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Set;
-import javax.servlet.ServletContext;
-
-import static org.apache.tuscany.runtime.webapp.Constants.APPLICATION_SCDL_PATH_DEFAULT;
-import static org.apache.tuscany.runtime.webapp.Constants.APPLICATION_SCDL_PATH_PARAM;
-import static org.apache.tuscany.runtime.webapp.Constants.BOOTDIR_DEFAULT;
-import static org.apache.tuscany.runtime.webapp.Constants.BOOTDIR_PARAM;
-import static org.apache.tuscany.runtime.webapp.Constants.RUNTIME_DEFAULT;
-import static org.apache.tuscany.runtime.webapp.Constants.RUNTIME_PARAM;
-import static org.apache.tuscany.runtime.webapp.Constants.SYSTEM_SCDL_PATH_DEFAULT;
-import static org.apache.tuscany.runtime.webapp.Constants.SYSTEM_SCDL_PATH_PARAM;
-
-/**
- * @version $Rev$ $Date$
- */
-public class WebappUtilImpl implements WebappUtil {
- private final ServletContext servletContext;
-
- public WebappUtilImpl(ServletContext servletContext) {
- this.servletContext = servletContext;
- }
-
- public ClassLoader getBootClassLoader(ClassLoader webappClassLoader) {
- String bootDirName = getInitParameter(BOOTDIR_PARAM, BOOTDIR_DEFAULT);
- Set paths = servletContext.getResourcePaths(bootDirName);
- if (paths == null) {
- // nothing in boot directory, assume everything is in the webapp classloader
- return webappClassLoader;
- }
- URL[] urls = new URL[paths.size()];
- int i = 0;
- for (Object path : paths) {
- try {
- urls[i++] = servletContext.getResource((String) path);
- } catch (MalformedURLException e) {
- throw new AssertionError("getResourcePaths returned an invalid path: " + path);
- }
- }
- return new URLClassLoader(urls, webappClassLoader);
- }
-
- public WebappRuntime getRuntime(ClassLoader bootClassLoader) {
- try {
- String className = getInitParameter(RUNTIME_PARAM, RUNTIME_DEFAULT);
- Class<?> runtimeClass = bootClassLoader.loadClass(className);
- return (WebappRuntime) runtimeClass.newInstance();
- } catch (InstantiationException e) {
- throw new TuscanyInitException("Invalid runtime class", e);
- } catch (IllegalAccessException e) {
- throw new TuscanyInitException("Invalid runtime class", e);
- } catch (ClassNotFoundException e) {
- throw new TuscanyInitException("Runtime Implementation not found", e);
- }
- }
-
- public URL getSystemScdl(ClassLoader bootClassLoader) {
- String path = getInitParameter(SYSTEM_SCDL_PATH_PARAM, SYSTEM_SCDL_PATH_DEFAULT);
- try {
- return getScdlURL(path, bootClassLoader);
- } catch (MalformedURLException e) {
- throw new TuscanyInitException("Invalid resource path for " + SYSTEM_SCDL_PATH_PARAM + " : " + path, e);
- }
- }
-
- public String getApplicationName() {
- String name = servletContext.getServletContextName();
- if (name == null) {
- name = "application";
- }
- return name;
- }
-
- public URL getApplicationScdl(ClassLoader bootClassLoader) {
- String path = getInitParameter(APPLICATION_SCDL_PATH_PARAM, APPLICATION_SCDL_PATH_DEFAULT);
- try {
- return getScdlURL(path, bootClassLoader);
- } catch (MalformedURLException e) {
- throw new TuscanyInitException("Invalid resource path for " + APPLICATION_SCDL_PATH_PARAM + " : " + path,
- e);
- }
- }
-
- public URL getScdlURL(String path, ClassLoader classLoader)
- throws MalformedURLException {
- URL ret = null;
- if (path.charAt(0) == '/') {
- // user supplied an absolute path - look up as a webapp resource
- ret = servletContext.getResource(path);
- }
- if (ret == null) {
- // user supplied a relative path - look up as a boot classpath resource
- ret = classLoader.getResource(path);
- }
- return ret;
- }
-
- public String getInitParameter(String name, String value) {
- String result = servletContext.getInitParameter(name);
- if (result != null && result.length() != 0) {
- return result;
- }
- return value;
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyContextListenerTestCase.java b/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyContextListenerTestCase.java
deleted file mode 100644
index b4f8f4c3db..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyContextListenerTestCase.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import java.net.URL;
-import java.lang.reflect.Method;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
-
-import junit.framework.TestCase;
-import static org.easymock.classextension.EasyMock.*;
-
-import org.apache.tuscany.host.MonitorFactory;
-
-/**
- * @version $Rev$ $Date$
- */
-public class TuscanyContextListenerTestCase extends TestCase {
- private ServletContext context;
- private TuscanyContextListener listener;
- private ClassLoader cl;
- private ClassLoader bootClassLoader;
- private URL systemUrl;
- private URL applicationUrl;
- private Method getUtilsMethod;
- private MonitorFactory monitorFactory;
- private WebappUtil utils;
-
- public void testInitializationUsingDefaults() throws Exception {
- ServletContextEvent event = createMock(ServletContextEvent.class);
- expect(event.getServletContext()).andReturn(context);
- replay(event);
-
- WebappRuntime runtime = createMock(WebappRuntime.class);
- expect(utils.getBootClassLoader(cl)).andReturn(bootClassLoader);
- expect(utils.getInitParameter("tuscany.online", "true")).andReturn("true");
- expect(utils.getRuntime(bootClassLoader)).andReturn(runtime);
- expect(utils.getSystemScdl(bootClassLoader)).andReturn(systemUrl);
- expect(utils.getApplicationScdl(cl)).andReturn(applicationUrl);
- expect(utils.getApplicationName()).andReturn("application");
- replay(utils);
-
- expect(context.getResource("/WEB-INF/tuscany/")).andReturn(null);
- context.setAttribute(eq(Constants.RUNTIME_ATTRIBUTE), isA(WebappRuntime.class));
- replay(context);
- replay(cl);
- replay(bootClassLoader);
- expect(listener.getUtils(context)).andReturn(utils);
- replay(listener);
- runtime.setServletContext(context);
- expect(runtime.createDefaultMonitorFactory()).andReturn(monitorFactory);
- runtime.setMonitorFactory(monitorFactory);
- runtime.setRuntimeInfo(isA(WebappRuntimeInfo.class));
- runtime.setHostClassLoader(cl);
- runtime.setSystemScdl(systemUrl);
- runtime.setApplicationName("application");
- runtime.setApplicationScdl(applicationUrl);
- runtime.initialize();
- replay(runtime);
-
- ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
- try {
- Thread.currentThread().setContextClassLoader(cl);
- listener.contextInitialized(event);
- } finally {
- Thread.currentThread().setContextClassLoader(oldCl);
- }
- verify(event);
- verify(context);
- verify(listener);
- verify(cl);
- verify(bootClassLoader);
- verify(runtime);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- getUtilsMethod = TuscanyContextListener.class.getDeclaredMethod("getUtils", ServletContext.class);
- utils = createMock(WebappUtil.class);
- listener = createMock(TuscanyContextListener.class, new Method[]{getUtilsMethod});
- context = createMock(ServletContext.class);
- cl = createMock(ClassLoader.class);
- bootClassLoader = createMock(ClassLoader.class);
- systemUrl = new URL("file:/system.scdl");
- applicationUrl = new URL("file:/application.scdl");
- monitorFactory = createMock(MonitorFactory.class);
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyFilterTestCase.java b/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyFilterTestCase.java
deleted file mode 100644
index b649c22178..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyFilterTestCase.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-
-import org.osoa.sca.SCA;
-
-import junit.framework.TestCase;
-import static org.apache.tuscany.runtime.webapp.Constants.RUNTIME_ATTRIBUTE;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.createNiceMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import org.easymock.classextension.EasyMock;
-
-/**
- * @version $Rev$ $Date$
- */
-public class TuscanyFilterTestCase extends TestCase {
-
- public void testStartStopFilter() throws Exception {
- SCA sca = EasyMock.createNiceMock(SCA.class);
- sca.start();
- sca.stop();
- EasyMock.replay(sca);
- WebappRuntime runtime = createMock(WebappRuntime.class);
- expect(runtime.getContext()).andReturn(sca);
- runtime.startRequest();
- runtime.stopRequest();
- replay(runtime);
- ServletContext context = createNiceMock(ServletContext.class);
- EasyMock.expect(context.getAttribute(RUNTIME_ATTRIBUTE)).andReturn(runtime);
- replay(context);
- TuscanyFilter filter = new TuscanyFilter();
- FilterConfig config = createMock(FilterConfig.class);
- expect(config.getServletContext()).andReturn(context);
- replay(config);
- filter.init(config);
- ServletRequest req = createNiceMock(ServletRequest.class);
- ServletResponse resp = createNiceMock(ServletResponse.class);
- FilterChain chain = createNiceMock(FilterChain.class);
- filter.doFilter(req, resp, chain);
- verify(runtime);
- EasyMock.verify(sca);
- }
-
- public void testExceptionCleanupFilter() throws Exception {
- SCA sca = EasyMock.createNiceMock(SCA.class);
- sca.start();
- sca.stop();
- EasyMock.replay(sca);
- WebappRuntime runtime = createMock(WebappRuntime.class);
- runtime.startRequest();
- runtime.stopRequest();
- expect(runtime.getContext()).andReturn(sca);
- replay(runtime);
- ServletContext context = createNiceMock(ServletContext.class);
- EasyMock.expect(context.getAttribute(RUNTIME_ATTRIBUTE)).andReturn(runtime);
- replay(context);
- TuscanyFilter filter = new TuscanyFilter();
- FilterConfig config = createMock(FilterConfig.class);
- expect(config.getServletContext()).andReturn(context);
- replay(config);
- filter.init(config);
- ServletRequest req = createNiceMock(ServletRequest.class);
- ServletResponse resp = createNiceMock(ServletResponse.class);
- FilterChain chain = createNiceMock(FilterChain.class);
- chain.doFilter(isA(ServletRequest.class), isA(ServletResponse.class));
- EasyMock.expectLastCall().andThrow(new TestException());
- filter.doFilter(req, resp, chain);
- verify(runtime);
- EasyMock.verify(sca);
- }
-
- public void testRuntimeNotConfigured() throws Exception {
- ServletContext context = createNiceMock(ServletContext.class);
- TuscanyFilter filter = new TuscanyFilter();
- FilterConfig config = createMock(FilterConfig.class);
- expect(config.getServletContext()).andReturn(context);
- replay(config);
- try {
- filter.init(config);
- fail();
- } catch (ServletException e) {
- //expected
- }
- }
-
- private class TestException extends RuntimeException {
-
- }
-
-
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyServletTestCase.java b/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyServletTestCase.java
deleted file mode 100644
index 5213ae9cb1..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanyServletTestCase.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-
-import junit.framework.TestCase;
-import org.apache.tuscany.host.servlet.ServletRequestInjector;
-import static org.apache.tuscany.runtime.webapp.Constants.RUNTIME_ATTRIBUTE;
-import org.easymock.EasyMock;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.createNiceMock;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-
-/**
- * Verifies {@link TuscanyServlet} properly services a request
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyServletTestCase extends TestCase {
-
- public void testRequestInjection() throws Exception {
- ServletRequest req = createNiceMock(ServletRequest.class);
- ServletResponse resp = createNiceMock(ServletResponse.class);
- ServletRequestInjector injector = createMock(ServletRequestInjector.class);
- injector.service(eq(req), eq(resp));
- EasyMock.replay(injector);
- WebappRuntime runtime = createMock(WebappRuntime.class);
- expect(runtime.getRequestInjector()).andReturn(injector);
- replay(runtime);
- ServletContext context = createNiceMock(ServletContext.class);
- EasyMock.expect(context.getAttribute(RUNTIME_ATTRIBUTE)).andReturn(runtime);
- EasyMock.replay(context);
- TuscanyServlet servlet = new TuscanyServlet();
- ServletConfig config = createMock(ServletConfig.class);
- expect(config.getServletContext()).andReturn(context);
- replay(config);
- servlet.init(config);
- servlet.service(req, resp);
- verify(context);
- verify(injector);
- }
-
- public void testRuntimeNotConfigured() throws Exception {
- ServletContext context = createNiceMock(ServletContext.class);
- TuscanyServlet servlet = new TuscanyServlet();
- ServletConfig config = createMock(ServletConfig.class);
- expect(config.getServletContext()).andReturn(context);
- replay(config);
- try {
- servlet.init(config);
- fail();
- } catch (ServletException e) {
- //expected
- }
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanySessionListenerTestCase.java b/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanySessionListenerTestCase.java
deleted file mode 100644
index 3bac14fd8a..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/TuscanySessionListenerTestCase.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionEvent;
-
-import junit.framework.TestCase;
-import static org.apache.tuscany.runtime.webapp.Constants.RUNTIME_ATTRIBUTE;
-import org.easymock.EasyMock;
-
-/**
- * Verifies {@link org.apache.tuscany.runtime.webapp.TuscanySessionListener} notifies the runtime of session events
- *
- * @version $Rev$ $Date$
- */
-public class TuscanySessionListenerTestCase extends TestCase {
-
- public void testSessionPropagated() throws Exception {
- WebappRuntime runtime = EasyMock.createNiceMock(WebappRuntime.class);
- runtime.sessionCreated(EasyMock.isA(HttpSessionEvent.class));
- runtime.sessionDestroyed(EasyMock.isA(HttpSessionEvent.class));
- EasyMock.replay(runtime);
- ServletContext context = EasyMock.createNiceMock(ServletContext.class);
- EasyMock.expect(context.getAttribute(RUNTIME_ATTRIBUTE)).andReturn(runtime);
- EasyMock.replay(context);
- HttpSession session = EasyMock.createNiceMock(HttpSession.class);
- EasyMock.expect(session.getServletContext()).andReturn(context);
- EasyMock.replay(session);
- HttpSessionEvent event = new HttpSessionEvent(session);
- TuscanySessionListener listener = new TuscanySessionListener();
- listener.sessionCreated(event);
- listener.sessionDestroyed(event);
- EasyMock.verify(context);
- EasyMock.verify(runtime);
- }
-
- /**
- * Verifies an error is logged when no runtime is configured
- *
- * @throws Exception
- */
- public void testRuntimeNotConfigured() throws Exception {
- ServletContext context = EasyMock.createNiceMock(ServletContext.class);
- context.log(EasyMock.isA(String.class), EasyMock.isA(ServletException.class));
- EasyMock.replay(context);
- TuscanySessionListener listener = new TuscanySessionListener();
- HttpSession session = EasyMock.createNiceMock(HttpSession.class);
- EasyMock.expect(session.getServletContext()).andReturn(context);
- EasyMock.replay(session);
- HttpSessionEvent event = new HttpSessionEvent(session);
- listener.sessionCreated(event);
- EasyMock.verify(context);
- }
-}
diff --git a/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/WebappUtilTestCase.java b/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/WebappUtilTestCase.java
deleted file mode 100644
index f865a4e740..0000000000
--- a/branches/sca-java-M2/sca/runtime/webapp/src/test/java/org/apache/tuscany/runtime/webapp/WebappUtilTestCase.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.runtime.webapp;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import javax.servlet.ServletContext;
-
-import junit.framework.TestCase;
-import static org.easymock.classextension.EasyMock.*;
-
-/**
- * @version $Rev$ $Date$
- */
-public class WebappUtilTestCase extends TestCase {
- private ServletContext context;
- private WebappUtilImpl listener;
- private ClassLoader cl;
- private URL systemUrl;
-
-
- public void testGetInitParameterWhenSpecified() {
- String name = "name";
- String value = "default";
- expect(context.getInitParameter(name)).andReturn(value);
- replay(context);
-
- assertEquals(value, listener.getInitParameter(name, "default"));
- verify(context);
- }
-
- public void testGetInitParameterUsingDefault() {
- String name = "name";
- String value = "default";
- expect(context.getInitParameter(name)).andReturn(null);
- replay(context);
-
- assertEquals(value, listener.getInitParameter(name, value));
- verify(context);
- }
-
- public void testGetInitParameterWithZeroLength() {
- String name = "name";
- String value = "default";
- expect(context.getInitParameter(name)).andReturn("");
- replay(context);
-
- assertEquals(value, listener.getInitParameter(name, value));
- verify(context);
- }
-
- public void testGetScdlFromWebapp() throws MalformedURLException {
- String path = "/WEB-INF/test";
- expect(context.getResource(path)).andReturn(systemUrl);
- replay(context);
- replay(cl);
- assertSame(systemUrl, listener.getScdlURL(path, cl));
- verify(context);
- verify(cl);
- }
-
- public void testGetScdlFromWebappMissing() throws MalformedURLException {
- String path = "/WEB-INF/test";
- expect(context.getResource(path)).andReturn(null);
- replay(context);
- expect(cl.getResource(path)).andReturn(null);
- replay(cl);
- assertNull(listener.getScdlURL(path, cl));
- verify(context);
- verify(cl);
- }
-
- public void testGetScdlFromWebappMalformed() throws MalformedURLException {
- String path = "/WEB-INF/test";
- expect(context.getResource(path)).andThrow(new MalformedURLException());
- replay(context);
- replay(cl);
- try {
- listener.getScdlURL(path, cl);
- fail();
- } catch (MalformedURLException e) {
- // OK
- }
- verify(context);
- verify(cl);
- }
-
- public void testGetScdlFromClasspath() throws MalformedURLException {
- String path = "META-INF/test";
- replay(context);
- expect(cl.getResource(path)).andReturn(systemUrl);
- replay(cl);
- assertSame(systemUrl, listener.getScdlURL(path, cl));
- verify(context);
- verify(cl);
- }
-
- public void testGetScdlFromClasspathMissing() throws MalformedURLException {
- String path = "META-INF/test";
- replay(context);
- expect(cl.getResource(path)).andReturn(null);
- replay(cl);
- assertNull(listener.getScdlURL(path, cl));
- verify(context);
- verify(cl);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- context = createMock(ServletContext.class);
- listener = new WebappUtilImpl(context);
- cl = createMock(ClassLoader.class);
- systemUrl = new URL("file:/system.scdl");
- }
-}