# HG changeset patch # User Ingo Weinzierl # Date 1311170498 0 # Node ID 1cf7b4ee7b6ddf81a2de090efeb16ba1098543ca # Parent 30f48f5ccdc3fff5ebe3621e0a018e8798be18bc Made the background layer in floodmaps configurable. flys-artifacts/trunk@2375 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 30f48f5ccdc3 -r 1cf7b4ee7b6d flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Wed Jul 20 13:21:16 2011 +0000 +++ b/flys-artifacts/ChangeLog Wed Jul 20 14:01:38 2011 +0000 @@ -1,3 +1,12 @@ +2011-07-20 Ingo Weinzierl + + * doc/conf/conf.xml: Added a config section for floodmaps. Currently, the + background layer's url and layername is defined here. + + * src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java: + Read the background layer configuration from conf.xml. Those values are + used to create the WMSLayerFacet. + 2011-07-20 Ingo Weinzierl * src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java: diff -r 30f48f5ccdc3 -r 1cf7b4ee7b6d flys-artifacts/doc/conf/conf.xml --- a/flys-artifacts/doc/conf/conf.xml Wed Jul 20 13:21:16 2011 +0000 +++ b/flys-artifacts/doc/conf/conf.xml Wed Jul 20 14:01:38 2011 +0000 @@ -93,6 +93,11 @@ + + + + + 8181 diff -r 30f48f5ccdc3 -r 1cf7b4ee7b6d flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java Wed Jul 20 13:21:16 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WMSBackgroundState.java Wed Jul 20 14:01:38 2011 +0000 @@ -4,8 +4,12 @@ import org.apache.log4j.Logger; +import org.w3c.dom.Node; + import de.intevation.artifacts.CallMeta; +import de.intevation.artifacts.common.utils.Config; + import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.artifacts.FLYSArtifact; @@ -18,9 +22,31 @@ public static final String I18N_DESCRIPTION = "floodmap.wmsbackground"; + public static final String XPATH_WMS_URL = + "/artifact-database/floodmap/background-layer/@url"; + + public static final String XPATH_WMS_LAYER = + "/artifact-database/floodmap/background-layer/@layer"; + + + protected String url; + protected String layer; + private static final Logger logger = Logger.getLogger(WMSBackgroundState.class); + + @Override + public void setup(Node config) { + super.setup(config); + + logger.debug("WMSBackgroundState.setup()"); + + this.url = Config.getStringXPath(XPATH_WMS_URL); + this.layer = Config.getStringXPath(XPATH_WMS_LAYER); + } + + @Override public Object computeInit( FLYSArtifact artifact, @@ -30,16 +56,22 @@ ) { logger.debug("WMSBackgroundState.computeInit()"); - // TODO Add config for background layer + if (url == null || layer == null) { + logger.warn("No background layers currently configured:"); + logger.warn("... add config for WMS url: " + XPATH_WMS_URL); + logger.warn("... add config for WMS layer: " + XPATH_WMS_LAYER); + return null; + } + WMSLayerFacet facet = new WMSLayerFacet( 0, FLOODMAP_WMSBACKGROUND, Resources.getMsg(meta, I18N_DESCRIPTION, I18N_DESCRIPTION), ComputeType.INIT, getID(), hash, - "http://vmap0.tiles.osgeo.org/wms/vmap0"); + url); - facet.addLayer("basic"); + facet.addLayer(layer); facets.add(facet);