/* * Copyright: Almende B.V. (2014), Rotterdam, The Netherlands * License: The Apache Software License, Version 2.0 */ package com.almende.eve.deploy; import java.io.InputStream; import java.util.logging.Logger; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import com.almende.eve.config.Config; import com.fasterxml.jackson.databind.node.ObjectNode; /** * The listener interface for receiving ServletContext events. */ public class EveListener implements ServletContextListener { private static final Logger LOG = Logger.getLogger(EveListener.class .getName()); protected ObjectNode myConfig = null; @Override public void contextInitialized(ServletContextEvent sce) { final ServletContext sc = sce.getServletContext(); // Get the eve.yaml file: String path = sc.getInitParameter("eve_config"); if (path != null && !path.isEmpty()) { final String fullname = "/WEB-INF/" + path; LOG.info("loading configuration file '" + sc.getRealPath(fullname) + "'..."); final InputStream is = sc.getResourceAsStream(fullname); if (is == null) { LOG.warning("Can't find the given configuration file:" + sc.getRealPath(fullname)); return; } myConfig = Boot.boot(Config.getType(fullname), is); } } @Override public void contextDestroyed(ServletContextEvent sce) { // Doing nothing here. } }