diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:07:53 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:07:53 +0000 |
commit | 89d72264d0af4c65c9bf0b7a6f823f13d69162aa (patch) | |
tree | f6a4ea43b576d56a43adf10ccbed4cd75a9eb827 /branches/sca-java-1.3/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeServletFilter.java | |
parent | 6a3ca6736c808c1647854e405ef379b609f276db (diff) |
Moving 1.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835127 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.3/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeServletFilter.java')
-rw-r--r-- | branches/sca-java-1.3/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeServletFilter.java | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/branches/sca-java-1.3/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeServletFilter.java b/branches/sca-java-1.3/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeServletFilter.java deleted file mode 100644 index ad4009a1e1..0000000000 --- a/branches/sca-java-1.3/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeServletFilter.java +++ /dev/null @@ -1,128 +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.node.launcher; - -import static org.apache.tuscany.sca.node.launcher.NodeLauncherUtil.webAppRuntimeClassLoader; - -import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.servlet.Filter; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -/** - * A Servlet filter that forwards service requests to the Servlets registered with - * the Tuscany ServletHost. - * - * @version $Rev$ $Date$ - */ -public class NodeServletFilter implements Filter { - private static final long serialVersionUID = 1L; - - private static final Logger logger = Logger.getLogger(NodeServletFilter.class.getName()); - - private ClassLoader runtimeClassLoader; - private Class<?> servletHostClass; - private Object servletHost; - private Filter filter; - - public void init(FilterConfig filterConfig) throws ServletException { - logger.info("Apache Tuscany SCA WebApp Node starting..."); - - try { - // Get the Tuscany runtime ClassLoader - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - runtimeClassLoader = webAppRuntimeClassLoader(getClass().getClassLoader()); - - try { - if (runtimeClassLoader != null) { - Thread.currentThread().setContextClassLoader(runtimeClassLoader); - } - - // Load the Tuscany WebApp Servlet host and get the host instance - // for the current webapp - String className = "org.apache.tuscany.sca.implementation.node.webapp.NodeWebAppServletHost"; - if (runtimeClassLoader != null) { - servletHostClass = Class.forName(className, true, runtimeClassLoader); - } else { - servletHostClass = Class.forName(className); - } - servletHost = servletHostClass.getMethod("servletHost").invoke(null); - - // Initialize the Servlet host - servletHostClass.getMethod("init", FilterConfig.class).invoke(servletHost, filterConfig); - - // The Servlet host also implements the filter interface - filter = (Filter)servletHost; - - } finally { - Thread.currentThread().setContextClassLoader(tccl); - } - - } catch (Exception e) { - logger.log(Level.SEVERE, "Error Starting SCA WebApp Node", e); - throw new ServletException(e); - } - - logger.info("SCA WebApp Node started."); - } - - public void destroy() { - logger.info("Apache Tuscany WebApp Node stopping..."); - if (servletHost != null) { - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - try { - if (runtimeClassLoader != null) { - Thread.currentThread().setContextClassLoader(runtimeClassLoader); - } - - servletHostClass.getMethod("destroy").invoke(servletHost); - - } catch (Exception e) { - logger.log(Level.SEVERE, "Error Stopping SCA WebApp Node", e); - } finally { - Thread.currentThread().setContextClassLoader(tccl); - } - } - logger.info("SCA WebApp Node stopped."); - } - - public void doFilter(ServletRequest request, ServletResponse response, javax.servlet.FilterChain chain) - throws IOException, ServletException { - - // Delegate to the Servlet host filter - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - try { - if (runtimeClassLoader != null) { - Thread.currentThread().setContextClassLoader(runtimeClassLoader); - } - - filter.doFilter(request, response, chain); - - } finally { - Thread.currentThread().setContextClassLoader(tccl); - } - } - -} |