annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/WQFixing.java @ 9801:1d7a72a50183 3.2.x tip

Assume Compose V2, consistently
author Tom Gottfried <tom@intevation.de>
date Thu, 23 Nov 2023 10:14:13 +0100
parents 0a5239a1e46e
children
rev   line source
6060
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
3 *
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
7 */
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
8 package org.dive4elements.river.artifacts.states;
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
9
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
10 import org.dive4elements.artifacts.Artifact;
6062
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
11 import org.dive4elements.river.artifacts.D4EArtifact;
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
12 import org.dive4elements.river.artifacts.model.RangeWithValues;
6060
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
13
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
14 import org.apache.logging.log4j.Logger;
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
15 import org.apache.logging.log4j.LogManager;
6060
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
16
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
17 /**
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
18 * State to input W/Q data for fixings
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
19 * @author <a href="mailto:aheinecke@intevation.de">Andre Heinecke</a>
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
20 */
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
21 public class WQFixing extends WQAdapted {
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
22
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6062
diff changeset
23 /** The log used in this state.*/
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
24 private static Logger log = LogManager.getLogger(WQFixing.class);
6060
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
25
6062
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
26 /** Simple sanity check if values are positive numbers **/
6060
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
27 @Override
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
28 public boolean validate(Artifact artifact)
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
29 throws IllegalArgumentException
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
30 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6062
diff changeset
31 log.debug("WQFixing.validate");
6062
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
32
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
33 RangeWithValues[] rwvs = extractInput(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
34 getData((D4EArtifact) artifact, "wq_values"));
6062
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
35
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
36 if (rwvs == null) {
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
37 throw new IllegalArgumentException("error_missing_wq_data");
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
38 }
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
39
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
40 for (RangeWithValues rwv: rwvs) {
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
41 double[] values = rwv.getValues();
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
42 for (double val: values) {
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
43 if (val <= 0) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
44 throw new IllegalArgumentException(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
45 "error_validate_positive");
6062
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
46 }
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
47 }
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
48 }
1a169e10c0f3 Add WQFixing sanity check.
Andre Heinecke <aheinecke@intevation.de>
parents: 6060
diff changeset
49
6060
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
50 return true;
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
51 }
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
52
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
53 @Override
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
54 protected String getUIProvider() {
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
55 return "wq_panel_adapted_fixing";
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
56 }
0a200ba54461 Fix WQ input validation for fixing analysis
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
57 }

http://dive4elements.wald.intevation.org