diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java @ 1792:49ad801076e4

Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one. flys-artifacts/trunk@3115 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 28 Oct 2011 13:48:02 +0000
parents 092e1e5020bc
children 5364b86a0880
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java	Fri Oct 28 13:39:37 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java	Fri Oct 28 13:48:02 2011 +0000
@@ -1,7 +1,6 @@
 package de.intevation.flys.artifacts.states;
 
 import java.util.List;
-import java.util.Map;
 
 import org.apache.log4j.Logger;
 
@@ -12,7 +11,7 @@
 
 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.model.WMSDBLayerFacet;
 import de.intevation.flys.artifacts.resources.Resources;
 import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
 import de.intevation.flys.utils.FLYSUtils;
@@ -23,9 +22,6 @@
 
     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);
 
@@ -49,9 +45,6 @@
             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) {
@@ -59,10 +52,9 @@
             return null;
         }
 
-        String url = wms.get(river);
+        String url = FLYSUtils.getUserWMSUrl(artifact.identifier());
 
-        // TODO Add config for background layer
-        WMSLayerFacet facet = new WMSLayerFacet(
+        WMSDBLayerFacet facet = new WMSDBLayerFacet(
             0,
             FLOODMAP_RIVERAXIS,
             Resources.getMsg(meta, I18N_DESCRIPTION, I18N_DESCRIPTION),
@@ -70,9 +62,13 @@
             getID(), hash,
             url);
 
-        facet.addLayer(WMS_LAYER_NAME);
+        String name = artifact.identifier() + "-" + FLOODMAP_RIVERAXIS;
+
+        facet.addLayer(name);
         facet.setExtent(GeometryUtils.getRiverBoundary(river));
         facet.setSrid(FLYSUtils.getRiverSrid(artifact));
+        facet.setData("geom FROM river_axes USING UNIQUE id USING SRID 31466");
+        facet.setFilter("river_id=1");
 
         facets.add(facet);
 

http://dive4elements.wald.intevation.org