Mercurial > dive4elements > river
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