Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/exports/WDifferencesCurveGenerator.java @ 6981:2fed93751ecb
issue1457: Handle symbolic discharge of -1 as 'no discharge'.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 10 Sep 2013 11:49:01 +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 : |