Mercurial > dive4elements > river
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 :