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