Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultArtifactDescription.java @ 1279:af6ad7522351
Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
flys-client/trunk@2861 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 29 Sep 2011 09:14:41 +0000 |
parents | 6f65e70fa11d |
children | 070321cf17e1 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultArtifactDescription.java Wed Sep 28 14:03:31 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultArtifactDescription.java Thu Sep 29 09:14:41 2011 +0000 @@ -1,5 +1,9 @@ package de.intevation.flys.client.shared.model; +import java.util.List; + +import de.intevation.flys.client.shared.DoubleUtils; + /** * The default implementation of an {@link ArtifactDescription}. This class just @@ -105,5 +109,61 @@ public Recommendation[] getRecommendations() { return recommendations; } + + + public String getRiver() { + for (DataList list: oldData) { + List<Data> dataList = list.getAll(); + + for (Data d: dataList) { + String dataName = d.getLabel(); + DataItem item = d.getItems()[0]; + + if (dataName.equals("river")) { + return item.getStringValue(); + } + } + } + + return null; + } + + + public double[] getKMRange() { + Double[] mm = new Double[2]; + + for (DataList list: oldData) { + List<Data> dataList = list.getAll(); + + for (Data data: dataList) { + String dataName = data.getLabel(); + DataItem item = data.getItems()[0]; + + if (dataName.equals("ld_from")) { + Double d = DoubleUtils.getDouble(item.getStringValue()); + + if (d != null) { + mm[0] = d; + } + } + else if (dataName.equals("ld_to")) { + Double d = DoubleUtils.getDouble(item.getStringValue()); + + if (d != null) { + mm[1] = d; + } + } + else if (dataName.equals("ld_locations")) { + return DoubleUtils.getMinMax(item.getStringValue()); + } + } + + if (mm[0] != null && mm[1] != null) { + return new double[] { mm[0], mm[1] }; + } + } + + return null; + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :