annotate flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java @ 3068:2fc9d0c65dc9

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

http://dive4elements.wald.intevation.org