diff gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SINFOArtifact.java @ 9263:abf14917be32

Moved stepping behaviour of NaviOutputChart into an exchangeable strategy. Allows for distinct values stepping of sinfo flood duration.
author gernotbelger
date Tue, 17 Jul 2018 19:48:18 +0200
parents 7bbfb24e6eec
children 9826b465b751
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SINFOArtifact.java	Tue Jul 17 19:48:09 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SINFOArtifact.java	Tue Jul 17 19:48:18 2018 +0200
@@ -8,8 +8,10 @@
 
 package org.dive4elements.river.client.shared.model;
 
+import java.util.Collections;
+import java.util.HashSet;
 import java.util.List;
-
+import java.util.Set;
 
 /**
  * The SINFO implementation of an Artifact.
@@ -18,29 +20,43 @@
  */
 public class SINFOArtifact extends DefaultArtifact {
 
-    /** The name of this artifact: 'sinfo'.*/
+    /** The name of this artifact: 'sinfo'. */
     private static final String NAME = "sinfo";
 
     /** Necessary for serialization */
     public SINFOArtifact() {
     }
 
-//    public  SINFOArtifact(String uuid, String hash) {
-//        super(uuid, hash);
-//    }
-
-    public SINFOArtifact(
-        String                   uuid,
-        String                   hash,
-        boolean                  inBackground,
-        List<CalculationMessage> messages
-    ) {
+    public SINFOArtifact(final String uuid, final String hash, final boolean inBackground, final List<CalculationMessage> messages) {
         super(uuid, hash, inBackground, messages);
     }
 
-
+    @Override
     public String getName() {
         return NAME;
     }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
+
+    public Set<Double> getValidDurationChartKms(final CollectionItem item) {
+
+        final String validKmsText = item.getData().get("validStations");
+        if (validKmsText == null || validKmsText.trim().isEmpty())
+            return Collections.emptySet();
+
+        final String[] split = validKmsText.split(",");
+
+        final Set<Double> validKms = new HashSet<Double>(split.length);
+
+        for (final String stationText : split) {
+
+            try {
+                final double station = Double.parseDouble(stationText);
+                validKms.add(station);
+            }
+            catch (final NumberFormatException e) {
+                e.printStackTrace();
+            }
+        }
+
+        return validKms;
+    }
+}
\ No newline at end of file

http://dive4elements.wald.intevation.org