diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java @ 4656:442fbb290fa8

Introduce river mapfile generation (WARNING: Changes in config xml files required!). On startup the RiverMapfileGeneratorStarter is called by the server app. The starter invokes a call to RiverMapfileGenerator.generate() which reads all available rivers from the database and generates layers for each river (in theory...uncompleted) in a river.map file. The old MapfileGenerator which generates layers that have artifact dependencies is now in ArtifactMapfileGenerator.
author Christian Lins <christian.lins@intevation.de>
date Tue, 11 Dec 2012 15:24:24 +0100
parents e29f368c09ba
children b26465581abf
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java	Tue Dec 11 09:44:04 2012 +0100
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java	Tue Dec 11 15:24:24 2012 +0100
@@ -1,5 +1,22 @@
 package de.intevation.flys.artifacts.context;
 
+import de.intevation.artifactdatabase.state.State;
+import de.intevation.artifactdatabase.state.StateEngine;
+import de.intevation.artifactdatabase.transition.Transition;
+import de.intevation.artifactdatabase.transition.TransitionEngine;
+import de.intevation.artifacts.ArtifactContextFactory;
+import de.intevation.artifacts.GlobalContext;
+import de.intevation.artifacts.common.utils.Config;
+import de.intevation.artifacts.common.utils.XMLUtils;
+import de.intevation.flys.artifacts.model.Module;
+import de.intevation.flys.artifacts.model.ZoomScale;
+import de.intevation.flys.artifacts.states.StateFactory;
+import de.intevation.flys.artifacts.transitions.TransitionFactory;
+import de.intevation.flys.themes.Theme;
+import de.intevation.flys.themes.ThemeFactory;
+import de.intevation.flys.themes.ThemeGroup;
+import de.intevation.flys.themes.ThemeMapping;
+
 import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -9,32 +26,11 @@
 import javax.xml.xpath.XPathConstants;
 
 import org.apache.log4j.Logger;
-
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-import de.intevation.artifacts.ArtifactContextFactory;
-import de.intevation.artifacts.GlobalContext;
-
-import de.intevation.artifacts.common.utils.XMLUtils;
-import de.intevation.artifacts.common.utils.Config;
-
-import de.intevation.artifactdatabase.state.State;
-import de.intevation.artifactdatabase.state.StateEngine;
-import de.intevation.artifactdatabase.transition.Transition;
-import de.intevation.artifactdatabase.transition.TransitionEngine;
-
-import de.intevation.flys.artifacts.model.Module;
-import de.intevation.flys.artifacts.model.ZoomScale;
-import de.intevation.flys.artifacts.states.StateFactory;
-import de.intevation.flys.artifacts.transitions.TransitionFactory;
-import de.intevation.flys.themes.Theme;
-import de.intevation.flys.themes.ThemeGroup;
-import de.intevation.flys.themes.ThemeFactory;
-import de.intevation.flys.themes.ThemeMapping;
-
 
 /**
  * The ArtifactContextFactory is used to initialize basic components and put
@@ -94,6 +90,7 @@
      * @param config The artifact server configuration.
      * @return a FLYSArtifactContext.
      */
+    @Override
     public GlobalContext createArtifactContext(Document config) {
         FLYSContext context = new FLYSContext(config);
 
@@ -102,7 +99,7 @@
         configureOutGenerators(config, context);
         configureThemes(config, context);
         configureThemesMappings(config, context);
-        configureRiverWMS(config, context);
+        configureFloodmapWMS(config, context);
         configureModules(config, context);
         configureZoomScales(config, context);
 
@@ -110,7 +107,7 @@
     }
 
 
-    private void configureZoomScales(Document config, FLYSContext context) {
+    protected void configureZoomScales(Document config, FLYSContext context) {
         NodeList list = (NodeList)XMLUtils.xpath(
             config,
             XPATH_ZOOM_SCALES,
@@ -278,7 +275,7 @@
      * @param context the FLYSContext.
      */
     protected void configureOutGenerators(Document config, FLYSContext context){
-        Map<String, Class> generators = new HashMap<String, Class>();
+        Map<String, Class<?>> generators = new HashMap<String, Class<?>>();
 
         NodeList outGenerators = (NodeList) XMLUtils.xpath(
             config,
@@ -451,7 +448,13 @@
     }
 
 
-    protected void configureRiverWMS(Document cfg, FLYSContext context) {
+    /**
+     * Reads configured floodmap river WMSs from floodmap.xml and
+     * loads them into the given FLYSContext.
+     * @param cfg
+     * @param context
+     */
+    protected void configureFloodmapWMS(Document cfg, FLYSContext context) {
         Map<String, String> riverWMS = new HashMap<String, String>();
 
         NodeList rivers = (NodeList) XMLUtils.xpath(

http://dive4elements.wald.intevation.org