diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.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 a5ea28339e5b
children eeebf8514c7f
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java	Wed Jul 20 14:59:25 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java	Wed Jul 20 15:06:16 2011 +0000
@@ -1,14 +1,17 @@
 package de.intevation.flys.artifacts.states;
 
 import java.util.List;
+import java.util.Map;
 
 import org.apache.log4j.Logger;
 
+import de.intevation.artifacts.CallContext;
 import de.intevation.artifacts.CallMeta;
 
 import de.intevation.artifactdatabase.state.Facet;
 
 import de.intevation.flys.artifacts.FLYSArtifact;
+import de.intevation.flys.artifacts.context.FLYSContext;
 import de.intevation.flys.artifacts.model.WMSLayerFacet;
 import de.intevation.flys.artifacts.resources.Resources;
 import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
@@ -18,18 +21,43 @@
 
     public static final String I18N_DESCRIPTION = "floodmap.riveraxis";
 
+    public static final String WMS_LAYER_NAME = "riveraxis";
+
 
     private static final Logger logger = Logger.getLogger(RiverAxisState.class);
 
+
     @Override
     public Object computeInit(
         FLYSArtifact artifact,
         String       hash,
+        Object       context,
         CallMeta     meta,
         List<Facet>  facets
     ) {
         logger.debug("RiverAxisState.computeInit()");
 
+        FLYSContext flysContext = null;
+
+        if (context instanceof FLYSContext) {
+            flysContext = (FLYSContext) context;
+        }
+        else {
+            flysContext = (FLYSContext) ((CallContext) context).globalContext();
+        }
+
+        Map<String, String> wms = (Map<String, String>)
+            flysContext.get(FLYSContext.RIVER_WMS);
+
+        String river = artifact.getDataAsString("river");
+
+        if(river == null || river.length() == 0) {
+            logger.warn("No river found in the current parameterization.");
+            return null;
+        }
+
+        String url = wms.get(river);
+
         // TODO Add config for background layer
         WMSLayerFacet facet = new WMSLayerFacet(
             0,
@@ -37,9 +65,9 @@
             Resources.getMsg(meta, I18N_DESCRIPTION, I18N_DESCRIPTION),
             ComputeType.INIT,
             getID(), hash,
-            "http://denmark.atlas/cgi-bin/flys-wms"); // TODO add correct WMS URL
+            url);
 
-        facet.addLayer("riveraxis");
+        facet.addLayer(WMS_LAYER_NAME);
 
         // TODO determine extent based on the given geometry
         facet.setExtent("6.5 49.1 7.0 49.7");

http://dive4elements.wald.intevation.org