Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/WDifferencesCurveGenerator.java @ 1646:614ffddb860e
Removed superfluous imports
flys-artifacts/trunk@2833 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 27 Sep 2011 10:15:27 +0000 |
parents | fb296bdf815f |
children | 73794985a899 |
rev | line source |
---|---|
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.exports; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
2 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
3 import org.apache.log4j.Logger; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
4 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
5 import org.jfree.chart.JFreeChart; |
1170
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
6 import org.jfree.chart.plot.XYPlot; |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
7 import org.jfree.chart.title.TextTitle; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
8 import org.jfree.data.xy.XYSeries; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
9 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 import org.w3c.dom.Document; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
11 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
12 import de.intevation.artifacts.Artifact; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
13 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
14 import de.intevation.artifactdatabase.state.Facet; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
15 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.flys.artifacts.FLYSArtifact; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.flys.artifacts.model.FacetTypes; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.flys.artifacts.model.WKms; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
19 |
1162
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
20 import de.intevation.flys.utils.DataUtil; |
1627
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
21 import de.intevation.flys.model.River; |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
22 |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
23 import de.intevation.flys.artifacts.WINFOArtifact; |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
24 |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
25 import de.intevation.flys.artifacts.model.WQKms; |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
26 import de.intevation.flys.utils.FLYSUtils; |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
27 |
1162
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
28 |
1151
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 /** |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
31 * 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
|
32 */ |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
33 public class WDifferencesCurveGenerator |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
34 extends LongitudinalSectionGenerator |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
35 implements FacetTypes |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
36 { |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
37 /** The logger that is used in this generator. */ |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
38 private static Logger logger = |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
39 Logger.getLogger(WDifferencesCurveGenerator.class); |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
40 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
41 public static final String I18N_CHART_TITLE = |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
42 "chart.w_differences.title"; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
43 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
44 public static final String I18N_CHART_SUBTITLE = |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
45 "chart.w_differences.subtitle"; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
46 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
47 public static final String I18N_2YAXIS_LABEL = |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
48 "chart.w_differences.yaxis.second.label"; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
49 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
50 // TODO proper i18n. |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
51 public static final String I18N_CHART_TITLE_DEFAULT = "W-Differenzen"; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
52 public static final String I18N_XAXIS_LABEL_DEFAULT = "km"; |
1640
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
53 public static final String I18N_YAXIS_LABEL_DEFAULT = "W [m]"; |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
54 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
55 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
56 /** |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
57 * Add a subtitle to Chart. |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
58 * @param chart Chart to add subtitle to. |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
59 */ |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
60 @Override |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
61 protected void addSubtitles(JFreeChart chart) { |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
62 String subtitle = msg(I18N_CHART_SUBTITLE, ""); |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
63 chart.addSubtitle(new TextTitle(subtitle)); |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
64 } |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
65 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
66 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
67 /** |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
68 * Add (themed) data for chart generation. |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
69 */ |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
70 public void doOut(Artifact artifact, Facet facet, Document attr) { |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
71 String name = facet.getName(); |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
72 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
73 logger.debug("WDifferencesCurveGenerator.doOut: " + name); |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
74 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
75 if (name == null) { |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
76 logger.error("No facet name for doOut(). No output generated!"); |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
77 return; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
78 } |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
79 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
80 FLYSArtifact flys = (FLYSArtifact) artifact; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
81 Facet f = flys.getNativeFacet(facet); |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
82 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
83 if (f == null) { |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
84 return; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
85 } |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
86 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
87 if (name.equals(W_DIFFERENCES)) { |
1153
62ad0a753b68
Fix facet name and legend of w-differences, walk over distance state, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1151
diff
changeset
|
88 doWDifferencesOut((WKms) f.getData(artifact, context), f.getDescription(), attr); |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
89 } |
1627
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
90 else if (name.equals(LONGITUDINAL_W)) { |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
91 WINFOArtifact flysArtifact = (WINFOArtifact) artifact; |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
92 facet = flysArtifact.getNativeFacet(facet); |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
93 |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
94 doWaterlevelOut((WQKms) facet.getData(artifact, context), f.getDescription(), attr, flysArtifact); |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
95 |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
96 } |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
97 else { |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
98 logger.warn("Unknown facet name: " + name); |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
99 return; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
100 } |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
101 } |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
102 |
1170
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
103 |
1640
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
104 /** |
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
105 * Add the waterlevel-curves (the "absolutes" from which |
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
106 * differences were calculated). |
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
107 * @param wqkms The wqkms to add to the diagram. |
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
108 */ |
1627
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
109 public void doWaterlevelOut(WQKms wqkms, |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
110 String description, |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
111 Document theme, |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
112 WINFOArtifact flysArtifact) { |
1640
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
113 String wqkmsName = wqkms.getName(); |
1627
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
114 |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
115 River river = FLYSUtils.getRiver(flysArtifact); |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
116 |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
117 if (river == null) { |
1640
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
118 logger.warn("no river found"); |
1627
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
119 return; |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
120 } |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
121 |
1640
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
122 logger.debug("WDifferencesCurveGenerator.doWaterlevelOut, gauge: " + |
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
123 wqkmsName); |
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
124 /* |
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
125 Gauge gauge = river.determineGaugeByName(wqkmsName); |
1627
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
126 |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
127 if (gauge == null) { |
1640
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
128 logger.warn("no gauge found"); |
1627
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
129 return; |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
130 } |
1640
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
131 */ |
1627
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
132 |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
133 |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
134 double [][] values = new double [][] { |
1640
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
135 wqkms.getKms(), wqkms.getWs() }; |
1627
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
136 |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
137 int size = values != null ? values[0].length : 0; |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
138 |
1640
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
139 String seriesName = wqkmsName; |
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
140 //getSeriesName(gauge); |
fb296bdf815f
Improved w-differences diagram generation with included 'absolute' values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1627
diff
changeset
|
141 |
1627
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
142 XYSeries series = new StyledXYSeries(seriesName, theme); |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
143 |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
144 for (int i = 0; i < size; i++) { |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
145 series.add(values[0][i], values[1][i]); |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
146 } |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
147 |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
148 addSecondAxisSeries(series); |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
149 } |
d1b20d0e9eb4
Let WDifferencesCurveGenerator process LONGITUDINAL_W facets.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1170
diff
changeset
|
150 |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
151 /** |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
152 * Add items to dataseries which describes the differences. |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
153 */ |
1153
62ad0a753b68
Fix facet name and legend of w-differences, walk over distance state, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1151
diff
changeset
|
154 protected void doWDifferencesOut(WKms wkms, String seriesName, Document theme) { |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
155 logger.debug("WDifferencesCurveGenerator.doWDifferencesOut"); |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
156 if (wkms == null) { |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
157 logger.warn("No data to add to WDifferencesChart."); |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
158 return; |
1162
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
159 } |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
160 |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
161 int size = wkms.size(); |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
162 XYSeries series = new StyledXYSeries(seriesName, theme); |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
163 |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
164 if (logger.isDebugEnabled()) { |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
165 if (wkms.size() > 0) { |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
166 logger.debug("Generate series: " + series.getKey()); |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
167 logger.debug("Start km: " + wkms.getKm(0)); |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
168 logger.debug("End km: " + wkms.getKm(size-1)); |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
169 logger.debug("Values : " + size); |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
170 } |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
171 } |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
172 |
1162
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
173 for (int i = 0; i < size; i++) { |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
174 series.add(wkms.getKm(i), wkms.getW(i)); |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
175 } |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
176 |
1162
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
177 addFirstAxisSeries(series); |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
178 if (DataUtil.guessWaterIncreasing(wkms)) { |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
179 setInverted(true); |
588798ef4791
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1158
diff
changeset
|
180 } |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
181 } |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
182 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
183 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
184 /** |
1170
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
185 * |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
186 */ |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
187 @Override |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
188 public JFreeChart generateChart() { |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
189 JFreeChart chart = super.generateChart(); |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
190 if (chart != null && chart.getPlot() != null) { |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
191 XYPlot plot = (XYPlot) chart.getPlot(); |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
192 plot.setRangeZeroBaselineVisible(true); |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
193 } |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
194 return chart; |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
195 } |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
196 |
1e1ef8b750db
Partial fix flys/issue304 (3:Display ZeroBaseline).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1162
diff
changeset
|
197 /** |
1151
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
198 * 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
|
199 * @return name of the series. |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
200 */ |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
201 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
|
202 String name = wqkms.getName(); |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
203 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
|
204 ? null |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
205 : mode; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
206 |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
207 return (prefix != null && prefix.length() > 0) |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
208 ? prefix + "(" + name +")" |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
209 : name; |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
210 } |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
211 } |
08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
212 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |