diff options
Diffstat (limited to 'branches/sca-java-20080910/modules/host-http/src')
7 files changed, 0 insertions, 478 deletions
diff --git a/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultResourceServlet.java b/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultResourceServlet.java deleted file mode 100644 index 3de0b9f5a7..0000000000 --- a/branches/sca-java-20080910/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/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java b/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java deleted file mode 100644 index 5e6de0b29b..0000000000 --- a/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.host.http; - -import java.util.ArrayList; -import java.util.List; - -/** - * Default implementation of a Servlet host extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultServletHostExtensionPoint implements ServletHostExtensionPoint { - - private List<ServletHost> servletHosts = new ArrayList<ServletHost>(); - - public void addServletHost(ServletHost servletHost) { - servletHosts.add(servletHost); - } - - public void removeServletHost(ServletHost servletHost) { - servletHosts.remove(servletHost); - } - - public List<ServletHost> getServletHosts() { - return servletHosts; - } -} diff --git a/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ExtensibleServletHost.java b/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ExtensibleServletHost.java deleted file mode 100644 index 4be5de4100..0000000000 --- a/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ExtensibleServletHost.java +++ /dev/null @@ -1,123 +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; - -/** - * Default implementation of an extensible Servlet host. - * - * @version $Rev$ $Date$ - */ -public class ExtensibleServletHost implements ServletHost { - - private ServletHostExtensionPoint servletHosts; - - public ExtensibleServletHost(ServletHostExtensionPoint servletHosts) { - this.servletHosts = servletHosts; - } - - public void setDefaultPort(int port) { - if (servletHosts.getServletHosts().isEmpty()) { - throw new ServletMappingException("No servlet host available"); - } - - for (ServletHost servletHost: servletHosts.getServletHosts()) { - servletHost.setDefaultPort(port); - } - } - - private ServletHost getDefaultServletHost() { - return servletHosts.getServletHosts().get(0); - } - - public int getDefaultPort() { - if (servletHosts.getServletHosts().isEmpty()) { - throw new ServletMappingException("No servlet host available"); - } - - return getDefaultServletHost().getDefaultPort(); - } - - public void addServletMapping(String uri, Servlet servlet) throws ServletMappingException { - if (servletHosts.getServletHosts().isEmpty()) { - throw new ServletMappingException("No servlet host available"); - } - - // TODO implement selection of the correct Servlet host based on the mapping - // For now just select the first one - getDefaultServletHost().addServletMapping(uri, servlet); - } - - public Servlet getServletMapping(String uri) throws ServletMappingException { - if (servletHosts.getServletHosts().isEmpty()) { - throw new ServletMappingException("No servlet host available"); - } - - // 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 { - if (servletHosts.getServletHosts().isEmpty()) { - throw new ServletMappingException("No servlet host available"); - } - - // 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 { - if (servletHosts.getServletHosts().isEmpty()) { - throw new ServletMappingException("No servlet host available"); - } - - // 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() { - if (servletHosts.getServletHosts().isEmpty()) { - throw new ServletMappingException("No servlet host available"); - } - - // 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) { - if (servletHosts.getServletHosts().isEmpty()) { - throw new ServletMappingException("No servlet host available"); - } - - return getDefaultServletHost().getURLMapping(uri); - } - - public void setContextPath(String path) { - getDefaultServletHost().setContextPath(path); - } -} diff --git a/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHost.java b/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHost.java deleted file mode 100644 index e5dbd59a07..0000000000 --- a/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHost.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.host.http; - -import java.net.URL; - -import javax.servlet.RequestDispatcher; -import javax.servlet.Servlet; - -/** - * 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$ - */ -public interface ServletHost { - - /** - * 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 - * @throws ServletMappingException - */ - void addServletMapping(String uri, Servlet servlet) 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); -} diff --git a/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHostExtensionPoint.java b/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHostExtensionPoint.java deleted file mode 100644 index fbd085ba2b..0000000000 --- a/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHostExtensionPoint.java +++ /dev/null @@ -1,51 +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 { - - /** - * 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/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletMappingException.java b/branches/sca-java-20080910/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletMappingException.java deleted file mode 100644 index ae66c44c3e..0000000000 --- a/branches/sca-java-20080910/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/branches/sca-java-20080910/modules/host-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint b/branches/sca-java-20080910/modules/host-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint deleted file mode 100644 index 44f4550b40..0000000000 --- a/branches/sca-java-20080910/modules/host-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-org.apache.tuscany.sca.host.http.DefaultServletHostExtensionPoint
|