Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/SINFOArtifact.java @ 8914:e3519c3e7a0a
Workflow for SINFO-Transport bodies heights inclduing winfo calculation
author | gernotbelger |
---|---|
date | Tue, 27 Feb 2018 18:06:52 +0100 |
parents | 20b85ea3b524 |
children | 5d5d482da3e9 |
line wrap: on
line source
/* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde * Software engineering by * Björnsen Beratende Ingenieure GmbH * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.artifacts.sinfo; import org.apache.commons.lang.StringUtils; import org.dive4elements.river.artifacts.D4EArtifact; /** * The default SINFO artifact. * * @author Gernot Belger */ public class SINFOArtifact extends D4EArtifact { /** Error message that is thrown if no mode has been chosen. */ private static final String ERROR_NO_CALCULATION_MODE = "error_feed_no_calculation_mode"; /** Error message that is thrown if an invalid calculation mode has been * chosen. */ private static final String ERROR_INVALID_CALCULATION_MODE = "error_feed_invalid_calculation_mode"; /** The name of the artifact. */ private static final String ARTIFACT_NAME = "sinfo"; private static final String FIELD_RIVER = "river"; private static final String FIELD_MODE = "calculation_mode"; /** * Default constructor, because it's serializable. */ public SINFOArtifact() { } /** * Returns the name of the concrete artifact. * * @return the name of the concrete artifact. */ @Override public String getName() { return ARTIFACT_NAME; } public SinfoCalcMode getCalculationMode() { final String calc = getDataAsString(FIELD_MODE); if (calc == null) { throw new IllegalArgumentException(ERROR_NO_CALCULATION_MODE); } try { return SinfoCalcMode.valueOf(StringUtils.trimToEmpty(calc).toLowerCase()); } catch (Exception e) { throw new IllegalArgumentException(ERROR_INVALID_CALCULATION_MODE, e); } } public String getRiver() { return getDataAsString(FIELD_RIVER); } }