annotate artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/SINFOArtifact.java @ 9631:6ecd1a28017f

Nachtrag Pos. 20: Q theme for height chart added, calculator corrected (rows for km without any infrastructure)
author mschaefer
date Tue, 15 Oct 2019 12:26:13 +0200
parents 1d4262a68f1f
children 870d4585cab7
rev   line source
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
1 /* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
2 * Software engineering by
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
5 *
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
9 */
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
10 package org.dive4elements.river.artifacts.sinfo;
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
11
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
12 import org.apache.commons.lang.StringUtils;
8956
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
13 import org.dive4elements.artifactdatabase.state.Facet;
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
14 import org.dive4elements.artifactdatabase.state.FacetActivity;
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
15 import org.dive4elements.artifacts.Artifact;
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
16 import org.dive4elements.river.artifacts.D4EArtifact;
8956
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
17 import org.dive4elements.river.artifacts.sinfo.common.D50Processor;
8980
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
18 import org.dive4elements.river.artifacts.sinfo.common.FlowDepthDevelopmentPerYearProcessor;
8956
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
19 import org.dive4elements.river.artifacts.sinfo.common.FlowDepthDevelopmentProcessor;
9617
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
20 import org.dive4elements.river.artifacts.sinfo.common.FlowDepthDischargeProcessor;
8956
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
21 import org.dive4elements.river.artifacts.sinfo.common.FlowDepthProcessor;
9617
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
22 import org.dive4elements.river.artifacts.sinfo.common.FlowDepthWaterlevelProcessor;
8956
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
23 import org.dive4elements.river.artifacts.sinfo.common.TauProcessor;
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
24 import org.dive4elements.river.artifacts.sinfo.common.VelocityProcessor;
9631
6ecd1a28017f Nachtrag Pos. 20: Q theme for height chart added, calculator corrected (rows for km without any infrastructure)
mschaefer
parents: 9617
diff changeset
25 import org.dive4elements.river.artifacts.sinfo.flood_duration.FloodQProcessor;
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
26
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
27 /**
8869
20b85ea3b524 Fixed some typos
gernotbelger
parents: 8854
diff changeset
28 * The default SINFO artifact.
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
29 *
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
30 * @author Gernot Belger
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
31 */
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
32 public class SINFOArtifact extends D4EArtifact {
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
33
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
34 private static final long serialVersionUID = 1L;
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
35
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
36 /** Error message that is thrown if no mode has been chosen. */
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
37 private static final String ERROR_NO_CALCULATION_MODE = "error_feed_no_calculation_mode";
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
38
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
39 /**
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
40 * Error message that is thrown if an invalid calculation mode has been
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
41 * chosen.
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
42 */
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
43 private static final String ERROR_INVALID_CALCULATION_MODE = "error_feed_invalid_calculation_mode";
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
44
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
45 /** The name of the artifact. */
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
46 private static final String ARTIFACT_NAME = "sinfo";
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
47
8869
20b85ea3b524 Fixed some typos
gernotbelger
parents: 8854
diff changeset
48 private static final String FIELD_RIVER = "river";
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
49
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
50 private static final String FIELD_MODE = "calculation_mode";
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
51
8956
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
52 static {
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
53 // Active/deactivate facets.
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
54 // BEWARE: we can only define one activity for "sinfo", so we use the artifact as place for this
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
55 FacetActivity.Registry.getInstance().register("sinfo", new FacetActivity() {
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
56 @Override
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
57 public Boolean isInitialActive(final Artifact artifact, final Facet facet, final String output) {
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
58
8980
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
59 final String name = facet.getName();
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
60
8956
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
61 if ("sinfo_tkk".equals(output)) {
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
62 if (FlowDepthProcessor.FACET_FLOW_DEPTH_FILTERED.equals(name))
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
63 return Boolean.FALSE;
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
64 if (VelocityProcessor.FACET_TKH_VELOCITY_FILTERED.equals(name))
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
65 return Boolean.FALSE;
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
66 if (TauProcessor.FACET_TKH_TAU_FILTERED.equals(name))
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
67 return Boolean.FALSE;
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
68 if (D50Processor.FACET_TKH_D50_FILTERED.equals(name))
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
69 return Boolean.FALSE;
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
70 }
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
71
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
72 if ("sinfo_flow_depth_development".equals(output)) {
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
73 if (FlowDepthProcessor.FACET_FLOW_DEPTH_CURRENT_FILTERED.equals(name))
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
74 return Boolean.FALSE;
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
75 if (FlowDepthProcessor.FACET_FLOW_DEPTH_HISTORICAL_FILTERED.equals(name))
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
76 return Boolean.FALSE;
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
77 if (FlowDepthDevelopmentProcessor.FACET_WATERLEVEL_DIFFERENCE_FILTERED.equals(name))
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
78 return Boolean.FALSE;
9617
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
79 if (FlowDepthDevelopmentProcessor.FACET_WATERLEVEL_DIFFERENCE_RAW.equals(name))
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
80 return Boolean.FALSE;
8956
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
81 if (FlowDepthDevelopmentProcessor.FACET_BEDHEIGHT_DIFFERENCE_FILTERED.equals(name))
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
82 return Boolean.FALSE;
9617
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
83 if (FlowDepthDevelopmentProcessor.FACET_BEDHEIGHT_DIFFERENCE_RAW.equals(name))
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
84 return Boolean.FALSE;
8956
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
85 }
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
86
9617
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
87 if (FlowDepthDischargeProcessor.FACET_FLOW_DEPTH_DISCHARGE.equals(name))
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
88 return Boolean.FALSE;
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
89 if (FlowDepthWaterlevelProcessor.FACET_FLOW_DEPTH_WATER_LEVEL.equals(name))
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
90 return Boolean.FALSE;
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
91 if (FlowDepthWaterlevelProcessor.FACET_FLOW_DEPTH_BEDHEIGHT.equals(name))
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
92 return Boolean.FALSE;
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
93 if (FlowDepthWaterlevelProcessor.FACET_FLOW_DEPTH_BEDHEIGHT_MIN.equals(name))
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
94 return Boolean.FALSE;
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
95 if (FlowDepthWaterlevelProcessor.FACET_FLOW_DEPTH_BEDHEIGHT_MAX.equals(name))
1d4262a68f1f #12 Minuend/Subtrahend + MergeConflict #19 CollisionCalculation
dnt_bjoernsen <d.tironi@bjoernsen.de>
parents: 9596
diff changeset
96 return Boolean.FALSE;
8980
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
97 if (FlowDepthProcessor.FACET_FLOW_DEPTH_RAW.equals(name))
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
98 return Boolean.FALSE;
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
99 if (FlowDepthProcessor.FACET_FLOW_DEPTH_TKH_RAW.equals(name))
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
100 return Boolean.FALSE;
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
101 if (FlowDepthProcessor.FACET_FLOW_DEPTH_CURRENT_RAW.equals(name))
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
102 return Boolean.FALSE;
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
103 if (FlowDepthProcessor.FACET_FLOW_DEPTH_HISTORICAL_RAW.equals(name))
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
104 return Boolean.FALSE;
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
105 if (FlowDepthProcessor.FACET_FLOW_DEPTH_MIN_RAW.equals(name))
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
106 return Boolean.FALSE;
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
107 if (FlowDepthProcessor.FACET_FLOW_DEPTH_MAX_RAW.equals(name))
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
108 return Boolean.FALSE;
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
109
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
110 if (FlowDepthDevelopmentProcessor.FACET_FLOW_DEPTH_DEVELOPMENT_RAW.equals(name))
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
111 return Boolean.FALSE;
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
112 if (FlowDepthDevelopmentPerYearProcessor.FACET_FLOW_DEPTH_DEVELOPMENT_PER_YEAR_RAW.equals(name))
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
113 return Boolean.FALSE;
b194fa64506a SINFO - show results themes according to spec, either raw data or floating mean values.
gernotbelger
parents: 8956
diff changeset
114
9596
fbfd66e8fb81 Softwaretests...20181219 6.2.2: Sinfo/Ued Haupt-/Extremwerte update for current km, W/Q of selected WSPL initially visible
mschaefer
parents: 9307
diff changeset
115 // if (FloodDurationCurveProcessor.FACET_FLOOD_DURATION_MAINVALUES_W.equals(name))
fbfd66e8fb81 Softwaretests...20181219 6.2.2: Sinfo/Ued Haupt-/Extremwerte update for current km, W/Q of selected WSPL initially visible
mschaefer
parents: 9307
diff changeset
116 // return Boolean.FALSE;
fbfd66e8fb81 Softwaretests...20181219 6.2.2: Sinfo/Ued Haupt-/Extremwerte update for current km, W/Q of selected WSPL initially visible
mschaefer
parents: 9307
diff changeset
117 // if (FloodDurationCurveProcessor.FACET_FLOOD_DURATION_MAINVALUES_Q.equals(name))
fbfd66e8fb81 Softwaretests...20181219 6.2.2: Sinfo/Ued Haupt-/Extremwerte update for current km, W/Q of selected WSPL initially visible
mschaefer
parents: 9307
diff changeset
118 // return Boolean.FALSE;
9631
6ecd1a28017f Nachtrag Pos. 20: Q theme for height chart added, calculator corrected (rows for km without any infrastructure)
mschaefer
parents: 9617
diff changeset
119 if (FloodQProcessor.FACET_MAIN_VALUE_Q.equals(name))
6ecd1a28017f Nachtrag Pos. 20: Q theme for height chart added, calculator corrected (rows for km without any infrastructure)
mschaefer
parents: 9617
diff changeset
120 return Boolean.FALSE;
9307
45bbd2c232f8 S-Info main value themes in flood duration w/q set to initially invisible
mschaefer
parents: 8980
diff changeset
121
8956
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
122 return null;
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
123 }
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
124 });
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
125 }
ee5ce13016ed Work on SINFO-Fließtiefenentwicklung
gernotbelger
parents: 8946
diff changeset
126
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
127 /**
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
128 * Default constructor, because it's serializable.
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
129 */
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
130 public SINFOArtifact() {
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
131 }
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
132
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
133 /**
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
134 * Returns the name of the concrete artifact.
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
135 *
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
136 * @return the name of the concrete artifact.
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
137 */
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
138 @Override
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
139 public String getName() {
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
140 return ARTIFACT_NAME;
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
141 }
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
142
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
143 public SinfoCalcMode getCalculationMode() {
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
144
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
145 final String calc = getDataAsString(FIELD_MODE);
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
146 if (calc == null) {
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
147 throw new IllegalArgumentException(ERROR_NO_CALCULATION_MODE);
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
148 }
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
149
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
150 try {
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
151 return SinfoCalcMode.valueOf(StringUtils.trimToEmpty(calc).toLowerCase());
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
152 }
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
153 catch (final Exception e) {
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
154 throw new IllegalArgumentException(ERROR_INVALID_CALCULATION_MODE, e);
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
155 }
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
156 }
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
157
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
158 public String getRiver() {
8946
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
159 return getDataAsString(FIELD_RIVER);
5d5d482da3e9 Implementing SINFO - FlowDepthMinMax calculation
gernotbelger
parents: 8869
diff changeset
160 }
8854
7bbfb24e6eec SINFO - first prototype of BArt Fließtiefen
gernotbelger
parents:
diff changeset
161 }

http://dive4elements.wald.intevation.org