diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java @ 958:ae198bef4ba0

Added configurations for river WMSe (currently for Saar, Mosel, Elbe). flys-artifacts/trunk@2377 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 20 Jul 2011 15:06:16 +0000
parents 32d0a543e3e8
children ee105e5d5ead
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java	Wed Jul 20 14:59:25 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java	Wed Jul 20 15:06:16 2011 +0000
@@ -73,6 +73,9 @@
     public static final String XPATH_THEME_MAPPINGS =
         "/themes/mappings/mapping";
 
+    public static final String XPATH_RIVER_WMS =
+        "/artifact-database/floodmap/river-wms";
+
     /**
      * Creates a new FLYSArtifactContext object and initialize all
      * components required by the application.
@@ -88,6 +91,7 @@
         configureOutGenerators(config, context);
         configureThemes(config, context);
         configureThemesMappings(config, context);
+        configureRiverWMS(config, context);
 
         return context;
     }
@@ -360,5 +364,30 @@
 
         context.put(FLYSContext.THEME_MAPPING, mapping);
     }
+
+
+    protected void configureRiverWMS(Document cfg, FLYSContext context) {
+        Map<String, String> riverWMS = new HashMap<String, String>();
+
+        NodeList rivers = (NodeList) XMLUtils.xpath(
+            cfg, XPATH_RIVER_WMS, XPathConstants.NODESET);
+
+        int num = rivers != null ? rivers.getLength() : 0;
+
+        for (int i = 0; i < num; i++) {
+            Element e = (Element) rivers.item(i);
+
+            String river = e.getAttribute("river");
+            String url   = e.getAttribute("url");
+
+            if (river != null && url != null) {
+                riverWMS.put(river, url);
+            }
+        }
+
+        logger.debug("Found " + riverWMS.size() + " river WMS.");
+
+        context.put(FLYSContext.RIVER_WMS, riverWMS);
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org