diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryArtifact.java @ 5515:87dab419b924

Properly handle hydr_boundaries and hydr_boundaries_poly in datacage This also fixes hydr_boundaries_poly which refered to the wrong table
author Andre Heinecke <aheinecke@intevation.de>
date Thu, 28 Mar 2013 17:13:53 +0100
parents a2735a4bf75e
children
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryArtifact.java	Thu Mar 28 15:56:24 2013 +0100
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSHydrBoundaryArtifact.java	Thu Mar 28 17:13:53 2013 +0100
@@ -102,8 +102,14 @@
 
         @Override
         protected Envelope getExtent(boolean reproject) {
-            List<HydrBoundary> boundaries = HydrBoundary.getHydrBoundaries(
-                getRiverId(), getName());
+            List<HydrBoundary> boundaries;
+            String kind = getIdPart(2);
+            if (kind != null) {
+                boundaries = HydrBoundary.getHydrBoundaries(getRiverId(),
+                        getName(), Integer.parseInt(kind));
+            } else {
+                boundaries = HydrBoundary.getHydrBoundaries(getRiverId(), getName());
+            }
 
             Envelope max = null;
 
@@ -125,6 +131,12 @@
 
         @Override
         protected String getFilter() {
+            String kind = getIdPart(2);
+            if (kind != null) {
+                return "river_id=" + String.valueOf(getRiverId())
+                    + " AND name='" + getName() + "'"
+                    + " AND kind = " + kind;
+            }
             return "river_id=" + String.valueOf(getRiverId())
                 + " AND name='" + getName() + "'";
         }

http://dive4elements.wald.intevation.org