annotate artifacts/src/main/java/org/dive4elements/river/exports/WDifferencesCurveGenerator.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-artifacts/src/main/java/org/dive4elements/river/exports/WDifferencesCurveGenerator.java@bd047b71ab37
children 4897a58c8746
rev   line source
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4047
diff changeset
1 package org.dive4elements.river.exports;
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
2
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4047
diff changeset
3 import org.dive4elements.river.artifacts.model.FacetTypes;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4047
diff changeset
4 import org.dive4elements.river.artifacts.model.WKms;
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
5
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
6 import org.jfree.chart.JFreeChart;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
7 import org.jfree.chart.plot.XYPlot;
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
8
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
9
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 * 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
12 */
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
13 public class WDifferencesCurveGenerator
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
14 extends LongitudinalSectionGenerator
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
15 implements FacetTypes
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
16 {
1953
590d9bc88ff5 Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1948
diff changeset
17 public enum YAXIS {
590d9bc88ff5 Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1948
diff changeset
18 W(0),
590d9bc88ff5 Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1948
diff changeset
19 D(1),
1933
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
20 Q(2);
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
21 protected int idx;
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
22 private YAXIS(int c) {
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
23 idx = c;
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
24 }
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
25 }
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
26
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
27 /** Key for internationalized title of WDiff charts. */
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
28 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
29
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
30 /** Default for internationalized title (when no translation found). */
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
31 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
32
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
33 public final static String I18N_WDIFF_SUBTITLE =
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
34 "chart.w_differences.subtitle";
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
35
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
36
2000
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
37 @Override
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
38 protected YAxisWalker getYAxisWalker() {
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
39 return new YAxisWalker() {
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
40 @Override
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
41 public int length() {
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
42 return YAXIS.values().length;
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
43 }
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
44
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
45 @Override
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
46 public String getId(int idx) {
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
47 YAXIS[] yaxes = YAXIS.values();
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
48 return yaxes[idx].toString();
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
49 }
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
50 };
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
51 }
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
52
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
53
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
54 /**
13a9ee6cebef Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1695
diff changeset
55 * Get internationalized title for chart.
1755
f7072039ad84 Added default diff theme, avoid possible NPE.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1745
diff changeset
56 * @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
57 */
1755
f7072039ad84 Added default diff theme, avoid possible NPE.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1745
diff changeset
58 @Override
2048
3157a78e6494 Improved chart title and subtitle creation in ChartGenerators - all ChartGenerators make now use of title and subtitle provided by ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2000
diff changeset
59 public String getDefaultChartTitle() {
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
60 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
61 }
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
62
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
63
1989
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1953
diff changeset
64 @Override
2048
3157a78e6494 Improved chart title and subtitle creation in ChartGenerators - all ChartGenerators make now use of title and subtitle provided by ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2000
diff changeset
65 protected String getDefaultChartSubtitle() {
1989
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1953
diff changeset
66 return getRiverName();
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1953
diff changeset
67 }
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1953
diff changeset
68
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1953
diff changeset
69
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
70 /**
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 * 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
72 * @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
73 */
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 @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
75 protected String getChartSubtitleKey() {
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
76 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
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
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
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 /**
3076
5642a83420f2 FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2048
diff changeset
81 *
1170
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
82 */
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
83 @Override
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
84 public JFreeChart generateChart() {
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
85 JFreeChart chart = super.generateChart();
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
86 if (chart != null && chart.getPlot() != null) {
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
87 XYPlot plot = (XYPlot) chart.getPlot();
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
88 plot.setRangeZeroBaselineVisible(true);
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
89 }
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
90 return chart;
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
91 }
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
92
1943
06d8d371d244 Fix compilation, default 0-excluding behavior of axes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
93
1170
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
94 /**
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
95 * 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
96 * @return name of the series.
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
97 */
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
98 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
99 String name = wqkms.getName();
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
100 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
101 ? null
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
102 : mode;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
103
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
104 return (prefix != null && prefix.length() > 0)
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
105 ? prefix + "(" + name +")"
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
106 : name;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
107 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
108 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
109 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org