gernotbelger@8854: /* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@8854: * Software engineering by Intevation GmbH gernotbelger@8854: * gernotbelger@8854: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@8854: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@8854: * documentation coming with Dive4Elements River for details. gernotbelger@8854: */ gernotbelger@8854: gernotbelger@8854: package org.dive4elements.river.client.shared.model; gernotbelger@8854: gernotbelger@9263: import java.util.Collections; gernotbelger@9263: import java.util.HashSet; gernotbelger@8854: import java.util.List; gernotbelger@9263: import java.util.Set; gernotbelger@8854: gernotbelger@8854: /** gernotbelger@8854: * The SINFO implementation of an Artifact. gernotbelger@8854: * gernotbelger@8854: * @author Gernot Belger gernotbelger@8854: */ gernotbelger@8854: public class SINFOArtifact extends DefaultArtifact { gernotbelger@8854: gernotbelger@9263: /** The name of this artifact: 'sinfo'. */ gernotbelger@8854: private static final String NAME = "sinfo"; gernotbelger@8854: gernotbelger@8854: /** Necessary for serialization */ gernotbelger@8854: public SINFOArtifact() { gernotbelger@8854: } gernotbelger@8854: gernotbelger@9263: public SINFOArtifact(final String uuid, final String hash, final boolean inBackground, final List messages) { gernotbelger@8854: super(uuid, hash, inBackground, messages); gernotbelger@8854: } gernotbelger@8854: gernotbelger@9263: @Override gernotbelger@8854: public String getName() { gernotbelger@8854: return NAME; gernotbelger@8854: } gernotbelger@9263: gernotbelger@9263: public Set getValidDurationChartKms(final CollectionItem item) { gernotbelger@9263: gernotbelger@9263: final String validKmsText = item.getData().get("validStations"); gernotbelger@9263: if (validKmsText == null || validKmsText.trim().isEmpty()) gernotbelger@9263: return Collections.emptySet(); gernotbelger@9263: gernotbelger@9263: final String[] split = validKmsText.split(","); gernotbelger@9263: gernotbelger@9263: final Set validKms = new HashSet(split.length); gernotbelger@9263: gernotbelger@9263: for (final String stationText : split) { gernotbelger@9263: gernotbelger@9263: try { gernotbelger@9263: final double station = Double.parseDouble(stationText); gernotbelger@9263: validKms.add(station); gernotbelger@9263: } gernotbelger@9263: catch (final NumberFormatException e) { gernotbelger@9263: e.printStackTrace(); gernotbelger@9263: } gernotbelger@9263: } gernotbelger@9263: gernotbelger@9263: return validKms; gernotbelger@9263: } gernotbelger@9263: }