| /******************************************************************************* |
| * Copyright (c) 2012, 2014 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany) |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Information: |
| * Based on original sources of |
| * - com.c4biz.osgiutils.vaadin.equinox.shiro.ServletContextListenerServletAdaptor from Cristiano Gaviao |
| * |
| * Contributors: |
| * Florian Pirchner - migrated to vaadin 7 and copied into org.eclipse.osbp namespace |
| * |
| *******************************************************************************/ |
| package org.eclipse.osbp.vaaclipse.addons.app.servlet; |
| |
| import java.io.IOException; |
| |
| import javax.servlet.Servlet; |
| import javax.servlet.ServletConfig; |
| import javax.servlet.ServletContextEvent; |
| import javax.servlet.ServletContextListener; |
| import javax.servlet.ServletException; |
| import javax.servlet.ServletRequest; |
| import javax.servlet.ServletResponse; |
| |
| /** |
| * The Class ServletContextListenerServletAdaptor. |
| */ |
| public class ServletContextListenerServletAdaptor implements Servlet { |
| |
| /** The config. */ |
| private ServletConfig config; |
| |
| /** The listener. */ |
| private ServletContextListener listener; |
| |
| /** The delegate. */ |
| private Servlet delegate; |
| |
| /** |
| * Instantiates a new servlet context listener servlet adaptor. |
| * |
| * @param listener |
| * the listener |
| * @param delegate |
| * the delegate |
| */ |
| public ServletContextListenerServletAdaptor( |
| ServletContextListener listener, Servlet delegate) { |
| this.listener = listener; |
| this.delegate = delegate; |
| } |
| |
| /* (non-Javadoc) |
| * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig) |
| */ |
| public void init(ServletConfig config) throws ServletException { |
| this.config = config; |
| listener.contextInitialized(new ServletContextEvent(config |
| .getServletContext())); |
| delegate.init(config); |
| } |
| |
| /* (non-Javadoc) |
| * @see javax.servlet.Servlet#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) |
| */ |
| public void service(ServletRequest req, ServletResponse resp) |
| throws ServletException, IOException { |
| delegate.service(req, resp); |
| } |
| |
| /* (non-Javadoc) |
| * @see javax.servlet.Servlet#destroy() |
| */ |
| public void destroy() { |
| delegate.destroy(); |
| listener.contextDestroyed(new ServletContextEvent(config |
| .getServletContext())); |
| config = null; |
| } |
| |
| /* (non-Javadoc) |
| * @see javax.servlet.Servlet#getServletConfig() |
| */ |
| public ServletConfig getServletConfig() { |
| return config; |
| } |
| |
| /* (non-Javadoc) |
| * @see javax.servlet.Servlet#getServletInfo() |
| */ |
| public String getServletInfo() { |
| return ""; |
| } |
| } |