annotate artifacts/src/main/java/org/dive4elements/river/exports/WDifferencesCurveGenerator.java @ 6905:1b35b2ddfc28

Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 22 Aug 2013 23:31:38 +0200
parents aee8cb5c801a
children
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4047
diff changeset
9 package org.dive4elements.river.exports;
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
10
6596
8d1d90adc652 WDifferencesCurveGenerator: added a logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
11 import org.apache.log4j.Logger;
8d1d90adc652 WDifferencesCurveGenerator: added a logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
12
8d1d90adc652 WDifferencesCurveGenerator: added a logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
13 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
8d1d90adc652 WDifferencesCurveGenerator: added a logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
14 import org.dive4elements.artifactdatabase.state.Facet;
8d1d90adc652 WDifferencesCurveGenerator: added a logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
15
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4047
diff changeset
16 import org.dive4elements.river.artifacts.model.FacetTypes;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4047
diff changeset
17 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
18
6597
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
19 import org.dive4elements.river.exports.process.BedDiffYearProcessor;
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
20 import org.dive4elements.river.exports.process.BedDiffHeightYearProcessor;
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
21 import org.dive4elements.river.exports.process.BedheightProcessor;
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
22 import org.dive4elements.river.exports.process.Processor;
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6748
diff changeset
23 import org.dive4elements.river.themes.ThemeDocument;
6597
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
24
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
25 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
26 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
27
1151
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 /**
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
30 * 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
31 */
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
32 public class WDifferencesCurveGenerator
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
33 extends LongitudinalSectionGenerator
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
34 implements FacetTypes
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
35 {
6596
8d1d90adc652 WDifferencesCurveGenerator: added a logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
36 /** The logger that is used in this generator. */
8d1d90adc652 WDifferencesCurveGenerator: added a logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
37 private static Logger logger = Logger.getLogger(WDifferencesCurveGenerator.class);
8d1d90adc652 WDifferencesCurveGenerator: added a logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
38
1953
590d9bc88ff5 Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1948
diff changeset
39 public enum YAXIS {
590d9bc88ff5 Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1948
diff changeset
40 W(0),
590d9bc88ff5 Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1948
diff changeset
41 D(1),
1933
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
42 Q(2);
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
43 protected int idx;
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
44 private YAXIS(int c) {
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
45 idx = c;
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
46 }
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
47 }
9e9cfc036a3f Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1931
diff changeset
48
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
49 /** Key for internationalized title of WDiff charts. */
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
50 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
51
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
52 /** Default for internationalized title (when no translation found). */
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
53 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
54
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
55 public final static String I18N_WDIFF_SUBTITLE =
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
56 "chart.w_differences.subtitle";
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
57
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
58
2000
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
59 @Override
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
60 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
61 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
62 @Override
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
63 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
64 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
65 }
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
66
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
67 @Override
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
68 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
69 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
70 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
71 }
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
72 };
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
73 }
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
74
e71719483546 Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1989
diff changeset
75
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 * Get internationalized title for chart.
1755
f7072039ad84 Added default diff theme, avoid possible NPE.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1745
diff changeset
78 * @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
79 */
1755
f7072039ad84 Added default diff theme, avoid possible NPE.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1745
diff changeset
80 @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
81 public String getDefaultChartTitle() {
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
82 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
83 }
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
84
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
85
1989
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1953
diff changeset
86 @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
87 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
88 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
89 }
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1953
diff changeset
90
156304542edf Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1953
diff changeset
91
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
92 /**
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
93 * 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
94 * @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
95 */
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 @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
97 protected String getChartSubtitleKey() {
1701
6e59208839ae Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1700
diff changeset
98 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
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
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
6597
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
102 /** Handle additional facets (beddifferences). */
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
103 @Override
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6748
diff changeset
104 public void doOut(ArtifactAndFacet bundle, ThemeDocument attr, boolean visible) {
6597
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
105 super.doOut(bundle, attr, visible);
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
106
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
107 String name = bundle.getFacetName();
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
108 logger.debug("doOut: " + name);
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
109
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
110 if (name == null) {
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
111 logger.error("No facet name for doOut(). No output generated!");
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
112 return;
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
113 }
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
114
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
115 Facet facet = bundle.getFacet();
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
116
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
117 if (facet == null) {
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
118 return;
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
119 }
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
120
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
121 Processor bedp = new BedheightProcessor();
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
122 Processor bdyProcessor = new BedDiffYearProcessor();
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
123 Processor bdhyProcessor = new BedDiffHeightYearProcessor();
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
124
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
125 if (bedp.canHandle(name)) {
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
126 bedp.doOut(this, bundle, attr, visible, YAXIS.W.idx);
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
127 }
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
128 else if (bdyProcessor.canHandle(name)) {
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
129 bdyProcessor.doOut(this, bundle, attr, visible, YAXIS.W.idx);
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
130 }
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
131 else if (bdhyProcessor.canHandle(name)) {
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
132 bdhyProcessor.doOut(this, bundle, attr, visible, YAXIS.W.idx);
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
133 }
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
134 else {
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
135 logger.warn("WDifferencesCurveGenerator.doOut: unknown facet type " + name);
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
136 }
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
137 }
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
138
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
139
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
140 /**
6597
27f5182996ea issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6596
diff changeset
141 * Sets the zero base line visible.
1170
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
142 */
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
143 @Override
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
144 public JFreeChart generateChart() {
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
145 JFreeChart chart = super.generateChart();
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
146 if (chart != null && chart.getPlot() != null) {
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
147 XYPlot plot = (XYPlot) chart.getPlot();
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
148 plot.setRangeZeroBaselineVisible(true);
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
149 }
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
150 return chart;
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
151 }
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
152
1943
06d8d371d244 Fix compilation, default 0-excluding behavior of axes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1937
diff changeset
153
1170
1e1ef8b750db Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1162
diff changeset
154 /**
1151
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
155 * 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
156 * @return name of the series.
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 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
159 String name = wqkms.getName();
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
160 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
161 ? null
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
162 : mode;
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
163
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
164 return (prefix != null && prefix.length() > 0)
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
165 ? prefix + "(" + name +")"
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
166 : name;
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 }
08048bd090e6 Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
169 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org