Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java @ 3067:d87aadaa4f7e
Add FixDerivedCurveGenerator class
flys-artifacts/trunk@4651 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Wed, 13 Jun 2012 12:21:22 +0000 |
parents | |
children | 2fc9d0c65dc9 |
comparison
equal
deleted
inserted
replaced
3066:4c22194b733a | 3067:d87aadaa4f7e |
---|---|
1 package de.intevation.flys.exports.fixings; | |
2 | |
3 import de.intevation.artifactdatabase.state.ArtifactAndFacet; | |
4 | |
5 import de.intevation.flys.artifacts.model.FacetTypes; | |
6 | |
7 import de.intevation.flys.artifacts.model.fixings.FixFunction; | |
8 | |
9 import de.intevation.flys.exports.ChartGenerator; | |
10 import de.intevation.flys.exports.XYChartGenerator; | |
11 | |
12 import de.intevation.flys.jfree.Function2DAdapter; | |
13 import de.intevation.flys.jfree.StyledXYSeries; | |
14 | |
15 import org.apache.log4j.Logger; | |
16 | |
17 import org.jfree.data.general.DatasetUtilities; | |
18 import org.jfree.data.xy.XYSeries; | |
19 | |
20 import org.w3c.dom.Document; | |
21 | |
22 /** | |
23 * Generator for fixation derived function curve. | |
24 * | |
25 * @author <a href="mailto:christian.lins@intevation.de">Christian Lins</a> | |
26 */ | |
27 public class FixDerivedCurveGenerator | |
28 extends XYChartGenerator | |
29 implements FacetTypes | |
30 { | |
31 private static Logger logger = | |
32 Logger.getLogger(FixDerivedCurveGenerator.class); | |
33 | |
34 public static final String I18N_CHART_TITLE = | |
35 "chart.fixings.derived.title"; | |
36 | |
37 public static final String I18N_CHART_SUBTITLE = | |
38 "chart.fixings.derived.subtitle"; | |
39 | |
40 public static final String I18N_XAXIS_LABEL = | |
41 "chart.fixings.derived.xaxis.label"; | |
42 | |
43 public static final String I18N_YAXIS_LABEL = | |
44 "chart.fixings.derived.yaxis.label"; | |
45 | |
46 public static final String I18N_CHART_TITLE_DEFAULT = | |
47 "Ableitungskurve"; | |
48 | |
49 public static final String I18N_XAXIS_LABEL_DEFAULT = | |
50 "Q [m\u00B3/s]"; | |
51 | |
52 public static final String I18N_YAXIS_LABEL_DEFAULT = | |
53 "W [NN + m]"; | |
54 | |
55 public static enum YAXIS { | |
56 W(0), | |
57 Q(1); | |
58 public int idx; | |
59 private YAXIS(int c) { | |
60 idx = c; | |
61 } | |
62 } | |
63 | |
64 | |
65 @Override | |
66 public void doOut(ArtifactAndFacet aaf, Document doc, boolean visible) { | |
67 logger.debug("doOut"); | |
68 | |
69 FixFunction func = (FixFunction)aaf.getData(context); | |
70 if(func.getMaxQ() > 0) { | |
71 XYSeries series = DatasetUtilities.sampleFunction2DToSeries( | |
72 new Function2DAdapter(func.getFunction()), | |
73 0, // start | |
74 func.getMaxQ(), // end | |
75 500, // number of samples | |
76 aaf.getFacetDescription()); | |
77 addAxisSeries(series, 0, visible); | |
78 } | |
79 else { | |
80 logger.warn("doOut: func.getMaxQ() returns 0"); | |
81 } | |
82 } | |
83 | |
84 | |
85 @Override | |
86 protected String getDefaultChartTitle() { | |
87 return msg(I18N_CHART_TITLE, I18N_CHART_TITLE_DEFAULT); | |
88 } | |
89 | |
90 | |
91 @Override | |
92 protected String getDefaultXAxisLabel() { | |
93 return msg(I18N_XAXIS_LABEL, I18N_XAXIS_LABEL_DEFAULT); | |
94 } | |
95 | |
96 | |
97 @Override | |
98 protected String getDefaultYAxisLabel(int pos) { | |
99 return msg(I18N_YAXIS_LABEL, I18N_YAXIS_LABEL_DEFAULT); | |
100 } | |
101 | |
102 | |
103 @Override | |
104 protected ChartGenerator.YAxisWalker getYAxisWalker() { | |
105 return new YAxisWalker() { | |
106 @Override | |
107 public int length() { | |
108 return YAXIS.values().length; | |
109 } | |
110 | |
111 @Override | |
112 public String getId(int idx) { | |
113 YAXIS[] yaxes = YAXIS.values(); | |
114 return yaxes[idx].toString(); | |
115 } | |
116 }; | |
117 } | |
118 } | |
119 | |
120 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |