Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/exports/WDifferencesCurveGenerator.java @ 6611:dfdeed3e997e
Shorten and correct waterlevel not in gauge string
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Thu, 18 Jul 2013 17:54:44 +0200 |
parents | 27f5182996ea |
children | aee8cb5c801a |
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.StyledSeriesBuilder; |
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.jfree.StyledXYSeries; |
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.artifacts.model.minfo.MorphologicWidth; |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
22 |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
23 |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
24 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
|
25 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
|
26 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
|
27 import org.dive4elements.river.exports.process.Processor; |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
28 |
3409
97ad960f5579
Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents:
3076
diff
changeset
|
29 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
|
30 import org.jfree.chart.plot.XYPlot; |
6597
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
31 import org.jfree.data.xy.XYSeries; |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
32 import org.w3c.dom.Document; |
3409
97ad960f5579
Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents:
3076
diff
changeset
|
33 |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
34 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
35 /** |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
36 * 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
|
37 */ |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
38 public class WDifferencesCurveGenerator |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
39 extends LongitudinalSectionGenerator |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
40 implements FacetTypes |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
41 { |
6596
8d1d90adc652
WDifferencesCurveGenerator: added a logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
42 /** The logger that is used in this generator. */ |
8d1d90adc652
WDifferencesCurveGenerator: added a logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
43 private static Logger logger = Logger.getLogger(WDifferencesCurveGenerator.class); |
8d1d90adc652
WDifferencesCurveGenerator: added a logger.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5994
diff
changeset
|
44 |
1953
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
45 public enum YAXIS { |
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
46 W(0), |
590d9bc88ff5
Refactored LongitudinalSection- and WDiff-Generators, fixed minor issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1948
diff
changeset
|
47 D(1), |
1933
9e9cfc036a3f
Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1931
diff
changeset
|
48 Q(2); |
9e9cfc036a3f
Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1931
diff
changeset
|
49 protected int idx; |
9e9cfc036a3f
Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1931
diff
changeset
|
50 private YAXIS(int c) { |
9e9cfc036a3f
Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1931
diff
changeset
|
51 idx = c; |
9e9cfc036a3f
Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1931
diff
changeset
|
52 } |
9e9cfc036a3f
Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1931
diff
changeset
|
53 } |
9e9cfc036a3f
Better use multiple axis feature in chart generators.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1931
diff
changeset
|
54 |
1701
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
55 /** Key for internationalized title of WDiff charts. */ |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
56 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
|
57 |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
58 /** Default for internationalized title (when no translation found). */ |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
59 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
|
60 |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
61 public final static String I18N_WDIFF_SUBTITLE = |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
62 "chart.w_differences.subtitle"; |
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
63 |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
64 |
2000
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1989
diff
changeset
|
65 @Override |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1989
diff
changeset
|
66 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
|
67 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
|
68 @Override |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1989
diff
changeset
|
69 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
|
70 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
|
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 @Override |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1989
diff
changeset
|
74 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
|
75 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
|
76 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
|
77 } |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1989
diff
changeset
|
78 }; |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1989
diff
changeset
|
79 } |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1989
diff
changeset
|
80 |
e71719483546
Improved the ChartSettings - now, each chart writes proper AxisSections into the ChartSettings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1989
diff
changeset
|
81 |
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
|
82 /** |
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 * Get internationalized title for chart. |
1755
f7072039ad84
Added default diff theme, avoid possible NPE.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1745
diff
changeset
|
84 * @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
|
85 */ |
1755
f7072039ad84
Added default diff theme, avoid possible NPE.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1745
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 public String getDefaultChartTitle() { |
1701
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
88 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
|
89 } |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
90 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
91 |
1989
156304542edf
Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1953
diff
changeset
|
92 @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
|
93 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
|
94 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
|
95 } |
156304542edf
Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1953
diff
changeset
|
96 |
156304542edf
Finished the ChartSection part of the chart Settings returned by the XYChartGenerator.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1953
diff
changeset
|
97 |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
98 /** |
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 * 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
|
100 * @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
|
101 */ |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1695
diff
changeset
|
102 @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
|
103 protected String getChartSubtitleKey() { |
1701
6e59208839ae
Expose translateable Strings as constants.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1700
diff
changeset
|
104 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
|
105 } |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1695
diff
changeset
|
106 |
13a9ee6cebef
Fix most labels in w-diff diagrams; refactoring to allow easier adoption of
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1695
diff
changeset
|
107 |
6597
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
108 /** 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
|
109 @Override |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
110 public void doOut(ArtifactAndFacet bundle, Document attr, boolean visible) { |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
111 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
|
112 |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
113 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
|
114 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
|
115 |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
116 if (name == null) { |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
117 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
|
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 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
|
122 |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
123 if (facet == null) { |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
124 return; |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
125 } |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
126 |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
127 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
|
128 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
|
129 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
|
130 |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
131 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
|
132 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
|
133 } |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
134 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
|
135 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
|
136 } |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
137 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
|
138 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
|
139 } |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
140 else { |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
141 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
|
142 } |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
143 } |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
144 |
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
145 |
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
|
146 /** |
6597
27f5182996ea
issue1395: Let WDifferencesCurveGenerator use Beddiff-processors to display beddiff data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6596
diff
changeset
|
147 * 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
|
148 */ |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
149 @Override |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
150 public JFreeChart generateChart() { |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
151 JFreeChart chart = super.generateChart(); |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
152 if (chart != null && chart.getPlot() != null) { |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
153 XYPlot plot = (XYPlot) chart.getPlot(); |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
154 plot.setRangeZeroBaselineVisible(true); |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
155 } |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
156 return chart; |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
157 } |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
158 |
1943
06d8d371d244
Fix compilation, default 0-excluding behavior of axes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1937
diff
changeset
|
159 |
1170
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
160 /** |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
161 * 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
|
162 * @return name of the series. |
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 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
|
165 String name = wqkms.getName(); |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
166 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
|
167 ? null |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
168 : mode; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
169 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
170 return (prefix != null && prefix.length() > 0) |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
171 ? prefix + "(" + name +")" |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
172 : name; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
173 } |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
174 } |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
175 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |