Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/MiddleBedHeightGenerator.java @ 4449:f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Also use the new WOutProcessor to generate the corresponding curves.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Wed, 07 Nov 2012 15:58:03 +0100 |
parents | 0f60efc39953 |
children | d337c67b6845 |
rev | line source |
---|---|
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.exports; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 import de.intevation.artifactdatabase.state.ArtifactAndFacet; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
4 import de.intevation.artifactdatabase.state.Facet; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
5 import de.intevation.flys.artifacts.FLYSArtifact; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 import de.intevation.flys.artifacts.model.FacetTypes; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 import de.intevation.flys.artifacts.model.MiddleBedHeightData; |
4449
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
8 import de.intevation.flys.exports.process.Processor; |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
9 import de.intevation.flys.exports.process.WOutProcessor; |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 import de.intevation.flys.jfree.FLYSAnnotation; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import de.intevation.flys.jfree.StyledXYSeries; |
4142 | 12 import de.intevation.flys.utils.FLYSUtils; |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 |
4142 | 14 import org.apache.log4j.Logger; |
15 import org.jfree.data.xy.XYSeries; | |
16 import org.w3c.dom.Document; | |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 |
4150
0f60efc39953
Workaround for #961
Christian Lins <christian.lins@intevation.de>
parents:
4142
diff
changeset
|
18 // TODO Move class to de.intevation.flys.exports.minfo |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 /** |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 * An OutGenerator that generates middle bed height charts. |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 * |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 */ |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 public class MiddleBedHeightGenerator |
4449
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
25 extends XYChartGenerator |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 implements FacetTypes |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 public enum YAXIS { |
4449
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
29 H(0), W(1); |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 protected int idx; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 private YAXIS(int c) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 idx = c; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 /** The logger that is used in this generator. */ |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 private static Logger logger = Logger.getLogger(MiddleBedHeightGenerator.class); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 /** Key to look up internationalized String for annotations label. */ |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 public static final String I18N_ANNOTATIONS_LABEL = |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 "chart.bedheight_middle.annotations.label"; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 public static final String I18N_CHART_TITLE = |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 "chart.bedheight_middle.section.title"; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 public static final String I18N_CHART_SUBTITLE = |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 "chart.bedheight_middle.section.subtitle"; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 public static final String I18N_CHART_SHORT_SUBTITLE = |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 "chart.bedheight_middle.section.shortsubtitle"; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 public static final String I18N_XAXIS_LABEL = |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 "chart.bedheight_middle.section.xaxis.label"; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 public static final String I18N_YAXIS_LABEL = |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 "chart.bedheight_middle.section.yaxis.label"; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 |
4142 | 58 public static final String I18N_CHART_TITLE_DEFAULT = "Mittlere Sohlhöhe"; |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 public static final String I18N_XAXIS_LABEL_DEFAULT = "km"; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 public static final String I18N_YAXIS_LABEL_DEFAULT = "mittlere Sohlhöhen [müNN]"; |
4449
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
61 public static final String I18N_W_YAXIS_LABEL = |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
62 "chart.longitudinal.section.yaxis.label"; |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
63 public static final String I18N_W_YAXIS_LABEL_DEFAULT = "W [NN + m]"; |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 @Override |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 protected YAxisWalker getYAxisWalker() { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 return new YAxisWalker() { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 @Override |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 public int length() { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 return YAXIS.values().length; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
71 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 @Override |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 public String getId(int idx) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 YAXIS[] yaxes = YAXIS.values(); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 return yaxes[idx].toString(); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 }; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 /** |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 * Returns the default title for this chart. |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 * |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 * @return the default title for this chart. |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 */ |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 @Override |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 public String getDefaultChartTitle() { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 Object[] args = new Object[] { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 getRiverName() |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 }; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
93 return msg(I18N_CHART_TITLE, I18N_CHART_TITLE_DEFAULT, args); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 /** |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 * Get internationalized label for the x axis. |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 */ |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 @Override |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 protected String getDefaultXAxisLabel() { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
102 FLYSArtifact flys = (FLYSArtifact) master; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
104 return msg( |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 I18N_XAXIS_LABEL, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 I18N_XAXIS_LABEL_DEFAULT, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 new Object[] { FLYSUtils.getRiver(flys).getName() }); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
108 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 @Override |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
112 protected String getDefaultYAxisLabel(int index) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 String label = "default"; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 if (index == YAXIS.H.idx) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 label = getHAxisLabel(); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 } |
4449
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
118 else if (index == YAXIS.W.idx) { |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
119 label = msg(I18N_W_YAXIS_LABEL, I18N_W_YAXIS_LABEL_DEFAULT); |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
120 } |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
121 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
122 return label; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 /** |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
127 * Get internationalized label for the y axis. |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
128 */ |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
129 protected String getHAxisLabel() { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
130 return msg(I18N_YAXIS_LABEL, I18N_YAXIS_LABEL_DEFAULT); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
134 /** |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 * Produce output. |
3269
b2ea89a665bc
Fix issues in 'documentation'.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2715
diff
changeset
|
136 * @param artifactAndFacet current facet. |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
137 * @param attr theme for facet |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
138 */ |
4142 | 139 @Override |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
140 public void doOut( |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 ArtifactAndFacet artifactAndFacet, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
142 Document attr, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
143 boolean visible |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
144 ) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
145 String name = artifactAndFacet.getFacetName(); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
146 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
147 logger.debug("MiddleBedHeightGenerator.doOut: " + name); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
148 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
149 if (name == null) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
150 logger.error("No facet name for doOut(). No output generated!"); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
151 return; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 Facet facet = artifactAndFacet.getFacet(); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 if (facet == null) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
157 return; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
158 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
159 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
160 if (name.equals(MIDDLE_BED_HEIGHT_SINGLE) || name.equals(MIDDLE_BED_HEIGHT_EPOCH)) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
161 doHeightOut( |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
162 (MiddleBedHeightData) artifactAndFacet.getData(context), |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
163 artifactAndFacet, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
164 attr, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 visible); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
166 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
167 else if (name.equals(MIDDLE_BED_HEIGHT_ANNOTATION)) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
168 doAnnotations( |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
169 (FLYSAnnotation) artifactAndFacet.getData(context), |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
170 artifactAndFacet, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
171 attr, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
172 visible); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
173 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
174 else if (FacetTypes.IS.AREA(name)) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
175 doArea( |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
176 artifactAndFacet.getData(context), |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
177 artifactAndFacet, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
178 attr, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
179 visible); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
180 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
181 else if (FacetTypes.IS.MANUALPOINTS(name)) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
182 doPoints( |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
183 artifactAndFacet.getData(context), |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
184 artifactAndFacet, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
185 attr, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
186 visible, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
187 YAXIS.H.idx); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
188 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
189 else { |
4449
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
190 Processor processor = new WOutProcessor(); |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
191 if (processor.canHandle(name)) { |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
192 processor.doOut(this, artifactAndFacet, attr, visible, YAXIS.W.idx); |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
193 } |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
194 else { |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
195 logger.warn("Unknown facet name: " + name); |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
196 } |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
197 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
198 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
199 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
200 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
201 /** |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
202 * @param data A data object |
3270
4ac581062c40
Fix various documentation issues.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3269
diff
changeset
|
203 * @param aandf The artifact and facet. This facet does NOT support any data objects. Use |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
204 * FLYSArtifact.getNativeFacet() instead to retrieve a Facet which supports |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
205 * data. |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
206 * @param theme The theme that contains styling information. |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
207 * @param visible The visibility of the curve. |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
208 */ |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
209 protected void doHeightOut( |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
210 MiddleBedHeightData data, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
211 ArtifactAndFacet aandf, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
212 Document theme, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
213 boolean visible |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
214 ) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
215 logger.debug("MiddleBedHeightGenerator.doMainChannelOut"); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
216 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
217 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
218 |
3924
5fced192b95c
Towards fix of issue863 (gaps in middle heigh bed data).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3270
diff
changeset
|
219 StyledSeriesBuilder.addPoints(series, data.getMiddleHeightsPoints(), false); |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
220 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
221 addAxisSeries(series, YAXIS.H.idx, visible); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
222 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
223 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
224 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
225 /** Look up the axis identifier for a given facet type. */ |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
226 public int axisIdxForFacet(String facetName) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
227 if (FacetTypes.IS.H(facetName)) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
228 return YAXIS.H.idx; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
229 } |
4449
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
230 else if (FacetTypes.IS.W(facetName)) { |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
231 return YAXIS.W.idx; |
f3c4976874f2
Add datacage for minfo and longitudinal_section.w from fixanalysis
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4150
diff
changeset
|
232 } |
2715
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
233 else { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
234 logger.warn("Could not find axis for facet " + facetName); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
235 return YAXIS.H.idx; |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
236 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
237 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
238 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
239 |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
240 /** |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
241 * Do Area out. |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
242 * @param theme styling information. |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
243 * @param visible whether or not visible. |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
244 */ |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
245 protected void doArea( |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
246 Object o, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
247 ArtifactAndFacet aandf, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
248 Document theme, |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
249 boolean visible |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
250 ) { |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
251 logger.debug("FlowVelocityGenerator.doArea"); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
252 logger.warn("TODO: Implement FlowVelocityGenerator.doArea"); |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
253 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
254 } |
250a370c377d
Added chart generator for middle bed height charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
255 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |