annotate flys-artifacts/src/main/java/de/intevation/flys/exports/ReferenceCurveGenerator.java @ 4242:448cbd8708d5

Added new classes for the last commit.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 24 Oct 2012 14:44:12 +0200
parents 572384206fe0
children e8a4d2fd25cc
rev   line source
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.exports;
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
2
2263
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
3 import de.intevation.artifactdatabase.state.ArtifactAndFacet;
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
4 import de.intevation.flys.artifacts.model.FacetTypes;
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
5 import de.intevation.flys.artifacts.model.WW;
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
6 import de.intevation.flys.artifacts.model.WW.ApplyFunctionIterator;
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
7 import de.intevation.flys.artifacts.model.WWAxisTypes;
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
8 import de.intevation.flys.jfree.FLYSAnnotation;
2263
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
9 import de.intevation.flys.jfree.StyledXYSeries;
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
10 import de.intevation.flys.utils.Formatter;
2245
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
11
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
12 import java.awt.geom.Point2D;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
13
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
14 import org.apache.log4j.Logger;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
15 import org.jfree.chart.axis.NumberAxis;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
16 import org.jfree.chart.axis.NumberTickUnit;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
17 import org.jfree.chart.axis.TickUnits;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
18 import org.jfree.chart.axis.ValueAxis;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
19 import org.jfree.data.xy.XYSeries;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
20 import org.w3c.dom.Document;
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
21
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
22 /**
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
23 * An OutGenerator that generates reference curves.
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
24 */
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
25 public class ReferenceCurveGenerator
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
26 extends XYChartGenerator
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
27 implements FacetTypes
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
28 {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
29 public static enum YAXIS {
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
30 W(0);
2266
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
31
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
32 public int idx;
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
33 private YAXIS(int c) {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
34 idx = c;
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
35 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
36 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
37
2266
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
38 /** House logger. */
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
39 private static Logger logger =
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
40 Logger.getLogger(ReferenceCurveGenerator.class);
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
41
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
42 public static final String I18N_CHART_TITLE =
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
43 "chart.reference.curve.title";
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
44
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
45 public static final String I18N_CHART_SUBTITLE =
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
46 "chart.reference.curve.subtitle";
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
47
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
48 public static final String I18N_X_AXIS_IN_CM =
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
49 "chart.reference.curve.x.axis.in.cm";
2263
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
50
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
51 public static final String I18N_X_AXIS_IN_M =
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
52 "chart.reference.curve.x.axis.in.m";
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
53
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
54 public static final String I18N_Y_AXIS_IN_CM =
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
55 "chart.reference.curve.y.axis.in.cm";
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
56
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
57 public static final String I18N_Y_AXIS_IN_M =
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
58 "chart.reference.curve.y.axis.in.m";
2266
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
59
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
60 public static final String I18N_CHART_TITLE_DEFAULT =
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
61 "Bezugslinie";
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
62
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
63
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
64 public ReferenceCurveGenerator() {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
65 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
66
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
67 /**
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
68 * Create Axis for given index.
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
69 * @return axis with according internationalized label.
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
70 */
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
71 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
72 protected NumberAxis createYAxis(int index) {
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
73 NumberAxis axis = super.createYAxis(index);
2323
6bbb8295fd64 Fixed problems with incluing zeros in reference curves.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2303
diff changeset
74 axis.setAutoRangeIncludesZero(false);
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
75 return axis;
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
76 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
77
2263
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
78
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
79 /** Get default chart title. */
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
80 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
81 protected String getDefaultChartTitle() {
2263
bdd032bfd978 Minor i18n for reference curve chart added.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2256
diff changeset
82 return msg(I18N_CHART_TITLE, I18N_CHART_TITLE_DEFAULT);
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
83 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
84
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
85 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
86 protected String getDefaultChartSubtitle() {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
87 Object[] args = new Object[] {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
88 getRiverName(),
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
89 };
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
90
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
91 return msg(I18N_CHART_SUBTITLE, "", args);
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
92 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
93
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
94
3567
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
95 /** True if axis is in cm (because at gauge). */
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
96 protected boolean getInCm(int index) {
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
97 Object obj = context.getContextValue("reference.curve.axis.scale");
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
98 return obj instanceof WWAxisTypes && ((WWAxisTypes)obj).getInCm(index);
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
99 }
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
100
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
101
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
102 /** Get Label for X-axis (W). */
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
103 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
104 protected String getDefaultXAxisLabel() {
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
105 return msg(getInCm(0) ? I18N_X_AXIS_IN_CM : I18N_X_AXIS_IN_M);
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
106 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
107
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
108
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
109 /**
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
110 * Get Label for primary and other Y Axes.
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
111 * @param index Axis-Index (0-based).
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
112 */
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
113 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
114 protected String getDefaultYAxisLabel(int index) {
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
115 return msg(getInCm(1) ? I18N_Y_AXIS_IN_CM : I18N_Y_AXIS_IN_M);
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
116 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
117
2408
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
118 protected String facetName() {
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
119 return REFERENCE_CURVE;
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
120 }
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
121
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
122
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
123 /**
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
124 * Called for each facet/them in the out mapped to this generator.
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
125 * @param artifactFacet artifact and facet for this theme.
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
126 * @param theme styling info.
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
127 * @param visible Whether or not the theme is visible.
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
128 */
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
129 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
130 public void doOut(
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
131 ArtifactAndFacet artifactFacet,
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
132 Document theme,
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
133 boolean visible
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
134 ) {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
135 String name = artifactFacet.getFacetName();
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
136
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
137 logger.debug("ReferenceCurveGenerator.doOut: " + name);
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
138
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
139 if (name == null || name.length() == 0) {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
140 logger.error("No facet given. Cannot create dataset.");
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
141 return;
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
142 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
143
2408
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
144 if (name.equals(facetName())) {
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
145 doReferenceOut(artifactFacet.getData(context), theme, visible);
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
146 }
2299
094b4abde10e fix flys/issue474 (manual points in reference curves).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2278
diff changeset
147 else if (FacetTypes.IS.MANUALPOINTS(name)) {
2325
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2323
diff changeset
148 doPoints(
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2323
diff changeset
149 artifactFacet.getData(context),
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2323
diff changeset
150 artifactFacet,
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2323
diff changeset
151 theme,
1fcaeced48f2 #485 Fixed broken renaming of chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2323
diff changeset
152 visible,
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
153 YAXIS.W.idx);
2299
094b4abde10e fix flys/issue474 (manual points in reference curves).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2278
diff changeset
154 }
2758
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
155 else if (name.equals(RELATIVE_POINT)) {
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
156 doPointOut(
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
157 (Point2D) artifactFacet.getData(context),
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
158 artifactFacet,
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
159 theme,
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
160 visible);
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
161 }
2769
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
162 else if (name.equals(MAINVALUES_W)) {
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
163 doAnnotations(
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
164 ((FLYSAnnotation) artifactFacet.getData(context)).flipStickyAxis(),
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
165 artifactFacet,
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
166 theme,
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
167 visible);
3076
5642a83420f2 FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2769
diff changeset
168
2769
de60d1dfdcdf Let Generators handle slightly more types.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2758
diff changeset
169 }
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
170 else {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
171 logger.warn("Unknown facet name: " + name);
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
172 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
173 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
174
2408
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
175 protected boolean doNormalize() {
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
176 return false;
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
177 }
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
178
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
179
2266
c9a40e3fdf16 Added a second Y axis for ReferenceCurveGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2263
diff changeset
180 /** Register DataSeries with (maybe transformed) points. */
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
181 public void doReferenceOut(
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
182 Object data,
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
183 Document theme,
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
184 boolean visible
2245
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
185 ) {
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2253
diff changeset
186 WW ww = (WW)data;
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2253
diff changeset
187
2278
08bb95e1fc41 "Bezugslinienverfahren": Fetch axis types from call context.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2266
diff changeset
188 Object obj = context.getContextValue("reference.curve.axis.scale");
08bb95e1fc41 "Bezugslinienverfahren": Fetch axis types from call context.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2266
diff changeset
189
08bb95e1fc41 "Bezugslinienverfahren": Fetch axis types from call context.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2266
diff changeset
190 WWAxisTypes wwat = obj instanceof WWAxisTypes
08bb95e1fc41 "Bezugslinienverfahren": Fetch axis types from call context.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2266
diff changeset
191 ? (WWAxisTypes)obj
08bb95e1fc41 "Bezugslinienverfahren": Fetch axis types from call context.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2266
diff changeset
192 : new WWAxisTypes(ww);
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2253
diff changeset
193
2408
8e2ae8813a06 'Bezugslinien': normalized reference curve is now derived from reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2407
diff changeset
194 ApplyFunctionIterator iter = wwat.transform(ww, doNormalize());
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
195
2253
707b47d8c554 Dont sort the data series in reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2251
diff changeset
196 XYSeries series = new StyledXYSeries(
2256
dd93a8e1377a First steps to serve the data in cm if we are are gauges only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2253
diff changeset
197 ww.getName(), false, theme);
2245
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
198
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
199 double [] values = new double[2];
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
200
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
201 while (iter.hasNext()) {
16598bd04f70 Use the ApplyFunctionIterator in reference curve generation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2229
diff changeset
202 iter.next(values);
2253
707b47d8c554 Dont sort the data series in reference curve.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2251
diff changeset
203 series.add(values[0], values[1], false);
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
204 }
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
205
2407
dce0cc856357 'Bezugslinien': Added axis labels matching the displayed data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2325
diff changeset
206 addAxisSeries(series, YAXIS.W.idx, visible);
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
207 }
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
208
2758
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
209 // TODO resolve duplicate in DurationCurveGenerator
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
210 protected void doPointOut(
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
211 Point2D point,
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
212 ArtifactAndFacet aandf,
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
213 Document theme,
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
214 boolean visible
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
215 ){
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
216 logger.debug("ReferenceCurveGenerator.doPointOut");
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
217
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
218 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
219
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
220 series.add(point.getX(), point.getY());
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
221
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
222 addAxisSeries(series, YAXIS.W.idx, visible);
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
223 }
b05faaa9099b Create points for ref.curve in facet, handle these in generator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2603
diff changeset
224
3567
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
225
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
226 /** Set the tick units for given axis. */
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
227 protected void setAxisTickUnit(double tick, ValueAxis axis) {
2603
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
228 TickUnits units = new TickUnits();
3567
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
229 units.add(new NumberTickUnit(tick, Formatter.getWaterlevelW(context)));
2603
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
230 axis.setStandardTickUnits(units);
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
231 axis.setAutoTickUnitSelection(true);
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
232 }
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
233
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
234 @Override
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
235 protected void localizeDomainAxis(ValueAxis domainAxis) {
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
236 super.localizeDomainAxis(domainAxis);
3567
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
237 if (getInCm(0)) {
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
238 setAxisTickUnit(100d, domainAxis);
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
239 }
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
240 else {
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
241 setAxisTickUnit(1d, domainAxis);
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
242 }
2603
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
243 }
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
244
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
245
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
246 @Override
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
247 protected void localizeRangeAxis(ValueAxis rangeAxis) {
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
248 super.localizeRangeAxis(rangeAxis);
3567
572384206fe0 Fix issue795.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3409
diff changeset
249 setAxisTickUnit(1d, rangeAxis);
2603
664f97b6d48f Applied patch from flys/issue639
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2408
diff changeset
250 }
2229
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
251
9dc81827b187 Add some fake 'input' data for reference curve. plot references curves from input km to input km +2.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2218
diff changeset
252 /** Get Walker to iterate over all axes. */
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
253 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
254 protected YAxisWalker getYAxisWalker() {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
255 return new YAxisWalker() {
2246
99ef93ce18bd Doc added and fix getAxisWalker-issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2245
diff changeset
256 /** Get number of items. */
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
257 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
258 public int length() {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
259 return YAXIS.values().length;
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
260 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
261
2246
99ef93ce18bd Doc added and fix getAxisWalker-issue.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2245
diff changeset
262 /** Get identifier for this index. */
2218
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
263 @Override
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
264 public String getId(int idx) {
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
265 YAXIS[] yaxes = YAXIS.values();
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
266 return yaxes[idx].toString();
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
267 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
268 };
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
269 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
270 }
39933df6d0fe Addes stub for ReferenceCurve*Generator
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
271 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org