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 :

http://dive4elements.wald.intevation.org