annotate artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BunduAccess.java @ 9525:967ca59cc11a

Minor cleanup
author gernotbelger
date Mon, 01 Oct 2018 18:07:49 +0200
parents bb278c927b66
children
rev   line source
9267
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
2 * Software engineering by Intevation GmbH
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
3 *
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
7 */
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
8
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
9 package org.dive4elements.river.artifacts.bundu.bezugswst;
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
10
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
11 import org.apache.log4j.Logger;
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
12 import org.dive4elements.river.artifacts.D4EArtifact;
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
13 import org.dive4elements.river.artifacts.access.FixAnalysisAccess;
9432
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
14 import org.dive4elements.river.artifacts.states.SoundingsSelect;
9267
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
15
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
16 public class BunduAccess extends FixAnalysisAccess {
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
17
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
18 private static Logger log = Logger.getLogger(BunduAccess.class);
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
19
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
20 public BunduAccess(final D4EArtifact artifact) {
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
21 super(artifact);
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
22 }
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
23
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
24 public boolean isAutoSelect() {
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
25 final String fixChoice = this.artifact.getDataAsString("fix_choice");
9366
3d006afee054 bundu.bezugswst workflow reviewed
gernotbelger
parents: 9323
diff changeset
26 if (fixChoice != null && fixChoice.equals("state.bundu.wst.fix.auto")) {
9267
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
27 return true;
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
28 }
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
29 return false;
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
30 }
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
31
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
32 public Integer getBezugsJahr() {
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
33 return this.artifact.getDataAsInteger("singleyear");
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
34 }
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
35
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
36 public int[] getEventsTemp() {
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
37 return getIntArray("events_temp");
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
38 }
c7e5285d434f bundu bezugswst work
gernotbelger
parents:
diff changeset
39
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9267
diff changeset
40 public int getQSeriesLength() {
2323d005f9a5 compile error fix
gernotbelger
parents: 9267
diff changeset
41 return this.artifact.getDataAsInteger("year_input_q_series");
2323d005f9a5 compile error fix
gernotbelger
parents: 9267
diff changeset
42 }
2323d005f9a5 compile error fix
gernotbelger
parents: 9267
diff changeset
43
9323
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
44 public int getStartYear() {
9396
6ebc9357550c Fixed: bundu bzws start year plus one
mschaefer
parents: 9366
diff changeset
45 return this.getBezugsJahr() - this.getQSeriesLength() + 1;
9323
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
46 }
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
47
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
48 public Integer getUd() {
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
49 if (getUd_Q_mode().equals("UD"))
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
50 return getInteger("bundu.wst.ud_value");
9525
967ca59cc11a Minor cleanup
gernotbelger
parents: 9495
diff changeset
51
967ca59cc11a Minor cleanup
gernotbelger
parents: 9495
diff changeset
52 return null;
9323
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
53 }
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
54
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
55 @Override
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
56 public double[] getQs() {
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
57 if (getUd_Q_mode().equals("Q"))
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
58 return super.getQs();
9525
967ca59cc11a Minor cleanup
gernotbelger
parents: 9495
diff changeset
59
967ca59cc11a Minor cleanup
gernotbelger
parents: 9495
diff changeset
60 return null;
9323
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
61 }
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
62
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
63 private String getUd_Q_mode() {
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
64 return getString("bundu.wst.mode");
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
65 }
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
66
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
67 public Double getMissingVolFrom() {
9495
bb278c927b66 Datenkorb bezugswasserstände längsschnitte + minor fixes
gernotbelger
parents: 9465
diff changeset
68 if (isCalculateMissingVolume())
9323
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
69 return getDouble("ld_from_part");
9525
967ca59cc11a Minor cleanup
gernotbelger
parents: 9495
diff changeset
70
967ca59cc11a Minor cleanup
gernotbelger
parents: 9495
diff changeset
71 return null;
9323
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
72 }
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
73
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
74 public Double getMissingVolTo() {
9495
bb278c927b66 Datenkorb bezugswasserstände längsschnitte + minor fixes
gernotbelger
parents: 9465
diff changeset
75 if (isCalculateMissingVolume())
9323
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
76 return getDouble("ld_to_part");
9525
967ca59cc11a Minor cleanup
gernotbelger
parents: 9495
diff changeset
77
967ca59cc11a Minor cleanup
gernotbelger
parents: 9495
diff changeset
78 return null;
9323
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
79 }
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
80
9495
bb278c927b66 Datenkorb bezugswasserstände längsschnitte + minor fixes
gernotbelger
parents: 9465
diff changeset
81 public boolean isCalculateMissingVolume() {
9323
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
82 return getBoolean("missing_volume");
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
83 }
86d2cbfe7f7f bundu bezugswst excel metadaten
gernotbelger
parents: 9277
diff changeset
84
9465
be9bd06a1e3f bezugswst sounding select for miss'vol only (calc crashes)
gernotbelger
parents: 9446
diff changeset
85 public Integer getBedHeightID() {
9432
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
86
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
87 final String data = getString("soundings");
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
88
9495
bb278c927b66 Datenkorb bezugswasserstände längsschnitte + minor fixes
gernotbelger
parents: 9465
diff changeset
89 if (data == null || !isCalculateMissingVolume()) {
9432
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
90 log.warn("No 'soundings' parameter specified!");
9465
be9bd06a1e3f bezugswst sounding select for miss'vol only (calc crashes)
gernotbelger
parents: 9446
diff changeset
91 return null;
9432
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
92 }
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
93
9525
967ca59cc11a Minor cleanup
gernotbelger
parents: 9495
diff changeset
94 log.debug("getBedHeightIDs(): data=" + data);
9432
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
95
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
96 int singleID = 0;
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
97
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
98 if (data.indexOf(SoundingsSelect.PREFIX_SINGLE) >= 0) {
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
99 final String tmp = data.replace(SoundingsSelect.PREFIX_SINGLE, "");
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
100 try {
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
101 singleID = Integer.parseInt(tmp);
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
102 }
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
103 catch (final NumberFormatException nfe) {
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
104 log.warn("Cannot parse int from string: '" + tmp + "'");
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
105 }
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
106 }
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
107 return singleID;
d194c5b24bf8 Added bundu bzws w calculation and longitudinal sections of wspl and depth
mschaefer
parents: 9396
diff changeset
108 }
9525
967ca59cc11a Minor cleanup
gernotbelger
parents: 9495
diff changeset
109 }

http://dive4elements.wald.intevation.org