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
-
-