annotate flys-artifacts/src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java @ 1745:4ae7df2a74ed

Fix NPE in WDiff-diagram because no ranges present in masterartifact. flys-artifacts/trunk@3039 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 19 Oct 2011 16:06:01 +0000
parents 25d481cad4fb
children f7072039ad84
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;
1653
73794985a899 Enable auto-scaling axis for waterlevels in WDifference-plots.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1646
diff changeset
10 import org.jfree.data.Range;
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
11
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
12 import org.w3c.dom.Document;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
13
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
14 import de.intevation.artifacts.Artifact;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
15
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
16 import de.intevation.artifactdatabase.state.Facet;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
17
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
18 import de.intevation.flys.artifacts.FLYSArtifact;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
19 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
20 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
21
1162
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
22 import de.intevation.flys.utils.DataUtil;
1627
d1b20d0e9eb4 Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1170
diff changeset
23
d1b20d0e9eb4 Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1170
diff changeset
24 import de.intevation.flys.artifacts.model.WQKms;
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
25 import de.intevation.flys.utils.FLYSUtils;
1162
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
26
1151
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 /**
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
29 * 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
30 */
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
31 public class WDifferencesCurveGenerator
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
32 extends LongitudinalSectionGenerator
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
33 implements FacetTypes
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
34 {
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
35 /** 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
36 private static Logger logger =
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
37 Logger.getLogger(WDifferencesCurveGenerator.class);
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
38
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
39 /** Key for internationalized title of WDiff charts. */
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
40 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
41
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
42 /** Default for internationalized title (when no translation found). */
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
43 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
44
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
45 /** Key for internationalized title of WDiff charts. */
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
46 public final static String I18N_WDIFF_2YAXIS_LABEL =
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
47 "chart.w_differences.yaxis.second.label";
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 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
50 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
51
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
52 public final static String I18N_WDIFF_SUBTITLE =
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
53 "chart.w_differences.subtitle";
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
54
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
55 public final static String I18N_WDIFF_YAXIS_LABEL =
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
56 "chart.w_differences.yaxis.label";
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
57
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
58 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
59
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
60
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
61 /**
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
62 * Get internationalized title for chart.
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
63 */
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
64 public String getChartTitle() {
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
65 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
66 }
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
67
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
68
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
69 /**
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
70 * 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
71 * found).
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
72 */
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
73 @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
74 protected String get2YAxisDefaultLabel() {
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
75 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
76 }
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
77
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
78
1745
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
79
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
80 /**
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
81 * 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
82 * @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
83 */
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 @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
85 protected String getChartSubtitleKey() {
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
86 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
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 /**
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 * Get key for internationalization of the second Y-Axis' label.
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 get2YAxisLabelKey() {
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
95 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
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 internationalized label for the y axis.
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
101 */
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 @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
103 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
104 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
105
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 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
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 return msg(
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
109 I18N_WDIFF_YAXIS_LABEL,
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
110 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
111 new Object[] { unit });
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
112 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
113
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
114
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
115 /**
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
116 * Add (themed) data for chart generation.
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
117 */
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
118 @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
119 public void doOut(
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
120 Artifact artifact,
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
121 Facet facet,
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
122 Document 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
123 boolean visible
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
124 ) {
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
125 String name = facet.getName();
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 logger.debug("WDifferencesCurveGenerator.doOut: " + name);
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
128
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
129 if (name == null) {
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
130 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
131 return;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
132 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
133
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
134 FLYSArtifact flys = (FLYSArtifact) artifact;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
135 Facet f = flys.getNativeFacet(facet);
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 if (f == null) {
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
138 return;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
139 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
140
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
141 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
142 doWDifferencesOut(
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
143 (WKms) f.getData(artifact, context),
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
144 facet,
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 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
146 visible);
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
147 }
1627
d1b20d0e9eb4 Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1170
diff changeset
148 else if (name.equals(LONGITUDINAL_W)) {
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
149 doWOut((WQKms) f.getData(artifact, context), facet, attr, visible);
1627
d1b20d0e9eb4 Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1170
diff changeset
150 }
1733
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
151 else if (name.equals("other.wkms")) {
1734
25d481cad4fb Simplified handling of W(Q)Kms data to plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1733
diff changeset
152 doWOut((WKms) f.getData(artifact, context), facet, 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
153 }
1695
0c9f7cc2cc11 In WDifferenceCurveGenerator use slightly modified doWOut-implementation of LongitudinalSectionGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1684
diff changeset
154 else {
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
155 logger.warn("Unknown facet name: " + name);
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
156 return;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
157 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
158 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
159
1170
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
160
1640
fb296bdf815f Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1627
diff changeset
161 /**
fb296bdf815f Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1627
diff changeset
162 * 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
163 * differences were calculated).
1695
0c9f7cc2cc11 In WDifferenceCurveGenerator use slightly modified doWOut-implementation of LongitudinalSectionGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1684
diff changeset
164 *
1640
fb296bdf815f Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1627
diff changeset
165 * @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
166 * @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
167 */
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
168 protected void doWOut(
1734
25d481cad4fb Simplified handling of W(Q)Kms data to plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1733
diff changeset
169 WKms wkms,
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
170 Facet facet,
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
171 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
172 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
173 ) {
1695
0c9f7cc2cc11 In WDifferenceCurveGenerator use slightly modified doWOut-implementation of LongitudinalSectionGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1684
diff changeset
174 logger.debug("WDifferencesCurveGenerator.doWOut");
1627
d1b20d0e9eb4 Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1170
diff changeset
175
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
176 XYSeries series = new StyledXYSeries(facet.getDescription(), theme);
1627
d1b20d0e9eb4 Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1170
diff changeset
177
1733
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
178 int size = wkms.size();
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
179
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
180 for (int i = 0; i < size; i++) {
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
181 series.add(wkms.getKm(i), wkms.getW(i));
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
182 }
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
183
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
184 // 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
185 // (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
186 // addFirstAxisSeries() .
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
187 addSecondAxisSeries(series, visible);
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
188
1734
25d481cad4fb Simplified handling of W(Q)Kms data to plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1733
diff changeset
189 if (wkms instanceof WQKms) {
25d481cad4fb Simplified handling of W(Q)Kms data to plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1733
diff changeset
190 if (needInvertAxis((WQKms) wkms)) {
25d481cad4fb Simplified handling of W(Q)Kms data to plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1733
diff changeset
191 setInverted(true);
25d481cad4fb Simplified handling of W(Q)Kms data to plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1733
diff changeset
192 }
1733
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
193 }
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
194 }
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
195
1745
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
196 /**
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
197 * 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
198 * 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
199 * @see getChartSubtitleKey
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
200 */
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
201 @Override
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
202 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
203
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
204 // TODO i18n
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 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
207 getRiverName()
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 */
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
210 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
211 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
212 }
4ae7df2a74ed Fix NPE in WDiff-diagram because no ranges present in masterartifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1734
diff changeset
213
1733
ffab6de07dc5 In WDiff-diagram generation respect other.wkms facets (flood-prot, zus).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1712
diff changeset
214
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
215 /**
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
216 * 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
217 */
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
218 protected void doWDifferencesOut(
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
219 WKms wkms,
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
220 Facet facet,
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
221 Document theme,
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
222 boolean visible
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 ) {
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
224 logger.debug("WDifferencesCurveGenerator.doWDifferencesOut");
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
225 if (wkms == null) {
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
226 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
227 return;
1162
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
228 }
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
229
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
230 int size = wkms.size();
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
231 XYSeries series = new StyledXYSeries(facet.getDescription(), theme);
1162
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
232
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
233 if (logger.isDebugEnabled()) {
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
234 if (wkms.size() > 0) {
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
235 logger.debug("Generate series: " + series.getKey());
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
236 logger.debug("Start km: " + wkms.getKm(0));
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
237 logger.debug("End km: " + wkms.getKm(size-1));
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
238 logger.debug("Values : " + size);
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
239 }
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
240 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
241
1162
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
242 for (int i = 0; i < size; i++) {
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
243 series.add(wkms.getKm(i), wkms.getW(i));
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
244 }
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
245
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
246 addFirstAxisSeries(series, visible);
1678
03fbf1b30e72 Removed code duplication of guessWaterIncreasing()
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1653
diff changeset
247 if (DataUtil.guessWaterIncreasing(wkms.allWs())) {
1162
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
248 setInverted(true);
588798ef4791 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1158
diff changeset
249 }
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
250 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
251
1653
73794985a899 Enable auto-scaling axis for waterlevels in WDifference-plots.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1646
diff changeset
252 /**
73794985a899 Enable auto-scaling axis for waterlevels in WDifference-plots.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1646
diff changeset
253 * Disable Longitudinals behaviour to include "0" in the Q axis.
73794985a899 Enable auto-scaling axis for waterlevels in WDifference-plots.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1646
diff changeset
254 * @param range range with which to look up upper bound.
73794985a899 Enable auto-scaling axis for waterlevels in WDifference-plots.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1646
diff changeset
255 * @return range to be used for "auto-scaling" axis.
73794985a899 Enable auto-scaling axis for waterlevels in WDifference-plots.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1646
diff changeset
256 */
73794985a899 Enable auto-scaling axis for waterlevels in WDifference-plots.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1646
diff changeset
257 @Override
73794985a899 Enable auto-scaling axis for waterlevels in WDifference-plots.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1646
diff changeset
258 protected Range createSecondAxisRange(Range range) {
73794985a899 Enable auto-scaling axis for waterlevels in WDifference-plots.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1646
diff changeset
259 return new Range(range.getLowerBound(), range.getUpperBound());
73794985a899 Enable auto-scaling axis for waterlevels in WDifference-plots.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1646
diff changeset
260 }
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
261
1653
73794985a899 Enable auto-scaling axis for waterlevels in WDifference-plots.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1646
diff changeset
262
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
263 /**
1170
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 */
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
266 @Override
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
267 public JFreeChart generateChart() {
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
268 JFreeChart chart = super.generateChart();
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
269 if (chart != null && chart.getPlot() != null) {
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
270 XYPlot plot = (XYPlot) chart.getPlot();
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
271 plot.setRangeZeroBaselineVisible(true);
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
272 }
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
273 return chart;
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
274 }
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
275
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
276 /**
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
277 * 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
278 * @return name of the series.
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
279 */
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
280 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
281 String name = wqkms.getName();
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
282 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
283 ? null
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
284 : mode;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
285
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
286 return (prefix != null && prefix.length() > 0)
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
287 ? prefix + "(" + name +")"
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
288 : name;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
289 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
290 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
291 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org