Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java @ 3459:7485338aedff
Also add Q-facets for fixrealization.
flys-artifacts/trunk@5125 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 25 Jul 2012 12:10:55 +0000 |
parents | 35ead8fadc36 |
children | d625f4d06b6a |
rev | line source |
---|---|
3413
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.artifacts.states.fixation; |
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
2 |
3414
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
3 import de.intevation.artifactdatabase.state.Facet; |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
4 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
5 import de.intevation.artifacts.CallContext; |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
6 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
7 import de.intevation.flys.artifacts.FLYSArtifact; |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
8 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
9 import de.intevation.flys.artifacts.access.FixRealizingAccess; |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
10 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
11 import de.intevation.flys.artifacts.model.CalculationResult; |
3457
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
12 import de.intevation.flys.artifacts.model.FacetTypes; |
3414
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
13 import de.intevation.flys.artifacts.model.ReportFacet; |
3459
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
14 import de.intevation.flys.artifacts.model.WQKms; |
3457
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
15 import de.intevation.flys.artifacts.model.WaterlevelFacet; |
3414
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
16 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
17 import de.intevation.flys.artifacts.model.fixings.FixRealizingCalculation; |
3457
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
18 import de.intevation.flys.artifacts.model.fixings.FixRealizingResult; |
3413
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
19 |
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
20 import de.intevation.flys.artifacts.states.DefaultState; |
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
21 |
3414
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
22 import java.util.List; |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
23 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
24 import org.apache.log4j.Logger; |
3413
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
25 |
3457
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
26 |
3413
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
27 /** |
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
28 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
29 */ |
3457
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
30 public class FixRealizingCompute extends DefaultState implements FacetTypes { |
3413
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
31 |
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
32 /** The logger used in this class. */ |
3457
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
33 private static Logger logger = Logger.getLogger(FixRealizingCompute.class); |
3413
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
34 |
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
35 /** |
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
36 * The default constructor that initializes an empty State object. |
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
37 */ |
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
38 public FixRealizingCompute() { |
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
39 } |
3414
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
40 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
41 @Override |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
42 public Object computeAdvance( |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
43 FLYSArtifact artifact, |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
44 String hash, |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
45 CallContext context, |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
46 List<Facet> facets, |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
47 Object old |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
48 ) { |
3457
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
49 logger.debug("FixRealizingCompute.computeAdvance"); |
3414
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
50 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
51 CalculationResult res; |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
52 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
53 FixRealizingAccess access = |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
54 new FixRealizingAccess(artifact); |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
55 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
56 if (old instanceof CalculationResult) { |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
57 res = (CalculationResult)old; |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
58 } |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
59 else { |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
60 FixRealizingCalculation calc = new FixRealizingCalculation(access); |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
61 res = calc.calculate(); |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
62 } |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
63 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
64 if (facets == null) { |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
65 return res; |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
66 } |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
67 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
68 if (res.getReport().hasProblems()) { |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
69 facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id)); |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
70 } |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
71 |
3457
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
72 // TODO: Add more facets. |
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
73 FixRealizingResult fr = (FixRealizingResult) res.getData(); |
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
74 |
3459
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
75 /* |
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
76 facets.add( |
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
77 new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id)); |
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
78 */ |
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
79 |
3457
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
80 // WaterlevelFacet |
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
81 // Also: DataFacet and WQstuff |
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
82 // TODO naming, i18n. |
35ead8fadc36
Add waterlevel facet and longitudinal_section out for fixationrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3414
diff
changeset
|
83 String nameW = "waterlevel"; |
3459
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
84 String nameQ = "discharge"; |
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
85 WQKms[] wqkms = fr.getWQKms(); |
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
86 for (int i = 0; i < wqkms.length; i++) { |
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
87 facets.add(new WaterlevelFacet( |
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
88 i, LONGITUDINAL_W, nameW, ComputeType.ADVANCE, id, hash)); |
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
89 facets.add(new WaterlevelFacet( |
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
90 i, LONGITUDINAL_Q, nameQ, ComputeType.ADVANCE, id, hash)); |
7485338aedff
Also add Q-facets for fixrealization.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3457
diff
changeset
|
91 } |
3414
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
92 |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
93 return res; |
1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3413
diff
changeset
|
94 } |
3413
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
95 } |
4c4d88c0af6a
FixA: Renamed FixationVolmerCompute to FixRealizingCompute.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
96 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |