annotate artifacts/src/main/java/org/dive4elements/river/artifacts/access/Access.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
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4528
diff changeset
9 package org.dive4elements.river.artifacts.access;
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4528
diff changeset
11 import org.dive4elements.artifactdatabase.data.StateData;
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
13 import org.dive4elements.river.artifacts.D4EArtifact;
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4528
diff changeset
15 import org.dive4elements.river.artifacts.model.DateRange;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4528
diff changeset
16
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
17 import org.dive4elements.river.utils.RiverUtils;
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19 import gnu.trove.TDoubleArrayList;
4152
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
20 import gnu.trove.TLongArrayList;
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22 import java.util.ArrayList;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23 import java.util.Date;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
25 import org.apache.logging.log4j.Logger;
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
26 import org.apache.logging.log4j.LogManager;
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27
3209
03fc05655258 SQ: Added artifact access stub.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3208
diff changeset
28 public class Access
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 {
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
30 private static Logger log = LogManager.getLogger(Access.class);
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
32 protected D4EArtifact artifact;
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
33
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34 public Access() {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
35 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
36
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
37 public Access(D4EArtifact artifact) {
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38 this.artifact = artifact;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
41 public D4EArtifact getArtifact() {
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42 return artifact;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
43 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
44
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
45 public void setArtifact(D4EArtifact artifact) {
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
46 this.artifact = artifact;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
47 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
48
4528
cbd0fafcb26b Documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4152
diff changeset
49
cbd0fafcb26b Documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4152
diff changeset
50 /** Get a data entry as string. */
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 protected String getString(String key) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52 StateData sd = artifact.getData(key);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53 if (sd == null) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54 log.warn("missing '" + key + "' value");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55 return null;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
56 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
57 return (String)sd.getValue();
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 5994
diff changeset
60 /** Get a data entry as double, or null */
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61 protected Double getDouble(String key) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
62 StateData sd = artifact.getData(key);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
63 if (sd == null) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
64 log.warn("missing '" + key + "' value");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65 return null;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
67 try {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
68 return Double.valueOf((String)sd.getValue());
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
69 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
70 catch (NumberFormatException nfe) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
71 log.warn(key + " '" + sd.getValue() + "' is not numeric.");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
72 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
73 return null;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
74 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
75
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
76 protected Long getLong(String key) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
77 StateData sd = artifact.getData(key);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
78 if (sd == null) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
79 log.warn("missing '" + key + "' value");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
80 return null;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
81 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
82 try {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
83 return Long.valueOf((String)sd.getValue());
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
84 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
85 catch (NumberFormatException nfe) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
86 log.warn(key + " '" + sd.getValue() + "' is not a long integer.");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
87 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
88 return null;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
89 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
90
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
91 protected Integer getInteger(String key) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
92 StateData sd = artifact.getData(key);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
93 if (sd == null) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
94 log.warn("missing '" + key + "' value");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
95 return null;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
96 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
97 try {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
98 return Integer.valueOf((String)sd.getValue());
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
99 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
100 catch (NumberFormatException nfe) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
101 log.warn(key + " '" + sd.getValue() + "' is not a integer.");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
102 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
103 return null;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
104 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
105
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
106 protected int [] getIntArray(String key) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
107 StateData sd = artifact.getData(key);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
108 if (sd == null) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
109 log.warn("missing '" + key +"' value");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
110 return null;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
111 }
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
112 return RiverUtils.intArrayFromString((String)sd.getValue());
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
113 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
114
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
115 protected DateRange [] getDateRange(String key) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
116
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
117 StateData sd = artifact.getData(key);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
118
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
119 if (sd == null) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
120 log.warn("missing '" + key + "'");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
121 return null;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
122 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
123
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
124 String data = (String)sd.getValue();
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
125 String[] pairs = data.split("\\s*;\\s*");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
126
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
127 ArrayList<DateRange> aPs = new ArrayList<DateRange>(pairs.length);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
128
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
129 for (int i = 0; i < pairs.length; i++) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
130 String[] fromTo = pairs[i].split("\\s*,\\s*");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
131 if (fromTo.length >= 2) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
132 try {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
133 Date from = new Date(Long.parseLong(fromTo[0]));
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
134 Date to = new Date(Long.parseLong(fromTo[1]));
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
135 DateRange aP = new DateRange(from, to);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
136 if (!aPs.contains(aP)) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
137 aPs.add(aP);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
138 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
139 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
140 catch (NumberFormatException nfe) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
141 log.warn(key + " contains no long values.", nfe);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
142 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
143 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
144 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
145
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
146 DateRange [] result = aPs.toArray(new DateRange[aPs.size()]);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
147
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
148 if (log.isDebugEnabled()) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
149 for (int i = 0; i < result.length; ++i) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
150 DateRange ap = result[i];
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
151 log.debug("period " +
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
152 ap.getFrom() + " - " + ap.getTo());
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
153 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
154 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
155
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
156 return result;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
157 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
158
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
159 protected Boolean getBoolean(String key) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
160 StateData sd = artifact.getData(key);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
161 if (sd == null) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
162 log.warn("missing '" + key + "' value");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
163 return null;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
164 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
165 return Boolean.valueOf((String)sd.getValue());
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
166 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
167
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
168 protected double [] getDoubleArray(String key) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
169 StateData sd = artifact.getData(key);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
170 if (sd == null) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
171 log.warn("missing '" + key + "'");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
172 return null;
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
173 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
174 String [] parts = ((String)sd.getValue()).split("[\\s;]+");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
175 TDoubleArrayList list = new TDoubleArrayList(parts.length);
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
176 for (String part: parts) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
177 try {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
178 list.add(Double.parseDouble(part));
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
179 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
180 catch (NumberFormatException nfe) {
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
181 log.warn("'" + part + "' is not numeric.");
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
182 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
183 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
184 return list.toNativeArray();
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
185 }
4152
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
186
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
187 protected long [] getLongArray(String key) {
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
188 StateData sd = artifact.getData(key);
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
189 if (sd == null) {
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
190 log.warn("missing '" + key + "'");
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
191 return null;
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
192 }
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
193 String [] parts = ((String)sd.getValue()).split("[\\s;]+");
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
194 TLongArrayList list = new TLongArrayList(parts.length);
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
195 for (String part: parts) {
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
196 try {
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
197 list.add(Long.parseLong(part));
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
198 }
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
199 catch (NumberFormatException nfe) {
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
200 log.warn("'" + part + "' is not numeric.");
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
201 }
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
202 }
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
203 return list.toNativeArray();
5ff3b2f5fb1c Added evaluation timerange to subtitle of historical discharge curve charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3259
diff changeset
204 }
3208
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
205 }
90c4ce100ce1 Added new base class for *Access
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
206 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org