annotate artifacts/src/main/java/org/dive4elements/river/exports/WDifferencesCurveGenerator.java @ 7076:7f600001c807 generator-refactoring

Add LTR inversion code to diagram generator. This code is used in serveral diagrams and as it modifies a whole diagram it should be central. (This should also make maintenance easier). This function can be called by processors to make sure that their data is plotted with an LTR waterflow.
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 20 Sep 2013 16:33:22 +0200
parents 1b35b2ddfc28
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