Mercurial > dive4elements > river
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");