annotate artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationAccess.java @ 9176:1614cb14308f

Work on calculations for S-Info flood duration workflow
author mschaefer
date Mon, 25 Jun 2018 19:21:11 +0200
parents e6b63b2b41b9
children 0dcd1cd41915
rev   line source
9067
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
1 /* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
2 * Software engineering by
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
5 *
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
9 */
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
10
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
11 package org.dive4elements.river.artifacts.sinfo.flood_duration;
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
12
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
13 import org.apache.log4j.Logger;
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
14 import org.dive4elements.river.artifacts.access.RangeAccess;
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
15 import org.dive4elements.river.artifacts.sinfo.SINFOArtifact;
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
16 import org.dive4elements.river.artifacts.sinfo.SinfoCalcMode;
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
17
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
18 /**
9176
1614cb14308f Work on calculations for S-Info flood duration workflow
mschaefer
parents: 9145
diff changeset
19 * Access to the flood duration calculation type specific SInfo artifact data.
9067
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
20 * REMARK: this class is NOT intended to be hold in the results (or anywhere else), in order to avoid a permanent
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
21 * reference to the artifact instance.
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
22 * Hence we do NOT cache any data.
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
23 *
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
24 * @author Gernot Belger
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
25 */
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
26 final class FloodDurationAccess extends RangeAccess {
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
27
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
28 private static Logger log = Logger.getLogger(FloodDurationAccess.class);
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
29
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
30 public FloodDurationAccess(final SINFOArtifact artifact) {
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
31 super(artifact);
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
32
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
33 /* assert calculation mode */
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
34 final SinfoCalcMode calculationMode = artifact.getCalculationMode();
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
35 assert (calculationMode == SinfoCalcMode.sinfo_calc_flood_duration);
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
36 }
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
37
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
38 @Override
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
39 public Double getStep() {
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
40 return super.getStep();
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
41 }
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
42
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
43 public String getRiverside() {
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
44 return super.getString("riverside");
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
45 }
2ed3824a3d53 sinfo access collision, floodDuration
gernotbelger
parents:
diff changeset
46 }

http://dive4elements.wald.intevation.org