annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/ReferenceCurveFacet.java @ 7300:83bb52fa0c32

(issue1529) Be more tolerant in the fitting. The invalid value warning is removed because invalid data is expected there when datapoints are not valid for this KM
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 11 Oct 2013 18:40:33 +0200
parents af13ceeba52a
children 0beb34d55630
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: 5867
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: 5867
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: 3076
diff changeset
9 package org.dive4elements.river.artifacts.model;
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10
2756
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
11 import java.util.ArrayList;
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2221
diff changeset
12 import java.util.List;
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2405
diff changeset
13 import java.util.Collections;
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2221
diff changeset
14
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3076
diff changeset
15 import org.dive4elements.artifactdatabase.state.Facet;
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3076
diff changeset
17 import org.dive4elements.artifacts.Artifact;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3076
diff changeset
18 import org.dive4elements.artifacts.CallContext;
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
20 import org.dive4elements.river.artifacts.D4EArtifact;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3076
diff changeset
21 import org.dive4elements.river.artifacts.WINFOArtifact;
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3076
diff changeset
23 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType;
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25 import org.apache.log4j.Logger;
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26
2756
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
27
2221
fdeb6d61c24c Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2198
diff changeset
28 /** Facet for W-over-Ws. */
3076
5642a83420f2 FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2756
diff changeset
29 public class ReferenceCurveFacet
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30 extends DataFacet
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 {
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2405
diff changeset
32 private static Logger log = Logger.getLogger(ReferenceCurveFacet.class);
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2221
diff changeset
33
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2405
diff changeset
34 public static final String CONTEXT_KEY = "reference.curve.axis.scale";
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
35
2756
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
36 /** Blackboard data provider key for reference curves start km. */
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
37 public static final String BB_REFERENCECURVE_STARTKM =
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
38 "reference_curve.startkm";
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
39
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
40 /** Blackboard data provider key for reference curves end kms. */
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
41 public static final String BB_REFERENCECURVE_ENDKMS =
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
42 "reference_curve.endkms";
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
43
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
44
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45 public ReferenceCurveFacet() {
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
46 }
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
47
2756
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
48
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
49 public ReferenceCurveFacet(int index, String name, String description) {
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50 super(index, name, description, ComputeType.ADVANCE, null, null);
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 }
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52
2756
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
53
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54 public ReferenceCurveFacet(
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55 int index,
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
56 String name,
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
57 String description,
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 ComputeType type,
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59 String stateID,
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60 String hash
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61 ) {
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
62 super(index, name, description, type, hash, stateID);
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
63 }
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
64
2756
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
65
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66 public Object getData(Artifact artifact, CallContext context) {
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
67
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
68 if (log.isDebugEnabled()) {
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
69 log.debug("Get data for reference curve at index: " + index +
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
70 " /stateId: " + stateId);
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
71 }
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
72
2283
d4330439be3a Let reference curve calculation result in wwqq.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
73 return getWWQQ(artifact, context);
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2221
diff changeset
74 }
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2221
diff changeset
75
2756
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
76
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
77 /**
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
78 * Can provide parameters of reference curve
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
79 * @param key will respond on BB_REFERENCECURVE START/ENDKMS
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
80 * @param param ignored
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
81 * @param context ignored
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
82 * @return whatever parameters for reference curve
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
83 */
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
84 @Override
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
85 public Object provideBlackboardData(Artifact artifact,
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
86 Object key,
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
87 Object param,
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
88 CallContext context
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
89 ) {
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
90 WINFOArtifact winfo = (WINFOArtifact) artifact;
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
91 if (key.equals(BB_REFERENCECURVE_STARTKM)) {
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
92 return winfo.getReferenceStartKm();
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
93 }
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
94 else if (key.equals(BB_REFERENCECURVE_ENDKMS)) {
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
95 return winfo.getReferenceEndKms();
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
96 }
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
97 else {
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
98 return null;
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
99 }
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
100 }
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
101
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
102
2283
d4330439be3a Let reference curve calculation result in wwqq.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
103 protected WWQQ getWWQQ(Artifact artifact, CallContext context) {
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
104 D4EArtifact winfo = (D4EArtifact)artifact;
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
105
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
106 CalculationResult res = (CalculationResult)
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
107 winfo.compute(context, hash, stateId, type, false);
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
108
2283
d4330439be3a Let reference curve calculation result in wwqq.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
109 return ((WWQQ [])res.getData())[index];
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
110 }
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
111
2756
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
112
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
113 @Override
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
114 public void set(Facet other) {
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
115 super.set(other);
2405
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
116 ReferenceCurveFacet o = (ReferenceCurveFacet)other;
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
117 type = o.type;
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
118 hash = o.hash;
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
119 stateId = o.stateId;
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
120 }
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
121
2756
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
122
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
123 /** Copy deeply. */
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
124 @Override
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
125 public Facet deepCopy() {
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
126 ReferenceCurveFacet copy = new ReferenceCurveFacet();
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
127 copy.set(this);
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
128 return copy;
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
129 }
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2221
diff changeset
130
2756
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
131
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
132 @Override
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
133 public List getStaticDataProviderKeys(Artifact art) {
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
134 List list = new ArrayList();
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
135 list.add(BB_REFERENCECURVE_STARTKM);
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
136 list.add(BB_REFERENCECURVE_ENDKMS);
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
137 return list;
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
138 }
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
139
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
140
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2221
diff changeset
141 @Override
2405
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
142 public List getDataProviderKeys(Artifact art, CallContext context) {
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2405
diff changeset
143
2405
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
144 // compute / get data
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2405
diff changeset
145 Object obj = context.getContextValue(CONTEXT_KEY);
2405
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
146
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
147 if (!(obj instanceof WWAxisTypes)) {
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
148 obj = new WWAxisTypes(getWWQQ(art, context));
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2405
diff changeset
149 context.putContextValue(CONTEXT_KEY, obj);
2405
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
150 }
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
151 else {
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
152 ((WWAxisTypes)obj).classify(getWWQQ(art, context));
f008c3335a77 Towards fixe of flys/issue495.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2402
diff changeset
153 }
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2221
diff changeset
154
2756
ba15eb120a02 Expose reference curve parameters via blackboard.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2407
diff changeset
155 return getStaticDataProviderKeys(art);//Collections.emptyList();
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2221
diff changeset
156 }
2196
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
157 }
5f3726f31f00 "Bezugslinienverfahren": Added facet classes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
158 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org