annotate artifacts/src/main/java/org/dive4elements/river/exports/extreme/ExtremeWQCurveGenerator.java @ 9556:9b8e8fc1f408

Use facetName in all processors as themeType for legend aggregation.
author gernotbelger
date Tue, 23 Oct 2018 16:26:58 +0200
parents 1cc7653ca84f
children
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
9 package org.dive4elements.river.exports.extreme;
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
10
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
11 import java.awt.Color;
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
12
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
13 import org.apache.log4j.Logger;
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
14 import org.jfree.chart.JFreeChart;
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
15 import org.jfree.chart.plot.Marker;
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
16 import org.jfree.chart.plot.ValueMarker;
6559
6791411ed1fc issue1370: Force second axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6483
diff changeset
17 import org.jfree.chart.plot.XYPlot;
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
18 import org.jfree.chart.title.TextTitle;
4362
17251b058bf1 ExtremeWQCurveGenerator: Reuse prerpareChartData, handle new extreme_wq_curve_base facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4345
diff changeset
19 import org.jfree.data.xy.XYSeries;
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
20
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
21 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
22 import org.dive4elements.artifacts.CallContext;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
23 import org.dive4elements.river.artifacts.access.FixAnalysisAccess;
6466
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
24 import org.dive4elements.river.artifacts.D4EArtifact;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
25 import org.dive4elements.river.artifacts.model.DateRange;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
26 import org.dive4elements.river.artifacts.model.FacetTypes;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
27 import org.dive4elements.river.artifacts.model.extreme.Curve;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
28 import org.dive4elements.river.artifacts.model.extreme.ExtremeCurveFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
29 import org.dive4elements.river.artifacts.resources.Resources;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
30 import org.dive4elements.river.exports.fixings.FixWQCurveGenerator;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
31 import org.dive4elements.river.exports.StyledSeriesBuilder;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
32 import org.dive4elements.river.jfree.JFreeUtil;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
33 import org.dive4elements.river.jfree.StyledXYSeries;
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
34
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6559
diff changeset
35 import org.dive4elements.river.themes.ThemeDocument;
6466
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
36 import org.dive4elements.river.utils.RiverUtils;
4390
c624aa9ca4cf ExtremeWQCurveGenerator: Respect theme prop about showing the extrapol-line.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4388
diff changeset
37
c624aa9ca4cf ExtremeWQCurveGenerator: Respect theme prop about showing the extrapol-line.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4388
diff changeset
38
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
39 /**
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
40 * Generator for WQ fixing charts.
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
41 * @author <a href="mailto:christian.lins@intevation.de">Christian Lins</a>
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
42 */
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
43 public class ExtremeWQCurveGenerator
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
44 extends FixWQCurveGenerator
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
45 implements FacetTypes
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
46 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
47 /** Private log. */
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
48 private static Logger log =
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
49 Logger.getLogger(ExtremeWQCurveGenerator.class);
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
50
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
51 public static final String I18N_CHART_TITLE =
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
52 "chart.extreme.wq.title";
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
53
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
54 public static final String I18N_CHART_SUBTITLE =
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
55 "chart.extreme.wq.subtitle";
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
56
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
57 public static final String I18N_CHART_SUBTITLE1 =
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
58 "chart.extreme.wq.subtitle1";
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
59
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
60 public static final String I18N_XAXIS_LABEL =
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
61 "chart.extreme.wq.xaxis.label";
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
62
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
63 public static final String I18N_YAXIS_LABEL =
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
64 "chart.extreme.wq.yaxis.label";
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
65
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
66 public static final String I18N_CHART_TITLE_DEFAULT =
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
67 "Extremkurvenanalyse";
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
68
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
69 public static final String I18N_XAXIS_LABEL_DEFAULT =
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
70 "Q [m\u00B3/s]";
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
71
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
72 public static final String I18N_YAXIS_LABEL_DEFAULT =
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
73 "W [NN + m]";
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
74
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
75
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
76 /** First, ask parent to add data, then handle extreme_wq_curve(_base)
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
77 * data.*/
4362
17251b058bf1 ExtremeWQCurveGenerator: Reuse prerpareChartData, handle new extreme_wq_curve_base facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4345
diff changeset
78 @Override
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
79 public boolean prepareChartData(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
80 ArtifactAndFacet aaf,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
81 ThemeDocument theme,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
82 boolean visible
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
83 ) {
6466
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
84 if (super.prepareChartData(aaf, theme, visible)) {
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
85 return true;
4362
17251b058bf1 ExtremeWQCurveGenerator: Reuse prerpareChartData, handle new extreme_wq_curve_base facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4345
diff changeset
86 }
6466
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
87
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
88 String name = aaf.getFacetName();
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
89 if (name.equals(EXTREME_WQ_CURVE)) {
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
90 doExtremeCurveOut(aaf, theme, visible);
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
91 return true;
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
92 }
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
93 else if (name.equals(EXTREME_WQ_CURVE_BASE)) {
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
94 doExtremeCurveBaseOut(aaf, theme, visible);
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
95 return true;
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
96 }
cf514239d290 Removed indentation and added doc for prepare*Data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6101
diff changeset
97 return false;
4362
17251b058bf1 ExtremeWQCurveGenerator: Reuse prerpareChartData, handle new extreme_wq_curve_base facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4345
diff changeset
98 }
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
99
6559
6791411ed1fc issue1370: Force second axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6483
diff changeset
100 /** Overriden to show second axis also if no visible data present. */
6791411ed1fc issue1370: Force second axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6483
diff changeset
101 @Override
6791411ed1fc issue1370: Force second axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6483
diff changeset
102 protected void adjustAxes(XYPlot plot) {
6791411ed1fc issue1370: Force second axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6483
diff changeset
103 super.adjustAxes(plot);
6791411ed1fc issue1370: Force second axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6483
diff changeset
104 if (getCurrentGaugeDatum() != 0d) {
6791411ed1fc issue1370: Force second axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6483
diff changeset
105 // Show the W[*m] axis even if there is no data.
6791411ed1fc issue1370: Force second axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6483
diff changeset
106 plot.setRangeAxis(1, createYAxis(YAXIS.W.idx));
6791411ed1fc issue1370: Force second axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6483
diff changeset
107 }
6791411ed1fc issue1370: Force second axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6483
diff changeset
108 }
6791411ed1fc issue1370: Force second axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6483
diff changeset
109
4362
17251b058bf1 ExtremeWQCurveGenerator: Reuse prerpareChartData, handle new extreme_wq_curve_base facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4345
diff changeset
110 /** Do Extreme Curve nonextrapolated points out. */
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
111 protected void doExtremeCurveBaseOut(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
112 ArtifactAndFacet aaf,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
113 ThemeDocument theme,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
114 boolean visible
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
115 ) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
116 log.debug("doExtremeCurveBaseOut");
4362
17251b058bf1 ExtremeWQCurveGenerator: Reuse prerpareChartData, handle new extreme_wq_curve_base facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4345
diff changeset
117 ExtremeCurveFacet facet = (ExtremeCurveFacet) aaf.getFacet();
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
118 Curve curve = (Curve) facet.getData(aaf.getArtifact(), getContext());
4362
17251b058bf1 ExtremeWQCurveGenerator: Reuse prerpareChartData, handle new extreme_wq_curve_base facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4345
diff changeset
119 if (curve == null) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
120 log.warn("doExtremeCurveBaseOut: Facet does not contain Curve");
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
121 return;
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
122 }
4362
17251b058bf1 ExtremeWQCurveGenerator: Reuse prerpareChartData, handle new extreme_wq_curve_base facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4345
diff changeset
123
9556
9b8e8fc1f408 Use facetName in all processors as themeType for legend aggregation.
gernotbelger
parents: 9123
diff changeset
124 XYSeries qwseries = new StyledXYSeries(aaf.getFacetName(),
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
125 aaf.getFacetDescription(), theme);
4736
b195fede1c3b Remove trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4433
diff changeset
126
6471
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
127 double gaugeDatum = getCurrentGaugeDatum();
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
128
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
129 if (gaugeDatum == 0d) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
130 StyledSeriesBuilder.addPointsQW(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
131 qwseries, curve.getQs(), curve.getWs());
6471
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
132 addAxisSeries(qwseries, YAXIS.W.idx, visible);
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
133 }
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
134 else {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
135 XYSeries series2 =
9556
9b8e8fc1f408 Use facetName in all processors as themeType for legend aggregation.
gernotbelger
parents: 9123
diff changeset
136 new StyledXYSeries(aaf.getFacetName(), aaf.getFacetDescription(), theme);
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
137 StyledSeriesBuilder.addPointsQW(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
138 series2, curve.getQs(), curve.getWs());
6471
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
139 addAxisSeries(series2, YAXIS.W.idx, false);
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
140
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
141 StyledSeriesBuilder.addPointsQW(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
142 qwseries, curve.getQs(), curve.getWs(), -gaugeDatum, 100d);
6471
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
143
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
144 addAxisSeries(qwseries, YAXIS.WCm.idx, visible);
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
145 }
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
146
c5eaa1fcd52b ExtremeWQCurveGenerator: Put data on cm axis if at gauge.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6469
diff changeset
147 //addAxisSeries(qwseries, YAXIS.W.idx, visible);
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
148 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
149
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
150
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
151 /** Do Extreme Curve out */
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
152 protected void doExtremeCurveOut(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
153 ArtifactAndFacet aaf,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
154 ThemeDocument theme,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
155 boolean visible
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
156 ) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
157 log.debug("doExtremeCurveOut");
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
158 ExtremeCurveFacet facet = (ExtremeCurveFacet) aaf.getFacet();
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
159 Curve curve = (Curve) facet.getData(aaf.getArtifact(), getContext());
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
160 if (curve == null) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
161 log.warn("doExtremeCurveOut: Facet does not contain Curve");
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
162 return;
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
163 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
164
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
165 double maxQ = curve.getSuggestedMaxQ();
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
166 if (maxQ == Double.MAX_VALUE) {
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
167 maxQ = 8000;
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
168 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
169
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
170 StyledXYSeries series = JFreeUtil.sampleFunction2D(
9556
9b8e8fc1f408 Use facetName in all processors as themeType for legend aggregation.
gernotbelger
parents: 9123
diff changeset
171 aaf.getFacetName(),
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
172 curve,
4362
17251b058bf1 ExtremeWQCurveGenerator: Reuse prerpareChartData, handle new extreme_wq_curve_base facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4345
diff changeset
173 theme,
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
174 aaf.getFacetDescription(),
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
175 500, // number of samples
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
176 0.0 , // start
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
177 maxQ); // end
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
178
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
179 // Add marker from where on its extrapolated.
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6559
diff changeset
180 if (theme.parseShowExtraMark()) {
4390
c624aa9ca4cf ExtremeWQCurveGenerator: Respect theme prop about showing the extrapol-line.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4388
diff changeset
181 double[] qs = curve.getQs();
c624aa9ca4cf ExtremeWQCurveGenerator: Respect theme prop about showing the extrapol-line.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4388
diff changeset
182 double extrapolateFrom = qs[qs.length-1];
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
183
4390
c624aa9ca4cf ExtremeWQCurveGenerator: Respect theme prop about showing the extrapol-line.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4388
diff changeset
184 Marker m = new ValueMarker(extrapolateFrom);
c624aa9ca4cf ExtremeWQCurveGenerator: Respect theme prop about showing the extrapol-line.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4388
diff changeset
185 m.setPaint(Color.black);
c624aa9ca4cf ExtremeWQCurveGenerator: Respect theme prop about showing the extrapol-line.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4388
diff changeset
186 addDomainMarker(m);
c624aa9ca4cf ExtremeWQCurveGenerator: Respect theme prop about showing the extrapol-line.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4388
diff changeset
187 }
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
188
6468
5de3388c5978 ExtremeWQCurveGenerator: Do not use axis index directly. never.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6466
diff changeset
189 addAxisSeries(series, YAXIS.W.idx, visible);
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
190 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
191
4362
17251b058bf1 ExtremeWQCurveGenerator: Reuse prerpareChartData, handle new extreme_wq_curve_base facet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4345
diff changeset
192
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
193 @Override
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
194 protected String getChartTitle(final CallContext context) {
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
195 return Resources.format(
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
196 getContext().getMeta(),
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
197 I18N_CHART_TITLE,
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
198 I18N_CHART_TITLE_DEFAULT,
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
199 getContext().getContextValue(CURRENT_KM));
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
200 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
201
4388
7fc4855ecd26 ExtremeWQCurveGenerator: Removed more or less dead code.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4387
diff changeset
202
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
203 @Override
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
204 protected String getDefaultChartTitle(final CallContext context) {
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
205 return msg(I18N_CHART_TITLE, I18N_CHART_TITLE_DEFAULT);
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
206 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
207
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
208 @Override
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
209 protected String getDefaultChartSubtitle(final CallContext context) {
6101
a0078e5e3b39 Removed unused context from RangeAccess and subclasses leading to some dead code removal.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
210 FixAnalysisAccess access = new FixAnalysisAccess(artifact);
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
211 DateRange dateRange = access.getDateRange();
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
212 DateRange refRange = access.getReferencePeriod();
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
213
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
214 if (dateRange != null && refRange != null) {
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
215 return Resources.format(
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
216 getContext().getMeta(),
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
217 I18N_CHART_SUBTITLE,
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
218 "",
7261
a56fe3bc6700 Refactoring: Let RiverAccess.getRiver return an River.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6905
diff changeset
219 access.getRiverName(),
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
220 dateRange.getFrom(),
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
221 dateRange.getTo(),
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
222 refRange.getFrom(),
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
223 refRange.getTo());
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
224 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
225
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
226 return null;
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
227 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
228
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
229 @Override
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
230 protected void addSubtitles(final CallContext context, JFreeChart chart) {
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
231 String defaultSubtitle = getDefaultChartSubtitle(context);
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
232
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
233 if (defaultSubtitle == null || defaultSubtitle.length() == 0) {
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
234 return;
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
235 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
236
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
237 chart.addSubtitle(new TextTitle(defaultSubtitle));
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
238 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
239
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
240 @Override
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
241 protected String getDefaultXAxisLabel(final CallContext context) {
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
242 return msg(I18N_XAXIS_LABEL, I18N_XAXIS_LABEL_DEFAULT);
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
243 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
244
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
245 @Override
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
246 protected String getDefaultYAxisLabel(int pos) {
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8856
diff changeset
247 D4EArtifact flys = getArtifact();
6469
cce8c5f59053 ExtremeWQCurveGenerator: Fix axis labels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6468
diff changeset
248
cce8c5f59053 ExtremeWQCurveGenerator: Fix axis labels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6468
diff changeset
249 String unit = RiverUtils.getRiver(flys).getWstUnit().getName();
6483
0534ff91e499 issue1370: ExtremeWQCurveGenerator: correct second y axis label (cm).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6471
diff changeset
250 if (pos == 0) {
6469
cce8c5f59053 ExtremeWQCurveGenerator: Fix axis labels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6468
diff changeset
251 unit = "cm";
6483
0534ff91e499 issue1370: ExtremeWQCurveGenerator: correct second y axis label (cm).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6471
diff changeset
252 }
6469
cce8c5f59053 ExtremeWQCurveGenerator: Fix axis labels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6468
diff changeset
253
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
254 return msg(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
255 I18N_YAXIS_LABEL,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
256 I18N_YAXIS_LABEL_DEFAULT,
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8786
diff changeset
257 new Object[] { unit });
4345
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
258 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
259 }
8eabbc5198e1 Added new Generator: ExtremeWQCurveGenerator (and its *Info*-counterpart).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
260 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org