Mercurial > dive4elements > river
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 : |