view flys-client/src/main/java/de/intevation/flys/client/server/BaseServletContextListener.java @ 4215:c179cd02177d

Logout the current user Add code to the logout button to remove the current user from the session and to redirect the browser window to the login page. Part of flys/issue916 (Logout: "Abmelden" Knopf mit Funktion belegen)
author Björn Ricks <bjoern.ricks@intevation.de>
date Tue, 23 Oct 2012 09:59:16 +0200
parents 763789a9acca
children
line wrap: on
line source
package de.intevation.flys.client.server;

import java.io.IOException;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.apache.log4j.Logger;

import de.intevation.flys.client.server.LoggingConfigurator;
import de.intevation.flys.client.server.features.Features;
import de.intevation.flys.client.server.features.XMLFileFeatures;

/**
 * ServletContextListenter to initalize the Features globally for
 * all Servlets
 */
public class BaseServletContextListener implements ServletContextListener {

    public static final String LOG4J_PROPERTIES = "FLYS_CLIENT_LOG4J_PROPERIES";

    public static final Logger logger = Logger.getLogger(BaseServletContextListener.class);

    @Override
    public void  contextInitialized(ServletContextEvent sce) {
        ServletContext sc = sce.getServletContext();

        this.initLogging(sc);

        String filename = sc.getInitParameter("features-file");

        logger.debug("Initializing ServletContext");
        try {
            XMLFileFeatures features = new XMLFileFeatures(sc.getRealPath(filename));
            sc.setAttribute(Features.CONTEXT_ATTRIBUTE, features);
        } catch(IOException e) {
            logger.error(e);
        }
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        //DO NOTHING
    }


    private void initLogging(ServletContext sc) {
        String log4jProperties = System.getenv(LOG4J_PROPERTIES);

        if (log4jProperties == null || log4jProperties.length() == 0) {
            String file = sc.getInitParameter("log4j-properties");

            if (file != null && file.length() > 0) {
                log4jProperties = sc.getRealPath(file);
            }
        }
        System.out.println(log4jProperties);

        LoggingConfigurator.init(log4jProperties);
    }
}

http://dive4elements.wald.intevation.org