Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/Measurements.java @ 8578:4eb1a3c71579
(issue1753) Implement PDF export of SQ Measurement data.
The SQRelationExporter now consists of two reports
(to avoid subreport woes). The old SQReleation PDF
only takes the Page count of the Measurement attachment
as argument to correctly print the page numbers. Otherwise
it is unchanged.
The new SQMeasurements report lists the measured data points
on which the calculation was based.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 16 Mar 2015 11:35:19 +0100 |
parents | 84929f882fa2 |
children | 0a5239a1e46e |
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:
5863
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:
5863
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:
4066
diff
changeset
|
9 package org.dive4elements.river.artifacts.model.sq; |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 |
3294
5e52202302e5
SQ relation: Handle the error case of accessing wrong indexed SQ relation more smoothly.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3290
diff
changeset
|
11 import java.util.ArrayList; |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
12 import java.util.List; |
3294
5e52202302e5
SQ relation: Handle the error case of accessing wrong indexed SQ relation more smoothly.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3290
diff
changeset
|
13 |
5e52202302e5
SQ relation: Handle the error case of accessing wrong indexed SQ relation more smoothly.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3290
diff
changeset
|
14 import org.apache.log4j.Logger; |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
15 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
16 public class Measurements |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
17 { |
3294
5e52202302e5
SQ relation: Handle the error case of accessing wrong indexed SQ relation more smoothly.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3290
diff
changeset
|
18 private static final Logger log = Logger.getLogger(Measurements.class); |
5e52202302e5
SQ relation: Handle the error case of accessing wrong indexed SQ relation more smoothly.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3290
diff
changeset
|
19 |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
20 public interface SExtractor { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
21 double getS(Measurement measument); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
22 } // interface SExtractor |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
23 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
24 public static final SExtractor S_SF_EXTRACTOR = new SExtractor() { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
25 @Override |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
26 public double getS(Measurement measument) { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
27 return measument.S_SF(); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
28 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
29 }; |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
30 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
31 public static final SExtractor S_SS_EXTRACTOR = new SExtractor() { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
32 @Override |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
33 public double getS(Measurement measument) { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
34 return measument.S_SS(); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
35 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
36 }; |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
37 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
38 public static final SExtractor S_BL_S_EXTRACTOR = new SExtractor() { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
39 @Override |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
40 public double getS(Measurement measument) { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
41 return measument.S_BL_S(); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
42 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
43 }; |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
44 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
45 public static final SExtractor S_BL_FG_EXTRACTOR = new SExtractor() { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
46 @Override |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
47 public double getS(Measurement measument) { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
48 return measument.S_BL_FG(); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
49 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
50 }; |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
51 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
52 public static final SExtractor S_BL_CG_EXTRACTOR = new SExtractor() { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
53 @Override |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
54 public double getS(Measurement measument) { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
55 return measument.S_BL_CG(); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
56 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
57 }; |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
58 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
59 public static final SExtractor S_BL_EXTRACTOR = new SExtractor() { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
60 @Override |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
61 public double getS(Measurement measument) { |
6350
876c797c2805
Fixed SQ relation total bedload: Use the correct input data for calculation.
Raimund Renkert <rrenkert@intevation.de>
parents:
5994
diff
changeset
|
62 return measument.S_BL_1(); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
63 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
64 }; |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
65 |
8280
e8283197d889
Added new fraction to sq relation.
Raimund Renkert <rrenkert@intevation.de>
parents:
6780
diff
changeset
|
66 public static final SExtractor S_BL2_EXTRACTOR = new SExtractor() { |
e8283197d889
Added new fraction to sq relation.
Raimund Renkert <rrenkert@intevation.de>
parents:
6780
diff
changeset
|
67 @Override |
e8283197d889
Added new fraction to sq relation.
Raimund Renkert <rrenkert@intevation.de>
parents:
6780
diff
changeset
|
68 public double getS(Measurement measument) { |
e8283197d889
Added new fraction to sq relation.
Raimund Renkert <rrenkert@intevation.de>
parents:
6780
diff
changeset
|
69 return measument.S_BL_2(); |
e8283197d889
Added new fraction to sq relation.
Raimund Renkert <rrenkert@intevation.de>
parents:
6780
diff
changeset
|
70 } |
e8283197d889
Added new fraction to sq relation.
Raimund Renkert <rrenkert@intevation.de>
parents:
6780
diff
changeset
|
71 }; |
e8283197d889
Added new fraction to sq relation.
Raimund Renkert <rrenkert@intevation.de>
parents:
6780
diff
changeset
|
72 |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
73 protected List<Measurement> measuments; |
4001
ab3a4ad82ae1
S(Q) accumulated same diameter meassurements per bank distance.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3922
diff
changeset
|
74 protected List<Measurement> accumulated; |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
75 |
6780
b8f94e865875
S/Q relation: Part I of 'faking' fitting linear data. S/Qs can now be subclassed and processed through views. TODO: Add knob to setup a linear data path.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6350
diff
changeset
|
76 protected SQ.Factory sqFactory; |
b8f94e865875
S/Q relation: Part I of 'faking' fitting linear data. S/Qs can now be subclassed and processed through views. TODO: Add knob to setup a linear data path.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6350
diff
changeset
|
77 |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
78 public Measurements() { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
79 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
80 |
4001
ab3a4ad82ae1
S(Q) accumulated same diameter meassurements per bank distance.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3922
diff
changeset
|
81 public Measurements( |
ab3a4ad82ae1
S(Q) accumulated same diameter meassurements per bank distance.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3922
diff
changeset
|
82 List<Measurement> measuments, |
6780
b8f94e865875
S/Q relation: Part I of 'faking' fitting linear data. S/Qs can now be subclassed and processed through views. TODO: Add knob to setup a linear data path.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6350
diff
changeset
|
83 List<Measurement> accumulated, |
b8f94e865875
S/Q relation: Part I of 'faking' fitting linear data. S/Qs can now be subclassed and processed through views. TODO: Add knob to setup a linear data path.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6350
diff
changeset
|
84 SQ.Factory sqFactory |
4001
ab3a4ad82ae1
S(Q) accumulated same diameter meassurements per bank distance.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3922
diff
changeset
|
85 ) { |
6780
b8f94e865875
S/Q relation: Part I of 'faking' fitting linear data. S/Qs can now be subclassed and processed through views. TODO: Add knob to setup a linear data path.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6350
diff
changeset
|
86 this.sqFactory = sqFactory; |
4066
f02aa4ff3c0f
S/Q relation: Fixed problem with loosing meassurement points.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4005
diff
changeset
|
87 if (log.isDebugEnabled()) { |
f02aa4ff3c0f
S/Q relation: Fixed problem with loosing meassurement points.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4005
diff
changeset
|
88 log.debug("number of measuments: " + measuments.size()); |
f02aa4ff3c0f
S/Q relation: Fixed problem with loosing meassurement points.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4005
diff
changeset
|
89 log.debug("number of accumulated: " + accumulated.size()); |
f02aa4ff3c0f
S/Q relation: Fixed problem with loosing meassurement points.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4005
diff
changeset
|
90 } |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
91 this.measuments = measuments; |
4001
ab3a4ad82ae1
S(Q) accumulated same diameter meassurements per bank distance.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
3922
diff
changeset
|
92 this.accumulated = accumulated; |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
93 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
94 |
6780
b8f94e865875
S/Q relation: Part I of 'faking' fitting linear data. S/Qs can now be subclassed and processed through views. TODO: Add knob to setup a linear data path.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6350
diff
changeset
|
95 public List<SQ> extractSQ( |
4005
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
96 List<Measurement> measuments, |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
97 SExtractor extractor |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
98 ) { |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
99 List<SQ> result = new ArrayList<SQ>(measuments.size()); |
4066
f02aa4ff3c0f
S/Q relation: Fixed problem with loosing meassurement points.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4005
diff
changeset
|
100 int invalid = 0; |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
101 for (Measurement measument: measuments) { |
8539
84929f882fa2
(issue1753) Carry measurement date through SQ values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8280
diff
changeset
|
102 SQ sq = sqFactory.createSQ(extractor.getS(measument), measument.Q(), |
84929f882fa2
(issue1753) Carry measurement date through SQ values
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8280
diff
changeset
|
103 measument.getDate()); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
104 if (sq.isValid()) { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
105 result.add(sq); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
106 } |
4066
f02aa4ff3c0f
S/Q relation: Fixed problem with loosing meassurement points.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4005
diff
changeset
|
107 else { |
f02aa4ff3c0f
S/Q relation: Fixed problem with loosing meassurement points.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4005
diff
changeset
|
108 ++invalid; |
f02aa4ff3c0f
S/Q relation: Fixed problem with loosing meassurement points.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4005
diff
changeset
|
109 } |
f02aa4ff3c0f
S/Q relation: Fixed problem with loosing meassurement points.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4005
diff
changeset
|
110 } |
f02aa4ff3c0f
S/Q relation: Fixed problem with loosing meassurement points.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4005
diff
changeset
|
111 if (log.isDebugEnabled()) { |
f02aa4ff3c0f
S/Q relation: Fixed problem with loosing meassurement points.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4005
diff
changeset
|
112 log.debug("Removed num invalid: " + invalid |
f02aa4ff3c0f
S/Q relation: Fixed problem with loosing meassurement points.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4005
diff
changeset
|
113 + " of " + measuments.size()); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
114 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
115 return result; |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
116 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
117 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
118 public List<SQ> S_SF() { |
4005
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
119 return extractSQ(measuments, S_SF_EXTRACTOR); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
120 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
121 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
122 public List<SQ> S_SS() { |
4005
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
123 return extractSQ(measuments, S_SS_EXTRACTOR); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
124 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
125 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
126 public List<SQ> S_BL_S() { |
4005
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
127 return extractSQ(accumulated, S_BL_S_EXTRACTOR); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
128 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
129 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
130 public List<SQ> S_BL_FG() { |
4005
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
131 return extractSQ(accumulated, S_BL_FG_EXTRACTOR); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
132 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
133 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
134 public List<SQ> S_BL_CG() { |
4005
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
135 return extractSQ(accumulated, S_BL_CG_EXTRACTOR); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
136 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
137 |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
138 public List<SQ> S_BL() { |
4005
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
139 return extractSQ(accumulated, S_BL_EXTRACTOR); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
140 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
141 |
8280
e8283197d889
Added new fraction to sq relation.
Raimund Renkert <rrenkert@intevation.de>
parents:
6780
diff
changeset
|
142 public List<SQ> S_BL2() { |
e8283197d889
Added new fraction to sq relation.
Raimund Renkert <rrenkert@intevation.de>
parents:
6780
diff
changeset
|
143 return extractSQ(accumulated, S_BL2_EXTRACTOR); |
e8283197d889
Added new fraction to sq relation.
Raimund Renkert <rrenkert@intevation.de>
parents:
6780
diff
changeset
|
144 } |
e8283197d889
Added new fraction to sq relation.
Raimund Renkert <rrenkert@intevation.de>
parents:
6780
diff
changeset
|
145 |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
146 public List<SQ> getSQs(int index) { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
147 switch (index) { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
148 case 0: return S_SF(); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
149 case 1: return S_SS(); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
150 case 2: return S_BL_S(); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
151 case 3: return S_BL_FG(); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
152 case 4: return S_BL_CG(); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
153 case 5: return S_BL(); |
8280
e8283197d889
Added new fraction to sq relation.
Raimund Renkert <rrenkert@intevation.de>
parents:
6780
diff
changeset
|
154 case 6: return S_BL2(); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
155 } |
3294
5e52202302e5
SQ relation: Handle the error case of accessing wrong indexed SQ relation more smoothly.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3290
diff
changeset
|
156 log.error("THIS SHOULD NOT HAPPEN: Tried to access SQ[" + index + "]"); |
5e52202302e5
SQ relation: Handle the error case of accessing wrong indexed SQ relation more smoothly.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3290
diff
changeset
|
157 return new ArrayList<SQ>(0); |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
158 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
159 |
4005
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
160 /** |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
161 * Gets the accumulated for this instance. |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
162 * |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
163 * @return The accumulated. |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
164 */ |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
165 public List<Measurement> getAccumulated() { |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
166 return this.accumulated; |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
167 } |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
168 |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
169 /** |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
170 * Sets the accumulated for this instance. |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
171 * |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
172 * @param accumulated The accumulated. |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
173 */ |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
174 public void setAccumulated(List<Measurement> accumulated) { |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
175 this.accumulated = accumulated; |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
176 } |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
177 |
22abdc45869c
Calculate S(Q) fractions
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4001
diff
changeset
|
178 |
3290
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
179 @Override |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
180 public String toString() { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
181 StringBuilder sb = new StringBuilder("Measurements ["); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
182 for (int i = 0, M = measuments.size(); i < M; ++i) { |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
183 if (i > 0) sb.append(", "); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
184 sb.append(measuments.get(i)); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
185 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
186 return sb.append(']').toString(); |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
187 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
188 } |
36f3b53d5cfc
SQ relation: Added infrastructure to extract fractions from measurments.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
189 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |