Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java @ 5404:08262e0ce57a
Add buildings with kinds to datacage
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Mon, 25 Mar 2013 15:02:04 +0100 |
parents | a2735a4bf75e |
children |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java Mon Mar 25 15:01:16 2013 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSBuildingsArtifact.java Mon Mar 25 15:02:04 2013 +0100 @@ -102,8 +102,14 @@ @Override protected Envelope getExtent(boolean reproject) { - List<Building> buildings = - Building.getBuildings(getRiverId(), getName()); + List<Building> buildings; + String kind = getIdPart(2); + + if (kind != null) { + buildings = Building.getBuildings(getRiverId(), Integer.parseInt(kind)); + } else { + buildings = Building.getBuildings(getRiverId(), name); + } Envelope max = null; @@ -125,6 +131,15 @@ @Override protected String getFilter() { + // The expected id string is: + // river_id;layer-name;kind + + String kind = getIdPart(2); + if (kind != null) { + // If kind is provided we filter by kind + return "river_id=" + String.valueOf(getRiverId()) + + " AND kind_id=" + kind; + } return "river_id=" + String.valueOf(getRiverId()) + " AND name='" + getName() + "'"; }