diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/IDataBootstrap.java b/navalplanner-business/src/main/java/org/navalplanner/business/IDataBootstrap.java new file mode 100644 index 000000000..75e76c320 --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/IDataBootstrap.java @@ -0,0 +1,7 @@ +package org.navalplanner.business; + +public interface IDataBootstrap { + + void loadRequiredData(); + +} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/CriterionsBootstrap.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/CriterionsBootstrap.java new file mode 100644 index 000000000..d042cc8c7 --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/CriterionsBootstrap.java @@ -0,0 +1,26 @@ +package org.navalplanner.business.resources.bootstrap; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.navalplanner.business.IDataBootstrap; +import org.navalplanner.business.resources.services.ResourceService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Component; + +@Component +@Scope("singleton") +public class CriterionsBootstrap implements IDataBootstrap { + + private static final Log LOG = LogFactory.getLog(CriterionsBootstrap.class); + + @Autowired + private ResourceService resourceService; + + @Override + public void loadRequiredData() { + LOG.info("TODO: load criterions"); + assert resourceService != null; + } + +} diff --git a/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml b/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml index 49e28f4bd..6ffb33648 100644 --- a/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml +++ b/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml @@ -39,14 +39,15 @@ + + diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/bootstrap/BootstrapListener.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/bootstrap/BootstrapListener.java new file mode 100644 index 000000000..71393b595 --- /dev/null +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/bootstrap/BootstrapListener.java @@ -0,0 +1,33 @@ +package org.navalplanner.web.bootstrap; + +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; + +import org.navalplanner.business.IDataBootstrap; +import org.springframework.beans.factory.BeanFactoryUtils; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.context.support.WebApplicationContextUtils; + +public class BootstrapListener implements ServletContextListener { + + @Override + public void contextDestroyed(ServletContextEvent servletContextEvent) { + + } + + @Override + public void contextInitialized(ServletContextEvent servletContextEvent) { + WebApplicationContext webApplicationContext = WebApplicationContextUtils + .getWebApplicationContext(servletContextEvent + .getServletContext()); + String[] beanNames = BeanFactoryUtils + .beanNamesForTypeIncludingAncestors(webApplicationContext, + IDataBootstrap.class); + for (String name : beanNames) { + IDataBootstrap bootstrap = (IDataBootstrap) webApplicationContext + .getBean(name); + bootstrap.loadRequiredData(); + } + } + +} diff --git a/navalplanner-webapp/src/main/webapp/WEB-INF/web.xml b/navalplanner-webapp/src/main/webapp/WEB-INF/web.xml index 2a474e272..bf3a678d6 100644 --- a/navalplanner-webapp/src/main/webapp/WEB-INF/web.xml +++ b/navalplanner-webapp/src/main/webapp/WEB-INF/web.xml @@ -44,7 +44,6 @@ org.springframework.web.context.ContextLoaderListener - org.springframework.web.context.request.RequestContextListener @@ -52,6 +51,11 @@ + + + org.navalplanner.web.bootstrap.BootstrapListener + + ZK loader for ZUML pages zkLoader @@ -85,12 +89,8 @@ - - - /planner/main.zul - @@ -99,9 +99,7 @@ - 404 - /common/page_not_found.zul + 404 + /common/page_not_found.zul - -