annotate flys-artifacts/src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java @ 1948:65f9d707caff

Removed superfluous imports. flys-artifacts/trunk@3340 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 30 Nov 2011 12:06:32 +0000
parents 21a4d2c677a1
children 590d9bc88ff5
rev   line source
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.exports;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
2
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
3 import org.apache.log4j.Logger;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
4
1745
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
5 import org.jfree.chart.title.TextTitle;
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
6
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
7 import org.jfree.chart.JFreeChart;
1170
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
8 import org.jfree.chart.plot.XYPlot;
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
9 import org.jfree.data.xy.XYSeries;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
10
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
11 import org.w3c.dom.Document;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
12
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
13 import de.intevation.flys.artifacts.FLYSArtifact;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
14 import de.intevation.flys.artifacts.model.FacetTypes;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
15 import de.intevation.flys.artifacts.model.WKms;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
16
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
17 import de.intevation.artifactdatabase.state.ArtifactAndFacet;
1627
d1b20d0e9eb4 Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1170
diff changeset
18
d1b20d0e9eb4 Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1170
diff changeset
19 import de.intevation.flys.artifacts.model.WQKms;
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
20 import de.intevation.flys.utils.DataUtil;
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
21 import de.intevation.flys.utils.FLYSUtils;
1162
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
22
1861
11c4b1429117 Cosmetics, resolve code duplicate.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1853
diff changeset
23 import de.intevation.flys.jfree.FLYSAnnotation;
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
24
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
25 /**
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
26 * An OutGenerator that generates w differences curves.
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
27 */
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
28 public class WDifferencesCurveGenerator
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
29 extends LongitudinalSectionGenerator
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
30 implements FacetTypes
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
31 {
1933
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
32 public static enum YAXIS {
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
33 D(0),
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
34 W(1),
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
35 Q(2);
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
36 protected int idx;
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
37 private YAXIS(int c) {
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
38 idx = c;
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
39 }
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
40 }
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
41
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
42 /** The logger that is used in this generator. */
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
43 private static Logger logger =
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
44 Logger.getLogger(WDifferencesCurveGenerator.class);
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
45
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
46 /** Key for internationalized title of WDiff charts. */
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
47 public final static String I18N_WDIFF_TITLE = "chart.w_differences.title";
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
48
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
49 /** Default for internationalized title (when no translation found). */
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
50 public final static String I18N_WDIFF_TITLE_DEFAULT = "Differences";
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
51
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
52 /** Key for internationalized title of WDiff charts. */
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
53 public final static String I18N_WDIFF_2YAXIS_LABEL =
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
54 "chart.w_differences.yaxis.second.label";
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
55
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
56 /** Default for label for second Y-Axis when no translation found. */
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
57 public final static String I18N_WDIFF_2YAXIS_LABEL_DEFAULT = "W [NN + m]";
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
58
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
59 public final static String I18N_WDIFF_SUBTITLE =
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
60 "chart.w_differences.subtitle";
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
61
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
62 public final static String I18N_WDIFF_YAXIS_LABEL =
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
63 "chart.w_differences.yaxis.label";
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
64
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
65 public final static String I18N_WDIFF_YAXIS_LABEL_DEFAULT = "m";
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
66
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
67
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
68 /**
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
69 * Get internationalized title for chart.
1755
f7072039ad84 Added default diff theme, avoid possible NPE.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1745
diff changeset
70 * @return internationalized Chart title.
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
71 */
1755
f7072039ad84 Added default diff theme, avoid possible NPE.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1745
diff changeset
72 @Override
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
73 public String getChartTitle() {
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
74 return msg(I18N_WDIFF_TITLE, I18N_WDIFF_TITLE_DEFAULT);
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
75 }
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
76
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
77
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
78 /**
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
79 * Get default value for the second Y-Axis' label (if no translation was
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
80 * found).
1755
f7072039ad84 Added default diff theme, avoid possible NPE.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1745
diff changeset
81 * @return default value for second y-axis label.
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
82 */
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
83 @Override
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
84 protected String get2YAxisDefaultLabel() {
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
85 return I18N_WDIFF_2YAXIS_LABEL_DEFAULT;
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
86 }
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
87
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
88
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
89 /**
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
90 * Gets key to look up internationalized String for the charts subtitle.
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
91 * @return key to look up translated subtitle.
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
92 */
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
93 @Override
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
94 protected String getChartSubtitleKey() {
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
95 return I18N_WDIFF_SUBTITLE;
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
96 }
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
97
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
98
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
99 /**
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
100 * Get key for internationalization of the second Y-Axis' label.
1755
f7072039ad84 Added default diff theme, avoid possible NPE.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1745
diff changeset
101 * @return internationalized second y-axis.
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
102 */
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
103 @Override
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
104 protected String get2YAxisLabelKey() {
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
105 return I18N_WDIFF_2YAXIS_LABEL;
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
106 }
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
107
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
108
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
109 /**
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
110 * Get internationalized label for the y axis.
1755
f7072039ad84 Added default diff theme, avoid possible NPE.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1745
diff changeset
111 * @return internationalized label for y axos.
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
112 */
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
113 @Override
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
114 protected String getYAxisLabel() {
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
115 FLYSArtifact flys = (FLYSArtifact) master;
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
116
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
117 String unit = FLYSUtils.getRiver(flys).getWstUnit().getName();
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
118
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
119 return msg(
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
120 I18N_WDIFF_YAXIS_LABEL,
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
121 I18N_WDIFF_YAXIS_LABEL_DEFAULT,
1700
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
122 new Object[] { unit });
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
123 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
124
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
125
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
126 /**
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
127 * Add (themed) data for chart generation.
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
128 */
1684
bdb05dc9b763 Bugfix: #353 Enabled chart's to be drawn with proper axes set even if no data is contained.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1678
diff changeset
129 @Override
bdb05dc9b763 Bugfix: #353 Enabled chart's to be drawn with proper axes set even if no data is contained.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1678
diff changeset
130 public void doOut(
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
131 ArtifactAndFacet artifactAndFacet,
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
132 Document attr,
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
133 boolean visible
1684
bdb05dc9b763 Bugfix: #353 Enabled chart's to be drawn with proper axes set even if no data is contained.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1678
diff changeset
134 ) {
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
135 String name = artifactAndFacet.getFacetName();
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
136
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
137 logger.debug("WDifferencesCurveGenerator.doOut: " + name);
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
138
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
139 if (name == null) {
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
140 logger.error("No facet name for doOut(). No output generated!");
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
141 return;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
142 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
143
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
144 if (name.equals(W_DIFFERENCES)) {
1684
bdb05dc9b763 Bugfix: #353 Enabled chart's to be drawn with proper axes set even if no data is contained.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1678
diff changeset
145 doWDifferencesOut(
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
146 (WKms) artifactAndFacet.getData(context),
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
147 artifactAndFacet.getFacetDescription(),
1684
bdb05dc9b763 Bugfix: #353 Enabled chart's to be drawn with proper axes set even if no data is contained.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1678
diff changeset
148 attr,
bdb05dc9b763 Bugfix: #353 Enabled chart's to be drawn with proper axes set even if no data is contained.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1678
diff changeset
149 visible);
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
150 }
1627
d1b20d0e9eb4 Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1170
diff changeset
151 else if (name.equals(LONGITUDINAL_W)) {
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
152 doWOut((WQKms) artifactAndFacet.getData(context),
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
153 artifactAndFacet.getFacetDescription(), attr, visible);
1627
d1b20d0e9eb4 Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1170
diff changeset
154 }
1853
5b2122a8bcbf Handle Height marks with point styles in WDifferences Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1791
diff changeset
155 else if (name.equals(STATIC_WKMS) || name.equals(HEIGHTMARKS_POINTS)) {
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
156 doWOut((WKms) artifactAndFacet.getData(context),
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
157 artifactAndFacet.getFacetDescription(), attr, visible);
1733
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
158 }
1789
205eb6f124a5 Load and display annotations in w-difference diagrams, minor polishing.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1755
diff changeset
159 else if (name.equals(LONGITUDINAL_ANNOTATION)) {
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
160 doAnnotations((FLYSAnnotation) artifactAndFacet.getData(context),
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
161 artifactAndFacet.getFacet(), attr, visible);
1789
205eb6f124a5 Load and display annotations in w-difference diagrams, minor polishing.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1755
diff changeset
162 }
1695
0c9f7cc2cc11 In WDifferenceCurveGenerator use slightly modified doWOut-implementation of LongitudinalSectionGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1684
diff changeset
163 else {
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
164 logger.warn("Unknown facet name: " + name);
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
165 return;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
166 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
167 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
168
1170
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
169
1640
fb296bdf815f Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1627
diff changeset
170 /**
fb296bdf815f Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1627
diff changeset
171 * Add the waterlevel-curves (the "absolutes" from which
fb296bdf815f Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1627
diff changeset
172 * differences were calculated).
1695
0c9f7cc2cc11 In WDifferenceCurveGenerator use slightly modified doWOut-implementation of LongitudinalSectionGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1684
diff changeset
173 *
1640
fb296bdf815f Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1627
diff changeset
174 * @param wqkms The wqkms to add to the diagram.
1695
0c9f7cc2cc11 In WDifferenceCurveGenerator use slightly modified doWOut-implementation of LongitudinalSectionGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1684
diff changeset
175 * @param theme The theme that contains styling information.
1640
fb296bdf815f Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1627
diff changeset
176 */
1712
7e19449d7826 #253 Modified the title creation of chart curves - titles will now equal the Facet's description.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1708
diff changeset
177 protected void doWOut(
1734
25d481cad4fb Simplified handling of W(Q)Kms data to plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1733
diff changeset
178 WKms wkms,
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
179 String description,
1712
7e19449d7826 #253 Modified the title creation of chart curves - titles will now equal the Facet's description.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1708
diff changeset
180 Document theme,
7e19449d7826 #253 Modified the title creation of chart curves - titles will now equal the Facet's description.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1708
diff changeset
181 boolean visible
7e19449d7826 #253 Modified the title creation of chart curves - titles will now equal the Facet's description.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1708
diff changeset
182 ) {
1695
0c9f7cc2cc11 In WDifferenceCurveGenerator use slightly modified doWOut-implementation of LongitudinalSectionGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1684
diff changeset
183 logger.debug("WDifferencesCurveGenerator.doWOut");
1627
d1b20d0e9eb4 Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1170
diff changeset
184
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
185 XYSeries series = new StyledXYSeries(description, theme);
1627
d1b20d0e9eb4 Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1170
diff changeset
186
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1789
diff changeset
187 StyledSeriesBuilder.addPoints(series, wkms);
1733
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
188
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
189 // Note: the only difference in the super-implementation
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
190 // (in LongitudinalSectionGenerator) is here (adds with
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
191 // addFirstAxisSeries() .
1933
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
192 addAxisSeries(series, YAXIS.W.idx, visible);
1733
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
193
1734
25d481cad4fb Simplified handling of W(Q)Kms data to plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1733
diff changeset
194 if (wkms instanceof WQKms) {
25d481cad4fb Simplified handling of W(Q)Kms data to plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1733
diff changeset
195 if (needInvertAxis((WQKms) wkms)) {
25d481cad4fb Simplified handling of W(Q)Kms data to plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1733
diff changeset
196 setInverted(true);
25d481cad4fb Simplified handling of W(Q)Kms data to plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1733
diff changeset
197 }
1733
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
198 }
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
199 }
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
200
1745
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
201 /**
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
202 * Add (internationalized) subtitle to chart.
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
203 * Overridden to avoid trying to access the range of masterartifact.
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
204 * @see getChartSubtitleKey
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
205 */
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
206 @Override
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
207 protected void addSubtitles(JFreeChart chart) {
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
208
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
209 // TODO i18n
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
210 /*
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
211 Object[] args = new Object[] {
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
212 getRiverName()
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
213 };
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
214 */
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
215 String subtitle = getRiverName();
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
216 chart.addSubtitle(new TextTitle(subtitle));
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
217 }
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
218
1733
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
219
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
220 /**
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
221 * Add items to dataseries which describes the differences.
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
222 */
1684
bdb05dc9b763 Bugfix: #353 Enabled chart's to be drawn with proper axes set even if no data is contained.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1678
diff changeset
223 protected void doWDifferencesOut(
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
224 WKms wkms,
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
225 String description,
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
226 Document theme,
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
227 boolean visible
1684
bdb05dc9b763 Bugfix: #353 Enabled chart's to be drawn with proper axes set even if no data is contained.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1678
diff changeset
228 ) {
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
229 logger.debug("WDifferencesCurveGenerator.doWDifferencesOut");
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
230 if (wkms == null) {
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
231 logger.warn("No data to add to WDifferencesChart.");
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
232 return;
1162
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
233 }
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
234
1944
21a4d2c677a1 Changed doOut signature, side effect from blackboard feature (to come).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1943
diff changeset
235 XYSeries series = new StyledXYSeries(description, theme);
1162
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
236
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
237 if (logger.isDebugEnabled()) {
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
238 if (wkms.size() > 0) {
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
239 logger.debug("Generate series: " + series.getKey());
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
240 logger.debug("Start km: " + wkms.getKm(0));
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1789
diff changeset
241 logger.debug("End km: " + wkms.getKm(wkms.size()-1));
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1789
diff changeset
242 logger.debug("Values : " + wkms.size());
1162
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
243 }
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
244 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
245
1791
e0e5a5b51a40 Added new StyledSeriesBuilder class and use it when adding points to XYSeries (in diagram generation).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1789
diff changeset
246 StyledSeriesBuilder.addPoints(series, wkms);
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
247
1933
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
248 addAxisSeries(series, YAXIS.D.idx, visible);
1678
03fbf1b30e72 Removed code duplication of guessWaterIncreasing()
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1653
diff changeset
249 if (DataUtil.guessWaterIncreasing(wkms.allWs())) {
1162
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
250 setInverted(true);
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
251 }
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
252 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
253
1931
7c52e9cb2a72 Allow more than two datasets and more flexibility with axes in plots. Based on patch by S. Teichmann.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1861
diff changeset
254
1653
73794985a899 Enable auto-scaling axis for waterlevels in WDifference-plots.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1646
diff changeset
255 /**
1170
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
256 *
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
257 */
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
258 @Override
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
259 public JFreeChart generateChart() {
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
260 JFreeChart chart = super.generateChart();
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
261 if (chart != null && chart.getPlot() != null) {
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
262 XYPlot plot = (XYPlot) chart.getPlot();
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
263 plot.setRangeZeroBaselineVisible(true);
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
264 }
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
265 return chart;
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
266 }
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
267
1943
06d8d371d244 Fix compilation, default 0-excluding behavior of axes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
268
1170
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
269 /**
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
270 * Get name of series (displayed in legend).
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
271 * @return name of the series.
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
272 */
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
273 protected String getSeriesName(WKms wqkms, String mode) {
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
274 String name = wqkms.getName();
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
275 String prefix = (name != null && name.indexOf(mode) >= 0)
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
276 ? null
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
277 : mode;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
278
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
279 return (prefix != null && prefix.length() > 0)
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
280 ? prefix + "(" + name +")"
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
281 : name;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
282 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
283 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
284 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org