annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/BedHeightAccess.java @ 5779:ebec12def170

Datacage: Add a pool of builders to make it multi threadable. XML DOM is not thread safe. Therefore the old implementation only allowed one thread to use the builder at a time. As the complexity of the configuration has increased over time this has become a bottleneck of the whole application because it took quiet some time to build a result. Furthermore the builder code path is visited very frequent. So many concurrent requests were piled up resulting in long waits for the users. To mitigate this problem a round robin pool of builders is used now. Each of the pooled builders has an independent copy of the XML template and can be run in parallel. The number of builders is determined by the system property 'flys.datacage.pool.size'. It defaults to 4.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 21 Apr 2013 12:48:09 +0200
parents cb4cc6414447
children
rev   line source
3230
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.artifacts.access;
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
4655
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
3 import java.util.List;
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
4
4826
a3dc382bc1ca BedHeightAccess, FlowVelocityAccess, SedimentLoadAccess: Inherit from RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4655
diff changeset
5 import de.intevation.artifacts.CallContext;
a3dc382bc1ca BedHeightAccess, FlowVelocityAccess, SedimentLoadAccess: Inherit from RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4655
diff changeset
6
4150
0f60efc39953 Workaround for #961
Christian Lins <christian.lins@intevation.de>
parents: 3614
diff changeset
7 import de.intevation.flys.artifacts.FLYSArtifact;
4655
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
8 import de.intevation.flys.artifacts.model.minfo.BedHeight;
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
9 import de.intevation.flys.artifacts.model.minfo.BedHeightFactory;
4150
0f60efc39953 Workaround for #961
Christian Lins <christian.lins@intevation.de>
parents: 3614
diff changeset
10 import de.intevation.flys.artifacts.states.SoundingsSelect;
4655
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
11 import de.intevation.flys.model.BedHeightSingle;
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
12 import de.intevation.flys.model.BedHeightSingleValue;
4150
0f60efc39953 Workaround for #961
Christian Lins <christian.lins@intevation.de>
parents: 3614
diff changeset
13
3230
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import gnu.trove.TIntArrayList;
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import org.apache.log4j.Logger;
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
4826
a3dc382bc1ca BedHeightAccess, FlowVelocityAccess, SedimentLoadAccess: Inherit from RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4655
diff changeset
19 public class BedHeightAccess
a3dc382bc1ca BedHeightAccess, FlowVelocityAccess, SedimentLoadAccess: Inherit from RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4655
diff changeset
20 extends RangeAccess
a3dc382bc1ca BedHeightAccess, FlowVelocityAccess, SedimentLoadAccess: Inherit from RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4655
diff changeset
21 {
3230
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
23 private static final Logger logger = Logger.getLogger(BedHeightAccess.class);
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
24
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
25 private int[] singleIDs;
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
26 private int[] epochIDs;
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
27
3614
68beaa827751 MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3259
diff changeset
28 private String time;
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
29
4826
a3dc382bc1ca BedHeightAccess, FlowVelocityAccess, SedimentLoadAccess: Inherit from RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4655
diff changeset
30 public BedHeightAccess(FLYSArtifact artifact, CallContext context) {
a3dc382bc1ca BedHeightAccess, FlowVelocityAccess, SedimentLoadAccess: Inherit from RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4655
diff changeset
31 super(artifact, context);
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
32 }
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
33
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
34
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
35 public Double getLowerKM() {
4826
a3dc382bc1ca BedHeightAccess, FlowVelocityAccess, SedimentLoadAccess: Inherit from RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4655
diff changeset
36 // TODO update callers
a3dc382bc1ca BedHeightAccess, FlowVelocityAccess, SedimentLoadAccess: Inherit from RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4655
diff changeset
37 return getFrom();
3230
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 }
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
39
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
40
3230
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 public Double getUpperKM() {
4826
a3dc382bc1ca BedHeightAccess, FlowVelocityAccess, SedimentLoadAccess: Inherit from RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4655
diff changeset
42 // TODO update callers
a3dc382bc1ca BedHeightAccess, FlowVelocityAccess, SedimentLoadAccess: Inherit from RangeAccess.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4655
diff changeset
43 return getTo();
3230
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 }
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
45
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
46
3230
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 public int[] getBedHeightSingleIDs() {
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
48 if (singleIDs == null) {
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
49 String data = getString("soundings");
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
50
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
51 if (data == null) {
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
52 logger.warn("No 'soundings' parameter specified!");
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
53 return null;
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
54 }
4150
0f60efc39953 Workaround for #961
Christian Lins <christian.lins@intevation.de>
parents: 3614
diff changeset
55 else {
0f60efc39953 Workaround for #961
Christian Lins <christian.lins@intevation.de>
parents: 3614
diff changeset
56 logger.debug("getBedHeightSingleIDs(): data=" + data);
0f60efc39953 Workaround for #961
Christian Lins <christian.lins@intevation.de>
parents: 3614
diff changeset
57 }
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
58
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
59 String[] parts = data.split(";");
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
60
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
61 TIntArrayList ids = new TIntArrayList();
3230
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
63 for (String part: parts) {
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
64 if (part.indexOf(SoundingsSelect.PREFIX_SINGLE) >= 0) {
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
65 String tmp = part.replace(SoundingsSelect.PREFIX_SINGLE, "");
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
66
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
67 try {
4150
0f60efc39953 Workaround for #961
Christian Lins <christian.lins@intevation.de>
parents: 3614
diff changeset
68 int i = Integer.parseInt(tmp);
0f60efc39953 Workaround for #961
Christian Lins <christian.lins@intevation.de>
parents: 3614
diff changeset
69 if (!ids.contains(i)) {
0f60efc39953 Workaround for #961
Christian Lins <christian.lins@intevation.de>
parents: 3614
diff changeset
70 ids.add(i);
0f60efc39953 Workaround for #961
Christian Lins <christian.lins@intevation.de>
parents: 3614
diff changeset
71 }
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
72 }
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
73 catch (NumberFormatException nfe) {
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
74 logger.warn("Cannot parse int from string: '" + tmp + "'");
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
75 }
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
76 }
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
77 }
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
78
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
79 singleIDs = ids.toNativeArray();
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
80 }
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
81
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
82 return singleIDs;
3230
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 }
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85
3614
68beaa827751 MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3259
diff changeset
86 public String getYearEpoch() {
68beaa827751 MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3259
diff changeset
87 if (time == null) {
68beaa827751 MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3259
diff changeset
88 time = getString("ye_select");
68beaa827751 MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3259
diff changeset
89 }
68beaa827751 MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3259
diff changeset
90 return time;
68beaa827751 MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3259
diff changeset
91 }
68beaa827751 MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3259
diff changeset
92
68beaa827751 MINFO: Implemented UI and facet/artifact stack for bed height differences.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3259
diff changeset
93
3230
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 public int[] getBedHeightEpochIDs() {
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
95 if (epochIDs == null) {
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
96 String data = getString("soundings");
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
97
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
98 if (data == null) {
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
99 logger.warn("No 'soundings' parameter specified!");
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
100 return null;
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
101 }
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
102
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
103 String[] parts = data.split(";");
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
104
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
105 TIntArrayList ids = new TIntArrayList();
3232
cdbc457e23e2 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3230
diff changeset
106
3258
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
107 for (String part: parts) {
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
108 if (part.indexOf(SoundingsSelect.PREFIX_EPOCH) >= 0) {
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
109 String tmp = part.replace(SoundingsSelect.PREFIX_EPOCH, "");
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
110
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
111 try {
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
112 ids.add(Integer.parseInt(tmp));
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
113 }
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
114 catch (NumberFormatException nfe) {
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
115 logger.warn("Cannot parse int from string: '" + tmp + "'");
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
116 }
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
117 }
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
118 }
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
119
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
120 epochIDs = ids.toNativeArray();
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
121 }
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
122
3c006a53e551 Replaced tabs with four spaces each.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3232
diff changeset
123 return epochIDs;
3230
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 }
4655
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
125
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
126 /**
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
127 * Return the {@link BedHeight} at the height_id and time of the artifact
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
128 * @return {@link BedHeight}
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
129 */
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
130 public BedHeight getHeight() {
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
131 logger.debug("getHeight");
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
132 return BedHeightFactory.getHeight(
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
133 artifact.getDataAsString("type"),
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
134 Integer.parseInt(artifact.getDataAsString("height_id")),
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
135 Integer.parseInt(artifact.getDataAsString("time")));
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
136 }
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
137
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
138 /**
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
139 * Return a {@link List} of {@link BedHeightSingleValue}s
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
140 * at the range of the artifact
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
141 * @return List of {@link BedHeightSingleValue}s
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
142 */
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
143 public List<BedHeightSingleValue> getSingleValues() {
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
144 logger.debug("getSingleValues");
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
145 BedHeightSingle single = BedHeightSingle.getBedHeightSingleById(
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
146 artifact.getDataAsInteger("height_id"));
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
147 return BedHeightSingleValue.getBedHeightSingleValues(single,
4828
cb4cc6414447 BedHeightAccess: Use getFrom/getTo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4826
diff changeset
148 getFrom(),
cb4cc6414447 BedHeightAccess: Use getFrom/getTo.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4826
diff changeset
149 getTo());
4655
cd44d28d0fbc Move the access to artifact data to the Access object
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4150
diff changeset
150 }
3230
b888c5eb65b3 Added new *Access objects for bed height calculation and flow velocity calculation; removed methods for specific data access from MINFOArtifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 }
3259
9422b559b2d5 Added vim lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3258
diff changeset
152 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org