diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java @ 2671:055315495f8d

Modified floodmap specific datacage configuration and improved WMS catchment layer. flys-artifacts/trunk@4359 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 08 May 2012 12:14:55 +0000
parents 410e40b88c7a
children 5afccab9aac1
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java	Tue May 08 11:29:13 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSCatchmentArtifact.java	Tue May 08 12:14:55 2012 +0000
@@ -78,18 +78,21 @@
             Logger.getLogger(CatchmentState.class);
 
         protected int riverId;
+        protected String name;
 
         public CatchmentState(WMSDBArtifact artifact) {
             super(artifact);
             riverId = 0;
+            name    = null;
         }
 
         public int getRiverId() {
             if (riverId == 0) {
-                String ids = artifact.getDataAsString("ids");
+                String   ids   = artifact.getDataAsString("ids");
+                String[] parts = ids.split(";");
 
                 try {
-                    riverId = Integer.valueOf(ids);
+                    riverId = Integer.valueOf(parts[0]);
                 }
                 catch (NumberFormatException nfe) {
                     logger.error("Cannot parse river id from '" + ids + "'");
@@ -99,6 +102,17 @@
             return riverId;
         }
 
+        public String getName() {
+            if (name == null) {
+                String ids = artifact.getDataAsString("ids");
+
+                String parts[] = ids.split(";");
+                name = parts[1];
+            }
+
+            return name;
+        }
+
         @Override
         protected String getFacetType() {
             return FLOODMAP_CATCHMENT;
@@ -125,7 +139,8 @@
 
         @Override
         protected Envelope getExtent() {
-            List<Catchment> catchments = Catchment.getCatchments(getRiverId());
+            List<Catchment> catchments =
+                Catchment.getCatchments(getRiverId(), getName());
 
             Envelope max = null;
 
@@ -145,7 +160,8 @@
 
         @Override
         protected String getFilter() {
-            return "river_id=" + String.valueOf(getRiverId());
+            return "river_id=" + String.valueOf(getRiverId())
+                + " AND name='" + getName() + "'";
         }
 
         @Override

http://dive4elements.wald.intevation.org