Mercurial > dive4elements > river
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 : |