Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixDeviationFacet.java @ 4655:cd44d28d0fbc
Move the access to artifact data to the Access object
Use BedHeightAccess class to receive the data from the artifact. This abstracts
the data access from the actual artifact.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Tue, 11 Dec 2012 09:44:04 +0100 |
parents | 26774405c884 |
children | acfd48384835 |
rev | line source |
---|---|
3131
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.artifacts.model.fixings; |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 import de.intevation.artifacts.Artifact; |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 import de.intevation.artifacts.CallContext; |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 import de.intevation.flys.artifacts.FLYSArtifact; |
3408
50d61a2494cb
FixA: Renamed FixationArtifactAccess to FixAnalysisAccess
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3203
diff
changeset
|
7 import de.intevation.flys.artifacts.access.FixAnalysisAccess; |
3131
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 import de.intevation.flys.artifacts.model.CalculationResult; |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 import de.intevation.flys.artifacts.model.FacetTypes; |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 import de.intevation.flys.artifacts.model.Parameters; |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 import de.intevation.flys.artifacts.states.DefaultState.ComputeType; |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 import org.apache.log4j.Logger; |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 /** |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 * Facet to show the W|Q values. |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 * |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 */ |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 public class FixDeviationFacet |
4442
26774405c884
Introduce a new FixingsFacet to add save access to the current Km
Björn Ricks <bjoern.ricks@intevation.de>
parents:
3415
diff
changeset
|
24 extends FixingsFacet |
3131
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 implements FacetTypes { |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 /** House logger. */ |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 private static Logger logger = Logger.getLogger(FixDeviationFacet.class); |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 |
3415
e3c7a3228bc2
FixA: Renamed FixResult to FixAnalysisResult.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3408
diff
changeset
|
30 public static final String [] STD_DEV_COLUMN = { "std-dev" }; |
3131
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 /** Trivial Constructor. */ |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 public FixDeviationFacet() { |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 } |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 /** |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 * @param name |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 */ |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 public FixDeviationFacet(String name, String description) { |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 super(0, name, description, ComputeType.ADVANCE, null, null); |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 } |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 |
3192
cd309f8597f6
Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents:
3139
diff
changeset
|
44 public FixDeviationFacet(int index, String name, String description) { |
cd309f8597f6
Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents:
3139
diff
changeset
|
45 super(index, name, description, ComputeType.ADVANCE, null, null); |
cd309f8597f6
Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents:
3139
diff
changeset
|
46 } |
cd309f8597f6
Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents:
3139
diff
changeset
|
47 |
3131
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 /** |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 * Returns the data this facet requires. |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 * |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 * @param artifact the owner artifact. |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 * @param context the CallContext (ignored). |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 * |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 * @return the data. |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 */ |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 @Override |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 public Object getData(Artifact artifact, CallContext context) { |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 logger.debug("FixDeviationFacet.getData"); |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 if (artifact instanceof FLYSArtifact) { |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 FLYSArtifact flys = (FLYSArtifact)artifact; |
3408
50d61a2494cb
FixA: Renamed FixationArtifactAccess to FixAnalysisAccess
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3203
diff
changeset
|
62 FixAnalysisAccess access = new FixAnalysisAccess(flys); |
3131
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 CalculationResult res = |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 (CalculationResult) flys.compute(context, |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 ComputeType.ADVANCE, |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 false); |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 |
3415
e3c7a3228bc2
FixA: Renamed FixResult to FixAnalysisResult.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3408
diff
changeset
|
69 FixAnalysisResult result = (FixAnalysisResult) res.getData(); |
4442
26774405c884
Introduce a new FixingsFacet to add save access to the current Km
Björn Ricks <bjoern.ricks@intevation.de>
parents:
3415
diff
changeset
|
70 double currentKm = getCurrentKm(context); |
3131
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
72 Parameters params = result.getParameters(); |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 double[] stdDev = |
3415
e3c7a3228bc2
FixA: Renamed FixResult to FixAnalysisResult.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3408
diff
changeset
|
75 params.interpolate("km", currentKm, STD_DEV_COLUMN); |
3131
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 |
3415
e3c7a3228bc2
FixA: Renamed FixResult to FixAnalysisResult.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3408
diff
changeset
|
77 if (stdDev == null) { |
3131
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 logger.warn("getData: stdDev == null at km " + currentKm); |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 return null; |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 } |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 return stdDev; |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 } |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 else { |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 logger.debug("Not an instance of FixationArtifact."); |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 return null; |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 } |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 } |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 /** |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 * Create a deep copy of this Facet. |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 * @return a deep copy. |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 */ |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 @Override |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 public FixDerivateFacet deepCopy() { |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
97 FixDerivateFacet copy = new FixDerivateFacet(); |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 copy.set(this); |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 return copy; |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 } |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 } |
bac0b2721451
FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |