diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2012-02-16 15:38:34 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2012-02-16 15:38:34 +0000 |
commit | e6e918ef537c4aa9802ca27b92e1dc566c2cffda (patch) | |
tree | 7e713405c13ac6bb12a30d330cfa4e171bb334c1 /sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http | |
parent | 6a5618b2741471546e0b0885e1758c391837dff6 (diff) |
Delete old RC tags
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1245033 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
30 files changed, 0 insertions, 2420 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/LICENSE b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/META-INF/MANIFEST.MF deleted file mode 100644 index 807c1b0135..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/META-INF/MANIFEST.MF +++ /dev/null @@ -1,23 +0,0 @@ -Manifest-Version: 1.0
-Private-Package: org.apache.tuscany.sca.http.osgi;version="2.0.0"
-SCA-Version: 1.1
-Bundle-Name: Apache Tuscany SCA Jetty Servlet Host Extension
-Bundle-Vendor: The Apache Software Foundation
-Bundle-Version: 2.0.0
-Bundle-ManifestVersion: 2
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-Description: Apache Tuscany SCA Jetty Servlet Host Extension
-Import-Package: javax.net.ssl;resolution:=optional,
- javax.servlet,
- javax.servlet.http,
- org.apache.tuscany.sca.core;version="2.0.0",
- org.apache.tuscany.sca.host.http;version="2.0.0",
- org.apache.tuscany.sca.work;version="2.0.0",
- org.osgi.framework;version="1.4.0",
- org.osgi.service.http;version="1.2",
- org.osgi.util.tracker;version="1.3.0"
-Bundle-SymbolicName: org.apache.tuscany.sca.host.http.osgi
-Bundle-DocURL: http://www.apache.org/
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.apache.tuscany.sca.http.osgi.OSGiServletHost
-Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6 diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/NOTICE b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/NOTICE deleted file mode 100644 index ad2ba40961..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2010 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/pom.xml deleted file mode 100644 index 7b78200c8c..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/pom.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>2.0-Beta3</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-host-http-osgi</artifactId> - <name>Apache Tuscany SCA OSGi HTTP Service Based Servlet Host Extension</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-http</artifactId> - <version>2.0-Beta3</version> - </dependency> - <dependency> - <groupId>org.eclipse</groupId> - <artifactId>osgi</artifactId> - <version>3.5.0-v20090520</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.eclipse.osgi</groupId> - <artifactId>services</artifactId> - <version>3.2.0-v20090520-1800</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>http</artifactId> - <version>1.0.300-v20090520-1800</version> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.5</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-extensibility-equinox</artifactId> - <version>2.0-Beta3</version> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-node-launcher-equinox</artifactId> - <version>2.0-Beta3</version> - <scope>test</scope> - </dependency> - </dependencies> - -</project> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/main/java/org/apache/tuscany/sca/http/osgi/HttpServiceWrapper.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/main/java/org/apache/tuscany/sca/http/osgi/HttpServiceWrapper.java deleted file mode 100644 index 3cfca3e6c8..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/main/java/org/apache/tuscany/sca/http/osgi/HttpServiceWrapper.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.http.osgi; - -import javax.servlet.Servlet; - -import org.osgi.framework.BundleContext; -import org.osgi.framework.InvalidSyntaxException; -import org.osgi.framework.ServiceEvent; -import org.osgi.framework.ServiceListener; -import org.osgi.framework.ServiceReference; -import org.osgi.service.http.HttpService; -import org.osgi.util.tracker.ServiceTracker; - -/** - * A whiteboard for HttpService and Servlet - */ -public class HttpServiceWrapper { - - static final String SERVLET_URI = "servlet.uri"; - private ServiceTracker httpTracker; - private BundleContext bc; - - private class HttpServiceTracker extends ServiceTracker { - private HttpServiceTracker() { - super(bc, HttpService.class.getName(), null); - } - - @Override - public Object addingService(ServiceReference reference) { - HttpService httpService = (HttpService)super.addingService(reference); - // Register existing servlets - String filter = "(objectclass=" + Servlet.class.getName() + ")"; - ServiceReference[] servlets = null; - try { - servlets = bc.getServiceReferences(null, filter); - } catch (InvalidSyntaxException e) { - throw new IllegalStateException(e); - } - for (int i = 0; servlets != null && i < servlets.length; i++) { - Servlet servlet = (Servlet)bc.getService(servlets[i]); - String alias = (String)servlets[i].getProperty(SERVLET_URI); - - try { - httpService.registerServlet(alias, servlet, null, null); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return httpService; - } - } - - public HttpServiceWrapper(BundleContext bc) { - super(); - this.bc = bc; - } - - void open() { - httpTracker = new HttpServiceTracker(); - httpTracker.open(); - - ServiceListener sl = new ServiceListener() { - public void serviceChanged(ServiceEvent ev) { - ServiceReference sr = ev.getServiceReference(); - switch (ev.getType()) { - case ServiceEvent.REGISTERED: { - registerServlet(sr); - } - break; - case ServiceEvent.UNREGISTERING: { - unregisterServlet(sr); - } - break; - } - } - }; - - String filter = "(objectclass=" + Servlet.class.getName() + ")"; - try { - bc.addServiceListener(sl, filter); - ServiceReference[] servlets = bc.getServiceReferences(null, filter); - for (int i = 0; servlets != null && i < servlets.length; i++) { - sl.serviceChanged(new ServiceEvent(ServiceEvent.REGISTERED, servlets[i])); - } - } catch (InvalidSyntaxException e) { - e.printStackTrace(); - } - } - - void close() { - if (httpTracker != null) { - httpTracker.close(); - } - } - - void registerServlet(ServiceReference sr) { - Servlet servlet = (Servlet)bc.getService(sr); - String alias = (String)sr.getProperty(SERVLET_URI); - - Object[] httpServices = httpTracker.getServices(); - - for (int i = 0; httpServices != null && i < httpServices.length; i++) { - HttpService http = (HttpService)httpServices[i]; - try { - http.registerServlet(alias, servlet, null, null); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - } - - void unregisterServlet(ServiceReference sr) { - String alias = (String)sr.getProperty(SERVLET_URI); - Object[] httpServices = httpTracker.getServices(); - - for (int i = 0; httpServices != null && i < httpServices.length; i++) { - HttpService http = (HttpService)httpServices[i]; - try { - http.unregister(alias); - } catch (Exception e) { - throw new IllegalStateException(e); - } - bc.ungetService(sr); - } - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/main/java/org/apache/tuscany/sca/http/osgi/OSGiServletHost.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/main/java/org/apache/tuscany/sca/http/osgi/OSGiServletHost.java deleted file mode 100644 index 467fcf8fbd..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/main/java/org/apache/tuscany/sca/http/osgi/OSGiServletHost.java +++ /dev/null @@ -1,300 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.http.osgi; - -import java.io.IOException; -import java.io.PrintWriter; -import java.net.InetAddress; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.net.UnknownHostException; -import java.util.Dictionary; -import java.util.HashMap; -import java.util.Hashtable; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.logging.Logger; - -import javax.servlet.RequestDispatcher; -import javax.servlet.Servlet; -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.sca.host.http.SecurityContext; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.host.http.ServletMappingException; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceRegistration; - -/** - * - */ -public class OSGiServletHost implements ServletHost, BundleActivator { - static final String DUMMY_URI = "/_tuscany"; - - /** - * Default servlet - */ - private static class DefaultServlet extends HttpServlet { - - @Override - public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { - PrintWriter pw = response.getWriter(); - pw.println("<html><body><h1>Apache Tuscany</h1></body></html>"); - pw.flush(); - } - } - - private Map<String, Servlet> servlets = new ConcurrentHashMap<String, Servlet>(); - - private static final Logger logger = Logger.getLogger(OSGiServletHost.class.getName()); - - private String contextPath = "/"; - private int defaultPortNumber = 8080; - - private ServletContext servletContext; - private Map<String, Object> attributes = new HashMap<String, Object>(); - private HttpServiceWrapper wrapper; - - private static BundleContext bundleContext; - - public void start(BundleContext context) { - bundleContext = context; - wrapper = new HttpServiceWrapper(bundleContext); - wrapper.open(); - - HttpServlet defaultServlet = new DefaultServlet(); - addServletMapping(DUMMY_URI, defaultServlet); - // this.servletContext = defaultServlet.getServletContext(); - } - - public void stop(BundleContext bundleContext) { - removeServletMapping(DUMMY_URI); - wrapper.close(); - } - - public void setDefaultPort(int port) { - defaultPortNumber = port; - } - - public int getDefaultPort() { - return defaultPortNumber; - } - - public String addServletMapping(String suri, Servlet servlet) throws ServletMappingException { - URI pathURI = URI.create(suri); - - // Make sure that the path starts with a / - suri = pathURI.getPath(); - if (!suri.startsWith("/")) { - suri = '/' + suri; - } - - if (!suri.startsWith(contextPath)) { - suri = contextPath + suri; - } - - // The OSGi HTTP service doesn't use an aster for sub-paths so strip it off - if (suri.endsWith("/*")) { - suri = suri.substring(0, suri.length()-2); - } - - // In a webapp just use the given path and ignore the host and port - // as they are fixed by the Web container - try { - Dictionary<String, Object> props = new Hashtable<String, Object>(); - props.put(HttpServiceWrapper.SERVLET_URI, suri); - ServiceRegistration reg = bundleContext.registerService(Servlet.class.getName(), servlet, props); - servlets.put(suri, servlet); - } catch (Exception e) { - throw new ServletMappingException(e); - } - - logger.info("Added Servlet mapping: " + suri); - return suri; - } - - public Servlet removeServletMapping(String suri) throws ServletMappingException { - URI pathURI = URI.create(suri); - - // Make sure that the path starts with a / - suri = pathURI.getPath(); - if (!suri.startsWith("/")) { - suri = '/' + suri; - } - - if (!suri.startsWith(contextPath)) { - suri = contextPath + suri; - } - - // In a webapp just use the given path and ignore the host and port - // as they are fixed by the Web container - try { - return servlets.remove(suri); - } catch (Exception e) { - throw new ServletMappingException(e); - } - - } - - public Servlet getServletMapping(String suri) throws ServletMappingException { - if (!suri.startsWith("/")) { - suri = '/' + suri; - } - - if (!suri.startsWith(contextPath)) { - suri = contextPath + suri; - } - - // Get the Servlet mapped to the given path - Servlet servlet = servlets.get(suri); - return servlet; - } - - public URL getURLMapping(String suri) throws ServletMappingException { - URI uri = URI.create(suri); - - // Get the URI scheme and port - String scheme = uri.getScheme(); - if (scheme == null) { - scheme = "http"; - } - int portNumber = uri.getPort(); - if (portNumber == -1) { - portNumber = defaultPortNumber; - } - - // Get the host - String host; - try { - host = InetAddress.getLocalHost().getHostName(); - } catch (UnknownHostException e) { - host = "localhost"; - } - - // Construct the URL - String path = uri.getPath(); - if (!path.startsWith("/")) { - path = '/' + path; - } - - if (contextPath != null && !path.startsWith(contextPath)) { - path = contextPath + path; - } - - URL url; - try { - url = new URL(scheme, host, portNumber, path); - } catch (MalformedURLException e) { - throw new ServletMappingException(e); - } - return url; - } - - public RequestDispatcher getRequestDispatcher(String suri) throws ServletMappingException { - - // Make sure that the path starts with a / - if (!suri.startsWith("/")) { - suri = '/' + suri; - } - - suri = contextPath + suri; - - // Get the Servlet mapped to the given path - Servlet servlet = servlets.get(suri); - if (servlet != null) { - return new ServletRequestDispatcher(suri, servlet); - } - - for (Map.Entry<String, Servlet> entry : servlets.entrySet()) { - String servletPath = entry.getKey(); - if (servletPath.endsWith("*")) { - servletPath = servletPath.substring(0, servletPath.length() - 1); - if (suri.startsWith(servletPath)) { - // entry key is contextPath/servletPath, WebAppRequestDispatcher only wants servletPath - return new ServletRequestDispatcher(entry.getKey().substring(contextPath.length()), entry - .getValue()); - } else { - if ((suri + "/").startsWith(servletPath)) { - return new ServletRequestDispatcher(entry.getKey().substring(contextPath.length()), entry - .getValue()); - } - } - } - } - - // No Servlet found - return null; - } - - public String getContextPath() { - return contextPath; - } - - public void setContextPath(String path) { - } - - /** - * TODO: How context paths work is still up in the air so for now - * this hacks in a path that gets some samples working - * can't use setContextPath as NodeImpl calls that later - */ - public void setContextPath2(String path) { - if (path != null && path.length() > 0) { - this.contextPath = path; - } - } - - public void setAttribute(String name, Object value) { - if (servletContext != null) { - servletContext.setAttribute(name, value); - } else { - attributes.put(name, value); - } - } - - public String getName() { - return "osgi"; - } - - @Override - public ServletContext getServletContext() { - // TODO Auto-generated method stub - return null; - } - - @Override - public String addServletMapping(String uri, Servlet servlet, SecurityContext securityContext) - throws ServletMappingException { - return addServletMapping(uri, servlet); - } - - @Override - public URL getURLMapping(String uri, SecurityContext securityContext) { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/main/java/org/apache/tuscany/sca/http/osgi/ServletRequestDispatcher.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/main/java/org/apache/tuscany/sca/http/osgi/ServletRequestDispatcher.java deleted file mode 100644 index 789deeb94e..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/main/java/org/apache/tuscany/sca/http/osgi/ServletRequestDispatcher.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.http.osgi; - -import java.io.IOException; -import java.util.StringTokenizer; - -import javax.servlet.RequestDispatcher; -import javax.servlet.Servlet; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; - -/** - * A Servlet request dispatcher that can be used to delegate requests to a - * Servlet registered with the Webapp Servlet host. - * - * @version $Rev$ $Date$ - */ -class ServletRequestDispatcher implements RequestDispatcher { - private String servletPath; - private Servlet servlet; - - public ServletRequestDispatcher(String mapping, Servlet servlet) { - if (mapping.endsWith("*")) { - mapping = mapping.substring(0, mapping.length()-1); - } - if (mapping.endsWith("/")) { - mapping = mapping.substring(0, mapping.length()-1); - } - this.servletPath = mapping; - this.servlet = servlet; - } - - /** - * Returns a request wrapper which will return the correct Servlet path - * and path info. - * - * @param request - * @return - */ - private HttpServletRequest createRequestWrapper(ServletRequest request) { - HttpServletRequest requestWrapper = new HttpServletRequestWrapper((HttpServletRequest)request) { - - @Override - public String getServletPath() { - return servletPath; - } - - @Override - public String getPathInfo() { - String path = super.getServletPath(); - if (path.length() == 0) { - path = super.getPathInfo(); - } - - // TODO: another context path hack, revisit when context path is sorted out - path = fiddlePath(path, servletPath); - - return path; - } - }; - return requestWrapper; - } - - /** - * Remove any path suffix thats part of the Servlet context path - */ - protected String fiddlePath(String path, String servletPath) { - StringTokenizer st = new StringTokenizer(path, "/"); - if (st.countTokens() == 1) { - return path; - } - String root = ""; - while (st.hasMoreTokens()){ - String s = st.nextToken(); - if (servletPath.endsWith((root + "/" + s))) { - root += "/" + s; - } else { - break; - } - } - String fiddlePath = path.substring(root.length()); - return fiddlePath; - } - - public void forward(ServletRequest request, ServletResponse response) throws ServletException, IOException { - servlet.service(createRequestWrapper(request), response); - } - - public void include(ServletRequest request, ServletResponse response) throws ServletException, IOException { - servlet.service(createRequestWrapper(request), response); - } -} - diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.ServletHost b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.ServletHost deleted file mode 100644 index 3bc305ecc1..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.ServletHost +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-# Implementation class for the ServletHost
-org.apache.tuscany.sca.http.osgi.OSGiServletHost;name=osgi,ranking=100
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/test/java/org/apache/tuscany/sca/http/osgi/OSGiServletHostTestCase.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/test/java/org/apache/tuscany/sca/http/osgi/OSGiServletHostTestCase.java deleted file mode 100644 index b38543a7e9..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/test/java/org/apache/tuscany/sca/http/osgi/OSGiServletHostTestCase.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.http.osgi; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.net.URL; - -import org.apache.tuscany.sca.node.equinox.launcher.EquinoxHost; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; - -/** - * - */ -public class OSGiServletHostTestCase { - /** Standard OSGi port property for HTTP service */ - public static final String HTTP_PORT = "org.osgi.service.http.port"; - - /** Standard OSGi port property for HTTPS service */ - public static final String HTTPS_PORT = "org.osgi.service.http.port.secure"; - - private static EquinoxHost host; - private static String port; - - /** - * @throws java.lang.Exception - */ - @BeforeClass - public static void setUpBeforeClass() throws Exception { - port = System.setProperty(HTTP_PORT, "8085"); - host = new EquinoxHost(); - BundleContext context = host.start(); - for (Bundle b : context.getBundles()) { - System.out.println(b.getSymbolicName()); - b.start(); - } - } - - /** - * @throws java.lang.Exception - */ - @AfterClass - public static void tearDownAfterClass() throws Exception { - if (host != null) { - host.stop(); - if (port != null) { - System.setProperty(HTTP_PORT, port); - } else { - System.clearProperty(HTTP_PORT); - } - } - } - - @Test - public void testHost() throws IOException { - URL url = new URL("http://localhost:8085" + OSGiServletHost.DUMMY_URI); - InputStream is = url.openStream(); - Reader reader = new InputStreamReader(is); - char[] content = new char[1024]; - int len = 0; - while (true) { - int size = reader.read(content, len, 1024 - len); - if (size < 0) { - break; - } - len += size; - } - Assert.assertTrue(len > 0); - String str = new String(content, 0, len); - System.out.println(str); - Assert.assertEquals("<html><body><h1>Apache Tuscany</h1></body></html>", str.trim()); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/test/resources/content/test.html b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/test/resources/content/test.html deleted file mode 100644 index 9ee377e1ff..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/test/resources/content/test.html +++ /dev/null @@ -1,23 +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. ---> -<html> -<body> -<h1>Hello from Apache Tuscany!</h1> -</body> -</html>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/test/resources/tuscany.keyStore b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/test/resources/tuscany.keyStore Binary files differdeleted file mode 100644 index 7ea23f7ff4..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http-osgi/src/test/resources/tuscany.keyStore +++ /dev/null diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/LICENSE b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/META-INF/MANIFEST.MF deleted file mode 100644 index c4ccda2499..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/META-INF/MANIFEST.MF +++ /dev/null @@ -1,34 +0,0 @@ -Manifest-Version: 1.0
-Export-Package: org.apache.tuscany.sca.host.http;version="2.0.0";
- uses:="javax.servlet,
- org.apache.tuscany.sca.core,
- org.apache.tuscany.sca.extensibility,
- javax.servlet.http",
- org.apache.tuscany.sca.host.http.client;version="2.0.0";uses:="org.apache.http.client",
- org.apache.tuscany.sca.host.http.extensibility;version="2.0.0"
-SCA-Version: 1.1
-Bundle-Name: Apache Tuscany SCA HTTP Servlet Host Extension Point
-Bundle-Vendor: The Apache Software Foundation
-Bundle-Version: 2.0.0
-Bundle-ManifestVersion: 2
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-Description: Apache Tuscany SCA HTTP Servlet Host Extension Poi
- nt
-Import-Package: javax.servlet,
- javax.servlet.http,
- org.apache.http;resolution:=optional,
- org.apache.http.client;resolution:=optional,
- org.apache.http.conn;resolution:=optional,
- org.apache.http.conn.params;resolution:=optional,
- org.apache.http.conn.scheme;resolution:=optional,
- org.apache.http.conn.ssl;resolution:=optional,
- org.apache.http.impl.client;resolution:=optional,
- org.apache.http.impl.conn.tsccm;resolution:=optional,
- org.apache.http.params;resolution:=optional,
- org.apache.http.protocol;resolution:=optional,
- org.apache.tuscany.sca.core;version="2.0.0",
- org.apache.tuscany.sca.extensibility;version="2.0.0",
- org.apache.tuscany.sca.host.http;version="2.0.0"
-Bundle-SymbolicName: org.apache.tuscany.sca.host.http
-Bundle-DocURL: http://www.apache.org/
-Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6 diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/NOTICE b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/NOTICE deleted file mode 100644 index d69e595698..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2011 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/pom.xml b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/pom.xml deleted file mode 100644 index 85808b40fa..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/pom.xml +++ /dev/null @@ -1,62 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>2.0-Beta3</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-host-http</artifactId> - <name>Apache Tuscany SCA HTTP Servlet Host Extension Point</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-core-spi</artifactId> - <version>2.0-Beta3</version> - </dependency> - - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.5</version> - <scope>provided</scope> - </dependency> - - <!-- Making the dependency optional so that base-runtime won't pull them in --> - <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpclient</artifactId> - <version>4.0.3</version> - <optional>true</optional> - </dependency> - - <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpcore</artifactId> - <version>4.0.1</version> - <optional>true</optional> - </dependency> - - </dependencies> - -</project> diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultResourceServlet.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultResourceServlet.java deleted file mode 100644 index 3de0b9f5a7..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultResourceServlet.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.host.http; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URL; -import java.net.URLDecoder; - -import javax.servlet.Servlet; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * A minimal implementation of a Servlet that serves documents in a document root - * directory. - * - * A Servlet host implementation is not required to use this implementation and can map - * the URI and document root to a more complete and more efficient implementation of - * a resource Servlet, for example the Tomcat or Jetty default Servlets. - * - * @version $Rev$ $Date$ - */ -public class DefaultResourceServlet extends HttpServlet implements Servlet { - private static final long serialVersionUID = 2865466417329430610L; - - private String documentRoot; - - /** - * Constructs a new ResourceServlet - * @param documentRoot the document root - */ - public DefaultResourceServlet(String documentRoot) { - this.documentRoot = documentRoot; - } - - /** - * Returns the document root. - * @return the document root - */ - public String getDocumentRoot() { - return documentRoot; - } - - @Override - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - // Determine the resource path - String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8"); - if (path.startsWith("/")) { - path = path.substring(1); - } - URL url = new URL(documentRoot + '/' + path); - - // Write the resource - InputStream is = url.openStream(); - OutputStream os = response.getOutputStream(); - byte[] buffer = new byte[2048]; - for (;;) { - int n = is.read(buffer); - if (n <= 0) - break; - os.write(buffer, 0, n); - } - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java deleted file mode 100644 index 8ecb81f843..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.host.http; - -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import javax.servlet.RequestDispatcher; -import javax.servlet.Servlet; -import javax.servlet.ServletContext; - -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.LifeCycleListener; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceHelper; - -/** - * Default implementation of a Servlet host extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultServletHostExtensionPoint implements ServletHostExtensionPoint, LifeCycleListener { - - private List<ServletHost> servletHosts = new ArrayList<ServletHost>(); - private boolean loaded; - private boolean webApp; - - private ExtensionPointRegistry registry; - - public DefaultServletHostExtensionPoint(ExtensionPointRegistry registry) { - this.registry = registry; - } - - public void addServletHost(ServletHost servletHost) { - servletHosts.add(servletHost); - if (servletHost instanceof LifeCycleListener) { - ((LifeCycleListener)servletHost).start(); - } - } - - public void removeServletHost(ServletHost servletHost) { - servletHosts.remove(servletHost); - if (servletHost instanceof LifeCycleListener) { - ((LifeCycleListener)servletHost).stop(); - } - } - - public List<ServletHost> getServletHosts() { - loadServletHosts(); - return servletHosts; - } - - private synchronized void loadServletHosts() { - if (loaded) - return; - - // Get the databinding service declarations - Collection<ServiceDeclaration> sds; - try { - sds = registry.getServiceDiscovery().getServiceDeclarations(ServletHost.class, true); - } catch (IOException e) { - throw new IllegalStateException(e); - } - - // Load data bindings - for (ServiceDeclaration sd : sds) { - // Create a data binding wrapper and register it - ServletHost servletHost = new LazyServletHost(sd); - addServletHost(servletHost); - } - - loaded = true; - } - - /** - * A data binding facade allowing data bindings to be lazily loaded and - * initialized. - */ - public class LazyServletHost implements ServletHost, LifeCycleListener { - private ServiceDeclaration sd; - private ServletHost host; - - /** - * @param sd - */ - public LazyServletHost(ServiceDeclaration sd) { - super(); - this.sd = sd; - } - - public synchronized ServletHost getServletHost() { - if (host == null) { - try { - host = ServiceHelper.newInstance(registry, sd); - ServiceHelper.start(host); - } catch (Throwable e) { - throw new IllegalStateException(e); - } - } - return host; - } - - public String addServletMapping(String uri, Servlet servlet) throws ServletMappingException { - return getServletHost().addServletMapping(uri, servlet); - } - - public String addServletMapping(String uri, Servlet servlet, SecurityContext securityContext) throws ServletMappingException { - return getServletHost().addServletMapping(uri, servlet, securityContext); - } - - public String getContextPath() { - return getServletHost().getContextPath(); - } - - public int getDefaultPort() { - return getServletHost().getDefaultPort(); - } - - public RequestDispatcher getRequestDispatcher(String uri) throws ServletMappingException { - return getServletHost().getRequestDispatcher(uri); - } - - public Servlet getServletMapping(String uri) throws ServletMappingException { - return getServletHost().getServletMapping(uri); - } - - public URL getURLMapping(String uri, SecurityContext securityContext) { - return getServletHost().getURLMapping(uri, securityContext); - } - - public Servlet removeServletMapping(String uri) throws ServletMappingException { - return getServletHost().removeServletMapping(uri); - } - - public void setAttribute(String name, Object value) { - getServletHost().setAttribute(name, value); - } - - public void setContextPath(String path) { - getServletHost().setContextPath(path); - } - - public void setDefaultPort(int port) { - getServletHost().setDefaultPort(port); - } - - public String getName() { - return sd.getAttributes().get("name"); - } - - public void start() { - } - - public void stop() { - ServiceHelper.stop(host); - } - - @Override - public ServletContext getServletContext() { - return getServletHost().getServletContext(); - } - } - - public void start() { - } - - public void stop() { - ServiceHelper.stop(servletHosts); - servletHosts.clear(); - registry = null; - } - - public boolean isWebApp() { - return webApp; - } - - public void setWebApp(boolean webApp) { - this.webApp = webApp; - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ExtensibleServletHost.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ExtensibleServletHost.java deleted file mode 100644 index 107b6b3d5f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ExtensibleServletHost.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.host.http; - -import java.net.URL; -import java.util.List; - -import javax.servlet.RequestDispatcher; -import javax.servlet.Servlet; -import javax.servlet.ServletContext; - -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; - -/** - * Default implementation of an extensible Servlet host. - * - * @version $Rev$ $Date$ - */ -public class ExtensibleServletHost implements ServletHost { - - private ServletHostExtensionPoint servletHosts; - - public ExtensibleServletHost(ExtensionPointRegistry registry) { - this.servletHosts = registry.getExtensionPoint(ServletHostExtensionPoint.class); - } - - public static ExtensibleServletHost getInstance(ExtensionPointRegistry registry) { - UtilityExtensionPoint utilityExtensionPoint = registry.getExtensionPoint(UtilityExtensionPoint.class); - return utilityExtensionPoint.getUtility(ExtensibleServletHost.class); - } - - public ExtensibleServletHost(ServletHostExtensionPoint servletHosts) { - this.servletHosts = servletHosts; - } - - public void setDefaultPort(int port) { - for (ServletHost servletHost: servletHosts.getServletHosts()) { - servletHost.setDefaultPort(port); - } - } - - public ServletHost getDefaultServletHost() { - List<ServletHost> hosts = servletHosts.getServletHosts(); - if (hosts.isEmpty()) { - throw new ServletMappingException("No servlet host is available."); - } - if (servletHosts.isWebApp()) { - for (ServletHost servletHost : hosts) { - if (!"webapp".equals(servletHost.getName())) { - continue; - } - if (servletHost instanceof DefaultServletHostExtensionPoint.LazyServletHost) { - return ((DefaultServletHostExtensionPoint.LazyServletHost)servletHost).getServletHost(); - } else { - return servletHost; - } - } - } - return hosts.get(0); - } - - public int getDefaultPort() { - return getDefaultServletHost().getDefaultPort(); - } - - public String addServletMapping(String uri, Servlet servlet) throws ServletMappingException { - // TODO implement selection of the correct Servlet host based on the mapping - // For now just select the first one - return getDefaultServletHost().addServletMapping(uri, servlet); - } - - public String addServletMapping(String uri, Servlet servlet, SecurityContext securityContext) throws ServletMappingException { - // TODO implement selection of the correct Servlet host based on the mapping - // For now just select the first one - return getDefaultServletHost().addServletMapping(uri, servlet, securityContext); - } - - public Servlet getServletMapping(String uri) throws ServletMappingException { - // TODO implement selection of the correct Servlet host based on the mapping - // For now just select the first one - return getDefaultServletHost().getServletMapping(uri); - } - - public Servlet removeServletMapping(String uri) throws ServletMappingException { - // TODO implement selection of the correct Servlet host based on the mapping - // For now just select the first one - return getDefaultServletHost().removeServletMapping(uri); - } - - public RequestDispatcher getRequestDispatcher(String uri) throws ServletMappingException { - // TODO implement selection of the correct Servlet host based on the mapping - // For now just select the first one - return getDefaultServletHost().getRequestDispatcher(uri); - } - - public String getContextPath() { - // TODO implement selection of the correct Servlet host based on the mapping - // For now just select the first one - return getDefaultServletHost().getContextPath(); - } - - public URL getURLMapping(String uri, SecurityContext securityContext) { - return getDefaultServletHost().getURLMapping(uri, securityContext); - } - - public void setContextPath(String path) { - getDefaultServletHost().setContextPath(path); - } - - public void setAttribute(String name, Object value) { - getDefaultServletHost().setAttribute(name, value); - } - - public String getName() { - return getDefaultServletHost().getName(); - } - - @Override - public ServletContext getServletContext() { - return getDefaultServletHost().getServletContext(); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/HttpScheme.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/HttpScheme.java deleted file mode 100644 index 859b685f3f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/HttpScheme.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.sca.host.http; - -public enum HttpScheme { - HTTP, - HTTPS -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/SecurityContext.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/SecurityContext.java deleted file mode 100644 index f290bb3e59..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/SecurityContext.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.host.http; - -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; - -/** - * A class to store policy context to enable Security QoS to - * HTTP binding - */ -public class SecurityContext { - private boolean isSSLEnabled = false; - private Properties sslProperties; - - private boolean isAuthenticationEnabled = false; - private List<UserContext> users = new ArrayList<UserContext>(); - - public boolean isSSLEnabled() { - return isSSLEnabled; - } - - public void setSSLEnabled(boolean value) { - this.isSSLEnabled = value; - } - - public Properties getSSLProperties() { - return sslProperties; - } - - public void setSSLProperties(Properties sslProperties) { - this.sslProperties = sslProperties; - } - - public boolean isAuthenticationEnabled() { - return this.isAuthenticationEnabled; - } - - public void setAuthenticationEnabled(boolean value) { - this.isAuthenticationEnabled = value; - } - - public List<UserContext> getUsers() { - return this.users; - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHost.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHost.java deleted file mode 100644 index f70a6eddcc..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHost.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.host.http; - -import java.net.URL; - -import javax.servlet.RequestDispatcher; -import javax.servlet.Servlet; -import javax.servlet.ServletContext; - -/** - * Interface implemented by host environments that allow Servlets to be - * registered. - * <p/> - * This interface allows a system service to register a Servlet - * to handle inbound requests. - * - * @version $Rev$ $Date$ - * @tuscany.spi.extension.inheritfrom - */ -public interface ServletHost { - - ServletContext getServletContext(); - - /** - * Sets the default port for the server. - * - * @param port the default port - */ - void setDefaultPort(int port); - - /** - * Returns the default port for the server. - * - * @return the default port - */ - int getDefaultPort(); - - /** - * Add a mapping for an instance of a Servlet. This requests that the - * Servlet container direct all requests to the designated mapping to the - * supplied Servlet instance. - * - * @param uri the URI-mapping for the Servlet - * @param servlet the Servlet that should be invoked - * @return The deployed URI - * @throws ServletMappingException - */ - String addServletMapping(String uri, Servlet servlet) throws ServletMappingException; - - /** - * Add a mapping for an instance of a Servlet. This requests that the - * Servlet container direct all requests to the designated mapping to the - * supplied Servlet instance. SecurityContext can be passed to enable - * QoS services such as Confidentiality (SSL) and Authentication/Authorization - * - * @param uri the URI-mapping for the Servlet - * @param servlet the Servlet that should be invoked - * @param securityContext the SecurityContext to enable QoS services - * @return The deployed URI - * @throws ServletMappingException - */ - String addServletMapping(String uri, Servlet servlet, SecurityContext securityContext) throws ServletMappingException; - - /** - * Remove a Servlet mapping. This directs the Servlet container not to direct - * any more requests to a previously registered Servlet. - * - * @param uri the URI-mapping for the Servlet - * @return the Servlet that was registered to the mapping, null if nothing - * was registered to the mapping - * @throws ServletMappingException - */ - Servlet removeServletMapping(String uri) throws ServletMappingException; - - /** - * Returns the Servlet mapped to the given URI. - * - * @param uri the URI-mapping for the Servlet - * @return the Servlet registered with the mapping - * @throws ServletMappingException - */ - Servlet getServletMapping(String uri) throws ServletMappingException; - - /** - * Returns a Servlet request dispatcher for the Servlet mapped to the specified URI. - * - * @param uri the URI mapped to a Servlet - * @return a RequestDispatcher that can be used to dispatch requests to - * that Servlet - * @throws ServletMappingException - */ - RequestDispatcher getRequestDispatcher(String uri) throws ServletMappingException; - - /** - * Returns the portion of the request URI that indicates the context of the request - * - * @return a String specifying the portion of the request URI that indicates the context of the request - */ - String getContextPath(); - - /** - * Sets the portion of the request URI that indicates the context of the request - * - * @param path the context path - */ - void setContextPath(String path); - - /** - * Returns the complete URL mapped to the specified URI. - * @return the URL mapped to the specified URI - */ - URL getURLMapping(String uri, SecurityContext securityContext); - - /** - * Set an attribute in the application ServletContext - * @param name the name of the attribute - * @param value the attribute value - */ - void setAttribute(String name, Object value); - - /** - * Returns the name that identify the server type (e.g jetty) - * @return - */ - String getName(); -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHostExtensionPoint.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHostExtensionPoint.java deleted file mode 100644 index 8ef48e4949..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHostExtensionPoint.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.sca.host.http; - -import java.util.List; - -/** - * An extension point for Servlet hosts. - * - * @version $Rev$ $Date$ - */ -public interface ServletHostExtensionPoint { - /** - * Test if it's inside a web application - * @return - */ - boolean isWebApp(); - - /** - * Set the flag to indicate it's inside a web application - * @param webApp - */ - void setWebApp(boolean webApp); - - /** - * Adds a Servlet host extension. - * - * @param servletHost - */ - void addServletHost(ServletHost servletHost); - - /** - * Removes a Servlet host extension. - * - * @param servletHost - */ - void removeServletHost(ServletHost servletHost); - - /** - * Returns a list of Servlet host extensions. - * - * @return - */ - List<ServletHost> getServletHosts(); - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHostHelper.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHostHelper.java deleted file mode 100644 index 10c6d8706c..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHostHelper.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.sca.host.http; - -import org.apache.tuscany.sca.core.ExtensionPointRegistry; - -/** - * - * @tuscany.spi.extension.asclient - * - */ - -public class ServletHostHelper { - - public static ServletHost getServletHost(ExtensionPointRegistry extensionPoints) { - ExtensibleServletHost host = ExtensibleServletHost.getInstance(extensionPoints); - return host.getDefaultServletHost(); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletMappingException.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletMappingException.java deleted file mode 100644 index ae66c44c3e..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletMappingException.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.host.http; - -/** - * Indicates an exception while registering a Servlet mapping. - * - * @version $Rev$ $Date$ - */ -public class ServletMappingException extends RuntimeException { - private static final long serialVersionUID = 1L; - - public ServletMappingException() { - super(); - } - - public ServletMappingException(String message) { - super(message); - } - - public ServletMappingException(String message, Throwable cause) { - super(message, cause); - } - - public ServletMappingException(Throwable cause) { - super(cause); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/UserContext.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/UserContext.java deleted file mode 100644 index 4a19eda81d..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/UserContext.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.sca.host.http; - -import java.util.ArrayList; -import java.util.List; - -/** - * Model class used to define list of users and it's roles - * - * These info is used to configure authentication/authorization - * in embedded http servers - * - * @version $Rev$ $Date$ - */ -public class UserContext { - private String username; - private String password; - private List<String> roles = new ArrayList<String>(); - - - public UserContext() { - - } - - public UserContext(String username, String password) { - this.username = username; - this.password = password; - } - - public String getUsername() { - return this.username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getPassword() { - return this.password; - } - - public void setPassword(String password) { - this.password = password; - } - - public List<String> getRoles() { - return this.roles; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/client/HttpClientFactory.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/client/HttpClientFactory.java deleted file mode 100644 index 4819107ffd..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/client/HttpClientFactory.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.host.http.client; - -import org.apache.http.HttpHost; -import org.apache.http.client.HttpClient; -import org.apache.http.conn.ClientConnectionManager; -import org.apache.http.conn.params.ConnManagerParams; -import org.apache.http.conn.scheme.PlainSocketFactory; -import org.apache.http.conn.scheme.Scheme; -import org.apache.http.conn.scheme.SchemeRegistry; -import org.apache.http.conn.ssl.SSLSocketFactory; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager; -import org.apache.http.params.BasicHttpParams; -import org.apache.http.params.HttpConnectionParams; -import org.apache.http.params.HttpParams; -import org.apache.http.params.HttpProtocolParams; -import org.apache.http.protocol.HTTP; - -/** - * @version $Rev$ $Date$ - */ -public class HttpClientFactory { - - public HttpClient createHttpClient() { - HttpParams defaultParameters = new BasicHttpParams(); - //defaultParameters.setIntParameter(HttpConnectionManagerParams.MAX_TOTAL_CONNECTIONS, 10); - - ConnManagerParams.setMaxTotalConnections(defaultParameters, 160); - // ConnManagerParams.setMaxConnectionsPerRoute(defaultParameters, ConnPerRoute); - - HttpProtocolParams.setContentCharset(defaultParameters, HTTP.UTF_8); - HttpConnectionParams.setConnectionTimeout(defaultParameters, 60000); - HttpConnectionParams.setSoTimeout(defaultParameters, 60000); - - SchemeRegistry supportedSchemes = new SchemeRegistry(); - supportedSchemes.register(new Scheme(HttpHost.DEFAULT_SCHEME_NAME, PlainSocketFactory.getSocketFactory(), 80)); - supportedSchemes.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443)); - - ClientConnectionManager connectionManager = - new ThreadSafeClientConnManager(defaultParameters, supportedSchemes); - - - - return new DefaultHttpClient(connectionManager, defaultParameters); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/HttpPortAllocator.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/HttpPortAllocator.java deleted file mode 100644 index ec447b2c6f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/HttpPortAllocator.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.host.http.extensibility; - -import org.apache.tuscany.sca.host.http.HttpScheme; - -/** - * Allows runtime to query the Http Port to use for a particular Http Scheme (http, https) - * - * @version $Rev$ $Date$ - */ -public interface HttpPortAllocator { - int DEFAULT_HTTP_PORT = 8080; - int DEFAULT_HTTPS_PORT = 8443; - /** - * Get default port for a given http scheme - * @param scheme the http scheme in use (http/https) - * @return the default port to use - */ - int getDefaultPort(HttpScheme scheme); -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/impl/DefaultHttpPortAllocatorImpl.java b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/impl/DefaultHttpPortAllocatorImpl.java deleted file mode 100644 index 544b1ea8df..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/impl/DefaultHttpPortAllocatorImpl.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.host.http.extensibility.impl; - -import java.io.IOException; -import java.net.ServerSocket; -import java.security.AccessController; -import java.security.PrivilegedAction; - -import org.apache.tuscany.sca.host.http.HttpScheme; -import org.apache.tuscany.sca.host.http.extensibility.HttpPortAllocator; - -public class DefaultHttpPortAllocatorImpl implements HttpPortAllocator { - - public int getDefaultPort(HttpScheme scheme) { - int port = 0; - - if (scheme == null || scheme == HttpScheme.HTTP) { - try { - port = Integer.parseInt(getVariable("HTTP_PORT", String.valueOf(DEFAULT_HTTP_PORT))); - if (port == 0) { - port = findFreePort(DEFAULT_HTTP_PORT, DEFAULT_HTTP_PORT + 1000); - } - } catch (NumberFormatException e) { - port = DEFAULT_HTTP_PORT; - } - } else if (scheme == HttpScheme.HTTPS) { - try { - port = Integer.parseInt(getVariable("HTTPS_PORT", String.valueOf(DEFAULT_HTTPS_PORT))); - if (port == 0) { - port = findFreePort(DEFAULT_HTTPS_PORT, DEFAULT_HTTPS_PORT + 1000); - } - } catch (NumberFormatException e) { - port = DEFAULT_HTTPS_PORT; - } - } - - return port; - - } - - private static String getVariable(final String variableName, final String defaultValue) { - return AccessController.doPrivileged(new PrivilegedAction<String>() { - public String run() { - String value = System.getProperty(variableName); - if (value == null || value.length() == 0) { - value = System.getenv(variableName); - if (value == null || value.length() == 0) { - value = defaultValue; - } - } - return value; - } - }); - } - - private int findFreePort(final int start, final int end) { - return AccessController.doPrivileged(new PrivilegedAction<Integer>() { - public Integer run() { - for (int p = start; p <= end; p++) { - ServerSocket socket = null; - try { - socket = new ServerSocket(p); - return p; - } catch (IOException e) { - // Ignore - } finally { - if (socket != null) { - try { - socket.close(); - } catch (IOException e) { - // Ignore - } - } - } - } - return -1; - } - }); - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint deleted file mode 100644 index d2d165d6f3..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint +++ /dev/null @@ -1,19 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-org.apache.tuscany.sca.host.http.DefaultServletHostExtensionPoint
-
diff --git a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.extensibility.HttpPortAllocator b/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.extensibility.HttpPortAllocator deleted file mode 100644 index 70bc948ffc..0000000000 --- a/sca-java-2.x/tags/2.0-Beta3-RC1/modules/host-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.extensibility.HttpPortAllocator +++ /dev/null @@ -1,19 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -org.apache.tuscany.sca.host.http.extensibility.impl.DefaultHttpPortAllocatorImpl - |