From 6d0e93c68d3aeaeb4bb6d96ac0460eec40ef786e Mon Sep 17 00:00:00 2001 From: lresende Date: Wed, 11 Nov 2009 23:13:23 +0000 Subject: Moving 1.x branches git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835143 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca-java-M2/sca/runtime/webapp-host/.ruleset | 190 ----------------- .../sca/runtime/webapp-host/LICENSE.txt | 202 ------------------ .../sca-java-M2/sca/runtime/webapp-host/NOTICE.txt | 14 -- .../sca-java-M2/sca/runtime/webapp-host/pom.xml | 70 ------ .../runtime/webapp/InvalidCompositePath.java | 43 ---- .../tuscany/runtime/webapp/ServletHostImpl.java | 142 ------------- .../webapp/ServletLauncherInitException.java | 44 ---- .../webapp/UnSupportedRuntimeException.java | 44 ---- .../runtime/webapp/WebResourceScanExtender.java | 83 -------- .../tuscany/runtime/webapp/WebappRuntimeImpl.java | 235 --------------------- .../main/resources/META-INF/sca/binding.axis2.scdl | 44 ---- .../resources/META-INF/sca/databinding.sdo.scdl | 34 --- .../main/resources/META-INF/tuscany/webapp.scdl | 139 ------------ .../org/apache/tuscany/runtime/webapp/Foo.java | 25 --- .../org/apache/tuscany/runtime/webapp/FooImpl.java | 25 --- .../runtime/webapp/ServletHostTestCase.java | 83 -------- .../runtime/webapp/WebappRuntimeImplTestCase.java | 68 ------ .../webapp-host/src/test/resources/testapp.scdl | 26 --- 18 files changed, 1511 deletions(-) delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/.ruleset delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/LICENSE.txt delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/NOTICE.txt delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/pom.xml delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/InvalidCompositePath.java delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletHostImpl.java delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherInitException.java delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/UnSupportedRuntimeException.java delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebResourceScanExtender.java delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/sca/binding.axis2.scdl delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/sca/databinding.sdo.scdl delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/Foo.java delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/FooImpl.java delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/ServletHostTestCase.java delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java delete mode 100644 branches/sca-java-M2/sca/runtime/webapp-host/src/test/resources/testapp.scdl (limited to 'branches/sca-java-M2/sca/runtime/webapp-host') 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 @@ - - - - PMD Plugin preferences rule set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - org.apache.tuscany.sca.runtime - parent - 1.0-incubator-M2-SNAPSHOT - - 4.0.0 - webapp-host - jar - Apache Tuscany Web Application Host - Host code to run Tuscany in a Web application. - - - - javax.servlet - servlet-api - - - - org.apache.tuscany.sca.kernel - core - - - org.apache.tuscany.sca.services - maven - ${sca.version} - runtime - - - - org.apache.tuscany.sca.runtime - webapp - ${sca.version} - compile - - - - - org.easymock - easymockclassextension - - - - org.apache.tuscany.sca - test - ${sca.version} - test - - - - 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 ServletHost implementation that forwards requests to registered servlets - */ -@Service(ServletHost.class) -public class ServletHostImpl implements ServletHost, ServletRequestInjector, EventPublisher { - - protected Map servlets; - - public ServletHostImpl() { - this.servlets = new HashMap(); - } - - @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. - *

- * 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. - *

- * 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 web.xml 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 props = null; - if (loggingLevel != null) { - factoryName = "org.apache.tuscany.core.monitor.JavaLoggingMonitorFactory"; - props = new HashMap(); - 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 @@ - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 10 - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - /WEB-INF/tuscany/extensions/ - - 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 @@ - - - - - - - - - -- cgit v1.2.3