annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java @ 3001:619fe13e2397

FixA: Fixed access to analysis periods. flys-artifacts/trunk@4557 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 30 May 2012 13:03:22 +0000
parents 3dd1c320cf81
children e5e6363e6cba
rev   line source
2725
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2
3001
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
3 import java.util.ArrayList;
2725
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4 import java.util.Arrays;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
5
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
6 import de.intevation.artifactdatabase.data.StateData;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
7
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
8 import gnu.trove.TDoubleArrayList;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
9
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10 import de.intevation.flys.utils.FLYSUtils;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
11
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 import org.apache.log4j.Logger;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14 public class FixationArtifactAccess
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15 {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16 private static Logger log = Logger.getLogger(FixationArtifactAccess.class);
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
17
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18 protected FLYSArtifact artifact;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
20 protected String river;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22 protected String calculationMode;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24 protected Double from;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25 protected Double to;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26 protected Double step;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 protected Long start;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 protected Long end;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 protected Integer qSectorStart;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32 protected Integer qSectorEnd;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
33
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34 protected Long referenceStart;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
35 protected Long referenceEnd;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
36
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37 protected long [][] analysisPeriods;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 protected int [] events;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
41 protected Boolean preprocessing;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
43 protected String function;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
44
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45 protected double [] qs;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
46
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
47 public FixationArtifactAccess() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
48 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
49
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50 public FixationArtifactAccess(FLYSArtifact artifact) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 this.artifact = artifact;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54 public FLYSArtifact getArtifact() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55 return artifact;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
56 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
57
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 public String getRiver() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59 if (river == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60 StateData sd = artifact.getData("river");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
62 log.warn("missing 'river' value");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
63 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
64 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65 river = (String)sd.getValue();
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
67 if (log.isDebugEnabled()) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
68 log.debug("river: '" + river + "'");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
69 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
70 return river;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
71 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
72
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
73 public String getCalculationMode() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
74 if (calculationMode == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
75 StateData sd = artifact.getData("calculation.mode");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
76 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
77 log.warn("missing 'calculation.mode' value");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
78 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
79 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
80 calculationMode = (String)sd.getValue();
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
81 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
82
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
83 if (log.isDebugEnabled()) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
84 log.debug("calculationMode: '" + calculationMode + "'");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
85 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
86 return calculationMode;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
87 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
88
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
89 public Double getFrom() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
90
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
91 if (from == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
92 StateData sd = artifact.getData("from");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
93 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
94 log.warn("missing 'from' value");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
95 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
96 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
97 try {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
98 from = Double.valueOf((String)sd.getValue());
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
99 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
100 catch (NumberFormatException nfe) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
101 log.warn("from '" + sd.getValue() + "' is not numeric.");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
102 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
103 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
104
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
105 if (log.isDebugEnabled()) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
106 log.debug("from: '" + from + "'");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
107 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
108
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
109 return from;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
110 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
111
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
112 public Double getTo() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
113
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
114 if (to == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
115 StateData sd = artifact.getData("to");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
116 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
117 log.warn("missing 'to' value");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
118 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
119 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
120 try {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
121 to = Double.valueOf((String)sd.getValue());
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
122 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
123 catch (NumberFormatException nfe) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
124 log.warn("to '" + sd.getValue() + "' is not numeric.");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
125 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
126 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
127
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
128 if (log.isDebugEnabled()) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
129 log.debug("to: '" + to + "'");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
130 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
131
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
132 return to;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
133 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
134
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
135 public Double getStep() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
136
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
137 if (step == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
138 StateData sd = artifact.getData("step");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
139 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
140 log.warn("missing 'step' value");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
141 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
142 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
143 try {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
144 step = Double.valueOf((String)sd.getValue());
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
145 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
146 catch (NumberFormatException nfe) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
147 log.warn("step '" + sd.getValue() + "' is not numeric.");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
148 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
149 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
150
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
151 if (log.isDebugEnabled()) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
152 log.debug("step: '" + step + "'");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
153 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
154
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
155 return step;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
156 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
157
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
158 public Long getStart() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
159
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
160 if (start == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
161 StateData sd = artifact.getData("start");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
162 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
163 log.warn("missing 'start' value");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
164 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
165 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
166 try {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
167 start = Long.valueOf((String)sd.getValue());
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
168 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
169 catch (NumberFormatException nfe) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
170 log.warn("start '" + sd.getValue() + "' is not an integer.");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
171 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
172 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
173
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
174 if (log.isDebugEnabled()) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
175 log.debug("start: '" + start + "'");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
176 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
177
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
178 return start;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
179 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
180
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
181 public Long getEnd() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
182
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
183 if (end == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
184 StateData sd = artifact.getData("end");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
185 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
186 log.warn("missing 'end' value");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
187 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
188 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
189 try {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
190 end = Long.valueOf((String)sd.getValue());
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
191 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
192 catch (NumberFormatException nfe) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
193 log.warn("end '" + sd.getValue() + "' is not an integer.");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
194 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
195 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
196
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
197 if (log.isDebugEnabled()) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
198 log.debug("end: '" + end + "'");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
199 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
200
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
201 return end;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
202 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
203
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
204 public Integer getQSectorStart() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
205
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
206 if (qSectorStart == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
207 StateData sd = artifact.getData("q1");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
208 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
209 log.warn("missing 'q1' value");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
210 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
211 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
212 try {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
213 qSectorStart = Integer.valueOf((String)sd.getValue());
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
214 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
215 catch (NumberFormatException nfe) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
216 log.warn("q1 '" + sd.getValue() + "' is not an integer.");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
217 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
218 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
219
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
220 return qSectorStart;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
221 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
222
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
223 public Integer getQSectorEnd() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
224
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
225 if (qSectorEnd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
226 StateData sd = artifact.getData("q2");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
227 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
228 log.warn("missing 'q2' value");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
229 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
230 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
231 try {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
232 qSectorEnd = Integer.valueOf((String)sd.getValue());
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
233 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
234 catch (NumberFormatException nfe) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
235 log.warn("q2 '" + sd.getValue() + "' is not an integer.");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
236 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
237 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
238
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
239 return qSectorEnd;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
240 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
241
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
242 public int [] getEvents() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
243 if (events == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
244 StateData sd = artifact.getData("events");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
245 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
246 log.warn("missing 'events' value");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
247 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
248 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
249 events = FLYSUtils.intArrayFromString((String)sd.getValue());
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
250 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
251 return events;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
252 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
253
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
254 public Long getReferenceStart() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
255 if (referenceStart == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
256 StateData sd = artifact.getData("ref_start");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
257 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
258 log.warn("missing 'ref_start' value");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
259 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
260 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
261 try {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
262 referenceStart = Long.valueOf((String)sd.getValue());
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
263 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
264 catch (NumberFormatException nfe) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
265 log.warn("ref_start '"
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
266 + sd.getValue() + "' is not an integer.");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
267 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
268 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
269
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
270 if (log.isDebugEnabled()) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
271 log.debug("referenceStart: '" + referenceStart + "'");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
272 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
273
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
274 return referenceStart;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
275 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
276
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
277 public Long getReferenceEnd() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
278 if (referenceEnd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
279 StateData sd = artifact.getData("ref_end");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
280 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
281 log.warn("missing 'ref_end' value");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
282 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
283 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
284 try {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
285 referenceEnd = Long.valueOf((String)sd.getValue());
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
286 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
287 catch (NumberFormatException nfe) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
288 log.warn("ref_end '"
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
289 + sd.getValue() + "' is not an integer.");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
290 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
291 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
292
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
293 if (log.isDebugEnabled()) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
294 log.debug("referenceEnd: '" + referenceEnd + "'");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
295 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
296
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
297 return referenceEnd;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
298 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
299
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
300 public long [][] getAnalysisPeriods() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
301 if (analysisPeriods == null) {
3000
3dd1c320cf81 Changed data fields in fixings analysisperiods state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2726
diff changeset
302 StateData sd = artifact.getData("ana_data");
2725
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
303
3000
3dd1c320cf81 Changed data fields in fixings analysisperiods state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2726
diff changeset
304 if (sd == null) {
3dd1c320cf81 Changed data fields in fixings analysisperiods state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2726
diff changeset
305 log.warn("missing 'ana_data'");
2725
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
306 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
307 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
308
3001
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
309 String data = (String)sd.getValue();
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
310 String[] pairs = data.split(";");
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
311
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
312 ArrayList<long[]> aPs = new ArrayList<long[]>(pairs.length);
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
313
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
314 for (int i = 0; i < pairs.length; i++) {
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
315 String[] fromTo = pairs[i].split(",");
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
316 if (fromTo.length >= 2) {
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
317 try {
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
318 aPs.add(new long [] {
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
319 Long.parseLong(fromTo[0]),
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
320 Long.parseLong(fromTo[1])
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
321 });
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
322 }
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
323 catch (NumberFormatException nfe) {
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
324 log.warn("ana_data contains no long values.", nfe);
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
325 }
3000
3dd1c320cf81 Changed data fields in fixings analysisperiods state.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2726
diff changeset
326 }
2725
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
327 }
3001
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
328
619fe13e2397 FixA: Fixed access to analysis periods.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3000
diff changeset
329 analysisPeriods = aPs.toArray(new long[aPs.size()][]);
2725
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
330 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
331
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
332 if (log.isDebugEnabled()) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
333 for (int i = 0; i < analysisPeriods.length; ++i) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
334 long [] ap = analysisPeriods[i];
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
335 log.debug("analysis period " + ap[0] + " - " + ap[1]);
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
336 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
337 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
338
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
339 return analysisPeriods;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
340 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
341
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
342 public Boolean getPreprocessing() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
343 if (preprocessing == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
344 StateData sd = artifact.getData("preprocessing");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
345 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
346 log.warn("missing 'preprocessing'");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
347 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
348 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
349 preprocessing = Boolean.valueOf((String)sd.getValue());
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
350 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
351 return preprocessing;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
352 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
353
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
354 public String getFunction() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
355 if (function == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
356 StateData sd = artifact.getData("function");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
357 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
358 log.warn("missing 'function'");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
359 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
360 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
361 function = (String)sd.getValue();
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
362 }
2726
f53173a8736b Fixings state access: Added more debug putput
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2725
diff changeset
363 if (log.isDebugEnabled()) {
f53173a8736b Fixings state access: Added more debug putput
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2725
diff changeset
364 log.debug("function: " + function);
f53173a8736b Fixings state access: Added more debug putput
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2725
diff changeset
365 }
2725
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
366 return function;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
367 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
368
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
369 public double [] getQs() {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
370 if (qs == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
371 StateData sd = artifact.getData("qs");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
372 if (sd == null) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
373 log.warn("missing 'qs'");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
374 return null;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
375 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
376 String [] parts = ((String)sd.getValue()).split("[\\s;]");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
377 TDoubleArrayList list = new TDoubleArrayList(parts.length);
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
378 for (String part: parts) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
379 try {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
380 list.add(Double.parseDouble(part));
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
381 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
382 catch (NumberFormatException nfe) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
383 log.warn("'" + part + "' is not numeric.");
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
384 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
385 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
386 qs = list.toNativeArray();
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
387 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
388 if (log.isDebugEnabled()) {
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
389 log.debug("qs: " + Arrays.toString(qs));
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
390 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
391 return qs;
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
392 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
393 }
8dbc86a0948d Fixing analysis: Access to state data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
394 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org