/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE file at the root of the source * tree and available online at * * https://github.com/keeps/roda */ package org.roda.wui.servlets; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import org.apache.commons.configuration.ConfigurationException; import org.roda.core.RodaCoreFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class RodaWuiServlet extends HttpServlet { private static final Logger LOGGER = LoggerFactory.getLogger(RodaWuiServlet.class); private static final long serialVersionUID = 1523530268219980563L; @Override public void init() throws ServletException { LOGGER.info("Starting up RODA Core..."); RodaCoreFactory.instantiate(); if (!RodaCoreFactory.instantiatedWithoutErrors()) { LOGGER.error( "RODA Core didn't start because errors have occurred! Therefore, RODA WUI cannot be started. Please see RODA logs to understand why..."); throw new RodaCoreInstantiationException( "RODA Core didn't start because errors have occurred! Please see RODA logs to understand why..."); } else { LOGGER.info("RODA Core started with success!"); } try { LOGGER.info("Injecting RODA WUI configurations..."); RodaCoreFactory.addConfiguration("roda-wui.properties"); LOGGER.info("RODA WUI configurations injected with success!"); } catch (ConfigurationException e) { LOGGER.error("RODA WUI configurations could not be injected!", e); } RodaCoreFactory.addLogger("logback_wui.xml"); LOGGER.info("RODA WUI started with success!"); } @Override public void destroy() { try { RodaCoreFactory.shutdown(); LOGGER.info("Shutdown: ok..."); } catch (IOException e) { LOGGER.error("Error while shutting down {}", RodaCoreFactory.class.getName()); } } }