Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/HistoricalDischargeWQCurveGenerator.java @ 4242:448cbd8708d5
Added new classes for the last commit.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 24 Oct 2012 14:44:12 +0200 |
parents | |
children | 1dfe3e1d304e |
comparison
equal
deleted
inserted
replaced
4241:49cb65d5932d | 4242:448cbd8708d5 |
---|---|
1 package de.intevation.flys.exports; | |
2 | |
3 import org.apache.log4j.Logger; | |
4 import org.jfree.data.xy.XYSeries; | |
5 import org.w3c.dom.Document; | |
6 | |
7 import de.intevation.artifactdatabase.state.ArtifactAndFacet; | |
8 import de.intevation.flys.artifacts.FLYSArtifact; | |
9 import de.intevation.flys.artifacts.access.HistoricalDischargeAccess; | |
10 import de.intevation.flys.artifacts.model.FacetTypes; | |
11 import de.intevation.flys.artifacts.model.Timerange; | |
12 import de.intevation.flys.artifacts.model.WQKms; | |
13 import de.intevation.flys.jfree.StyledXYSeries; | |
14 import de.intevation.flys.utils.FLYSUtils; | |
15 | |
16 | |
17 /** | |
18 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | |
19 */ | |
20 public class HistoricalDischargeWQCurveGenerator extends XYChartGenerator | |
21 implements FacetTypes { | |
22 | |
23 private static Logger logger = Logger | |
24 .getLogger(HistoricalDischargeWQCurveGenerator.class); | |
25 | |
26 public static final String I18N_CHART_TITLE = "chart.historical.discharge.wq.title"; | |
27 | |
28 public static final String I18N_CHART_SUBTITLE = "chart.historical.discharge.wq.subtitle"; | |
29 | |
30 public static final String I18N_XAXIS_LABEL = "chart.historical.discharge.wq.xaxis.label"; | |
31 | |
32 public static final String I18N_YAXIS_LABEL = "chart.historical.discharge.wq.yaxis.label"; | |
33 | |
34 public static final String I18N_YAXIS_SECOND_LABEL = "chart.historical.discharge.wq.yaxis.second.label"; | |
35 | |
36 public static enum YAXIS { | |
37 W(0); | |
38 | |
39 protected int idx; | |
40 | |
41 private YAXIS(int c) { | |
42 idx = c; | |
43 } | |
44 } | |
45 | |
46 @Override | |
47 protected YAxisWalker getYAxisWalker() { | |
48 return new YAxisWalker() { | |
49 | |
50 @Override | |
51 public int length() { | |
52 return YAXIS.values().length; | |
53 } | |
54 | |
55 @Override | |
56 public String getId(int idx) { | |
57 YAXIS[] yaxes = YAXIS.values(); | |
58 return yaxes[idx].toString(); | |
59 } | |
60 }; | |
61 } | |
62 | |
63 @Override | |
64 protected String getDefaultChartTitle() { | |
65 return msg(I18N_CHART_TITLE, I18N_CHART_TITLE); | |
66 } | |
67 | |
68 @Override | |
69 protected String getDefaultChartSubtitle() { | |
70 FLYSArtifact flys = (FLYSArtifact) master; | |
71 Timerange evalTime = new HistoricalDischargeAccess(flys) | |
72 .getEvaluationTimerange(); | |
73 | |
74 Object[] args = new Object[] { FLYSUtils.getReferenceGaugeName(flys), | |
75 evalTime.getStart(), evalTime.getEnd() }; | |
76 | |
77 return msg(I18N_CHART_SUBTITLE, "", args); | |
78 } | |
79 | |
80 @Override | |
81 protected String getDefaultXAxisLabel() { | |
82 return msg(I18N_XAXIS_LABEL, I18N_XAXIS_LABEL); | |
83 } | |
84 | |
85 @Override | |
86 protected String getDefaultYAxisLabel(int pos) { | |
87 if (pos == 0) { | |
88 return msg(I18N_YAXIS_LABEL, I18N_YAXIS_LABEL); | |
89 } | |
90 else if (pos == 1) { | |
91 return msg(I18N_YAXIS_SECOND_LABEL, I18N_YAXIS_SECOND_LABEL); | |
92 } | |
93 else { | |
94 return "NO TITLE FOR Y AXIS: " + pos; | |
95 } | |
96 } | |
97 | |
98 @Override | |
99 public void doOut(ArtifactAndFacet artifactFacet, Document theme, | |
100 boolean visible) { | |
101 String name = artifactFacet.getFacetName(); | |
102 logger.debug("HistoricalDischargeWQCurveGenerator.doOut: " + name); | |
103 logger.debug("Theme description is: " | |
104 + artifactFacet.getFacetDescription()); | |
105 | |
106 if (name.equals(HISTORICAL_DISCHARGE_WQ_Q)) { | |
107 doHistoricalDischargeOutQ( | |
108 (FLYSArtifact) artifactFacet.getArtifact(), | |
109 artifactFacet.getData(context), | |
110 artifactFacet.getFacetDescription(), theme, visible); | |
111 } | |
112 else if (name.equals(HISTORICAL_DISCHARGE_WQ_W)) { | |
113 doHistoricalDischargeOutW( | |
114 (FLYSArtifact) artifactFacet.getArtifact(), | |
115 artifactFacet.getData(context), | |
116 artifactFacet.getFacetDescription(), theme, visible); | |
117 } | |
118 else if (name.equals(HISTORICAL_DISCHARGE_WQ_CURVE)) { | |
119 doHistoricalDischargeCurveOut( | |
120 (FLYSArtifact) artifactFacet.getArtifact(), | |
121 artifactFacet.getData(context), | |
122 artifactFacet.getFacetDescription(), theme, visible); | |
123 } | |
124 else if (FacetTypes.IS.MANUALPOINTS(name)) { | |
125 doPoints(artifactFacet.getData(context), artifactFacet, theme, | |
126 visible, YAXIS.W.idx); | |
127 } | |
128 else { | |
129 logger.warn("doOut(): unknown facet name: " + name); | |
130 return; | |
131 } | |
132 } | |
133 | |
134 protected void doHistoricalDischargeOutQ(FLYSArtifact artifact, | |
135 Object data, String desc, Document theme, boolean visible) { | |
136 logger.debug("doHistoricalDischargeOutQ(): description = " + desc); | |
137 | |
138 // addAxisDataset(series, YAXIS.Q.idx, visible); | |
139 } | |
140 | |
141 protected void doHistoricalDischargeOutW(FLYSArtifact artifact, | |
142 Object data, String desc, Document theme, boolean visible) { | |
143 logger.debug("doHistoricalDischargeOutW(): description = " + desc); | |
144 | |
145 // addAxisDataset(series, YAXIS.W.idx, visible); | |
146 } | |
147 | |
148 protected void doHistoricalDischargeCurveOut(FLYSArtifact artifact, Object data, | |
149 String desc, Document theme, boolean visible) { | |
150 XYSeries series = new StyledXYSeries(desc, theme); | |
151 StyledSeriesBuilder.addPointsQW(series, (WQKms) data); | |
152 | |
153 addAxisSeries(series, YAXIS.W.idx, visible); | |
154 } | |
155 } | |
156 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |