annotate flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java @ 3212:abc2db630815

Work in generalized annotations for chart generators flys-artifacts/trunk@4835 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Christian Lins <christian.lins@intevation.de>
date Fri, 29 Jun 2012 12:35:06 +0000
parents bbb488b145ce
children 750e98fc8b76
rev   line source
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.exports.fixings;
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
2
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
3 import de.intevation.artifactdatabase.state.ArtifactAndFacet;
3060
94d78e0dc5e9 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3057
diff changeset
4
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
5 import de.intevation.flys.artifacts.model.FacetTypes;
3060
94d78e0dc5e9 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3057
diff changeset
6
3056
0b5a7a2c3724 Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents: 3055
diff changeset
7 import de.intevation.flys.artifacts.model.fixings.FixFunction;
3081
26119b7b3154 Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
8 import de.intevation.flys.artifacts.model.fixings.FixWQCurveFacet;
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
9 import de.intevation.flys.artifacts.model.fixings.QW;
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
10 import de.intevation.flys.artifacts.model.fixings.QWD;
3060
94d78e0dc5e9 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3057
diff changeset
11
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
12 import de.intevation.flys.exports.ChartGenerator;
3060
94d78e0dc5e9 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3057
diff changeset
13
3194
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
14 import de.intevation.flys.jfree.CollisionFreeXYTextAnnotation;
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
15 import de.intevation.flys.jfree.FLYSAnnotation;
3192
cd309f8597f6 Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents: 3155
diff changeset
16 import de.intevation.flys.jfree.JFreeUtil;
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
17 import de.intevation.flys.jfree.StyledXYSeries;
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
18
3200
099f18a4e227 Only dates as point labels
Christian Lins <christian.lins@intevation.de>
parents: 3194
diff changeset
19 import java.text.DateFormat;
099f18a4e227 Only dates as point labels
Christian Lins <christian.lins@intevation.de>
parents: 3194
diff changeset
20
3194
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
21 import java.util.ArrayList;
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
22 import java.util.List;
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
23
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
24 import org.apache.log4j.Logger;
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
25
3194
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
26 import org.jfree.chart.annotations.XYTextAnnotation;
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
27
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
28 import org.jfree.data.xy.XYSeries;
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
29
3194
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
30
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
31 import org.w3c.dom.Document;
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
32
3076
5642a83420f2 FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3073
diff changeset
33 public class FixWQCurveGenerator
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3086
diff changeset
34 extends FixChartGenerator
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
35 implements FacetTypes
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
36 {
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
37 private static Logger logger =
3057
febc39e77672 Make it compilable again
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3056
diff changeset
38 Logger.getLogger(FixWQCurveGenerator.class);
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
39
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
40 public static final String I18N_CHART_TITLE =
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
41 "chart.fixings.wq.title";
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
42
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
43 public static final String I18N_CHART_SUBTITLE =
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
44 "chart.fixings.wq.subtitle";
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
45
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
46 public static final String I18N_XAXIS_LABEL =
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
47 "chart.fixings.wq.xaxis.label";
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
48
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
49 public static final String I18N_YAXIS_LABEL =
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
50 "chart.fixings.wq.yaxis.label";
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
51
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
52 public static final String I18N_CHART_TITLE_DEFAULT =
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
53 "Fixierungsanalyse";
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
54
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
55 public static final String I18N_XAXIS_LABEL_DEFAULT =
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
56 "Q [m\u00B3/s]";
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
57
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
58 public static final String I18N_YAXIS_LABEL_DEFAULT =
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
59 "W [NN + m]";
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
60
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
61 public static enum YAXIS {
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
62 W(0),
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
63 Q(1);
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
64 public int idx;
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
65 private YAXIS(int c) {
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
66 idx = c;
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
67 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
68 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
69
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
70 @Override
3056
0b5a7a2c3724 Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents: 3055
diff changeset
71 public void doOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
0b5a7a2c3724 Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents: 3055
diff changeset
72 String name = aaf.getFacetName();
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
73 logger.debug("doOut: " + name);
3056
0b5a7a2c3724 Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents: 3055
diff changeset
74
3133
6f6a8e5fb7a4 Theme updates for sector average wq curves/points
Christian Lins <christian.lins@intevation.de>
parents: 3132
diff changeset
75 if(name.startsWith(FIX_SECTOR_AVERAGE_WQ)) {
3056
0b5a7a2c3724 Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents: 3055
diff changeset
76 doSectorAverageOut(aaf, doc, visible);
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
77 }
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
78 else if(FIX_ANALYSIS_EVENTS_WQ.equals(name)) {
3056
0b5a7a2c3724 Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents: 3055
diff changeset
79 doAnalysisEventsOut(aaf, doc, visible);
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
80 }
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
81 else if(FIX_REFERENCE_EVENTS_WQ.equals(name)) {
3056
0b5a7a2c3724 Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents: 3055
diff changeset
82 doReferenceEventsOut(aaf, doc, visible);
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
83 }
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
84 else if(FIX_WQ_CURVE.equals(name)) {
3056
0b5a7a2c3724 Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents: 3055
diff changeset
85 doWQCurveOut(aaf, doc, visible);
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
86 }
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
87 else if(FIX_OUTLIER.equals(name)) {
3056
0b5a7a2c3724 Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents: 3055
diff changeset
88 doOutlierOut(aaf, doc, visible);
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
89 }
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
90 else {
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
91 logger.warn("Unknown facet name " + name);
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
92 return;
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
93 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
94 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
95
3091
179e38aa678d Some fixing charts are generated now
Christian Lins <christian.lins@intevation.de>
parents: 3088
diff changeset
96 /** Add sector average points to chart */
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
97 protected void doSectorAverageOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
98 logger.debug("doSectorAverageOut");
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
99
3132
459750878157 Adapt doAverageSectorOut() to reflect changes of corresponding facet.
Christian Lins <christian.lins@intevation.de>
parents: 3110
diff changeset
100 QWD qwd = (QWD)aaf.getData(context);
459750878157 Adapt doAverageSectorOut() to reflect changes of corresponding facet.
Christian Lins <christian.lins@intevation.de>
parents: 3110
diff changeset
101 if(qwd != null) {
3194
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
102 addQWSeries(new QWD[] { qwd }, aaf, doc, visible);
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
103 }
3133
6f6a8e5fb7a4 Theme updates for sector average wq curves/points
Christian Lins <christian.lins@intevation.de>
parents: 3132
diff changeset
104 else {
6f6a8e5fb7a4 Theme updates for sector average wq curves/points
Christian Lins <christian.lins@intevation.de>
parents: 3132
diff changeset
105 logger.debug("doSectorAverageOut: qwd == null");
6f6a8e5fb7a4 Theme updates for sector average wq curves/points
Christian Lins <christian.lins@intevation.de>
parents: 3132
diff changeset
106 }
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
107 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
108
3091
179e38aa678d Some fixing charts are generated now
Christian Lins <christian.lins@intevation.de>
parents: 3088
diff changeset
109 /** Add analysis event points to chart */
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
110 protected void doAnalysisEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
3194
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
111 logger.debug("doAnalysisEventsOut");
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
112
3194
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
113 QWD[] qwds = (QWD[])aaf.getData(context);
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
114 if(qwds != null) {
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
115 addQWSeries(qwds, aaf, doc, visible);
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
116 }
3095
6ea299c208cd Themes for fixing curves and debug output
Christian Lins <christian.lins@intevation.de>
parents: 3091
diff changeset
117 else {
6ea299c208cd Themes for fixing curves and debug output
Christian Lins <christian.lins@intevation.de>
parents: 3091
diff changeset
118 logger.debug("doAnalysisEventsOut: qwds == null");
6ea299c208cd Themes for fixing curves and debug output
Christian Lins <christian.lins@intevation.de>
parents: 3091
diff changeset
119 }
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
120 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
121
3091
179e38aa678d Some fixing charts are generated now
Christian Lins <christian.lins@intevation.de>
parents: 3088
diff changeset
122 /** Add reference event points to chart */
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
123 protected void doReferenceEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
124 logger.debug("doReferenceEventsOut");
3110
88d49a0a55f0 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3108
diff changeset
125
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
126 QW[] qws = (QW[])aaf.getData(context);
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
127 addQWSeries(qws, aaf, doc, visible);
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
128 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
129
3056
0b5a7a2c3724 Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents: 3055
diff changeset
130 protected void doWQCurveOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
0b5a7a2c3724 Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator
Christian Lins <christian.lins@intevation.de>
parents: 3055
diff changeset
131 logger.debug("doWQCurveOut");
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
132
3081
26119b7b3154 Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
133 FixWQCurveFacet facet = (FixWQCurveFacet)aaf.getFacet();
26119b7b3154 Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
134 FixFunction func = (FixFunction)facet.getData(
3088
960307cf2adc Moved current km to context and added an abstract generator for fix analysis
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3086
diff changeset
135 aaf.getArtifact(), context);
3073
0ace00c0c12a FixA: Improved W/Q facet code
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3066
diff changeset
136
0ace00c0c12a FixA: Improved W/Q facet code
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3066
diff changeset
137 if (func == null) {
3081
26119b7b3154 Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
138 logger.warn("doWQCurveOut: Facet does not contain FixFunction");
3073
0ace00c0c12a FixA: Improved W/Q facet code
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3066
diff changeset
139 return;
0ace00c0c12a FixA: Improved W/Q facet code
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3066
diff changeset
140 }
3110
88d49a0a55f0 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3108
diff changeset
141
3081
26119b7b3154 Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
142 double maxQ = func.getMaxQ();
3073
0ace00c0c12a FixA: Improved W/Q facet code
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3066
diff changeset
143
3081
26119b7b3154 Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
144 if(maxQ > 0) {
3192
cd309f8597f6 Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents: 3155
diff changeset
145 StyledXYSeries series = JFreeUtil.sampleFunction2D(
cd309f8597f6 Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents: 3155
diff changeset
146 func.getFunction(),
cd309f8597f6 Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents: 3155
diff changeset
147 doc,
cd309f8597f6 Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents: 3155
diff changeset
148 aaf.getFacetDescription(),
cd309f8597f6 Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents: 3155
diff changeset
149 500, // number of samples
3194
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
150 0.0 , // start
3192
cd309f8597f6 Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents: 3155
diff changeset
151 func.getMaxQ()); // end
3155
74c974b10c75 Output code to trackdown the linecolor problem
Christian Lins <christian.lins@intevation.de>
parents: 3133
diff changeset
152
3192
cd309f8597f6 Fix for 'linecolor ignored' issue
Christian Lins <christian.lins@intevation.de>
parents: 3155
diff changeset
153 addAxisSeries(series, 0, visible);
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
154 }
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
155 else {
3081
26119b7b3154 Fixing output generator hacking
Christian Lins <christian.lins@intevation.de>
parents: 3076
diff changeset
156 logger.warn("doWQCurveOut: maxQ <= 0");
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
157 }
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
158 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
159
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
160 protected void doOutlierOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
161 logger.debug("doOutlierOut");
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
162
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
163 QW[] qws = (QW[])aaf.getData(context);
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
164 addQWSeries(qws, aaf, doc, visible);
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
165 }
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
166
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
167 protected void addQWSeries(QW[] qws, ArtifactAndFacet aaf, Document doc, boolean visible) {
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
168 if(qws != null) {
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
169 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), doc);
3194
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
170 List<XYTextAnnotation> textAnnos = new ArrayList<XYTextAnnotation>();
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
171
3200
099f18a4e227 Only dates as point labels
Christian Lins <christian.lins@intevation.de>
parents: 3194
diff changeset
172 DateFormat dateFormat = DateFormat.getDateInstance(
099f18a4e227 Only dates as point labels
Christian Lins <christian.lins@intevation.de>
parents: 3194
diff changeset
173 DateFormat.SHORT);
099f18a4e227 Only dates as point labels
Christian Lins <christian.lins@intevation.de>
parents: 3194
diff changeset
174
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
175 for(QW qw : qws) {
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
176 series.add(qw.getQ(), qw.getW());
3194
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
177
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
178 XYTextAnnotation anno = new CollisionFreeXYTextAnnotation(
3200
099f18a4e227 Only dates as point labels
Christian Lins <christian.lins@intevation.de>
parents: 3194
diff changeset
179 dateFormat.format(qw.getDate()),
3194
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
180 qw.getQ(),
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
181 qw.getW());
e815cf20bab2 Add point labels to W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3193
diff changeset
182 textAnnos.add(anno);
3062
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
183 }
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
184
7660cfe5e8f6 FixWQCurveGenerator can generate charts from Fix*-Facets (in theory and not complete)
Christian Lins <christian.lins@intevation.de>
parents: 3060
diff changeset
185 addAxisSeries(series, 0, visible);
3205
bbb488b145ce Set text orientation to horizontal for points in Fixation W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3200
diff changeset
186 if(visible) {
3212
abc2db630815 Work in generalized annotations for chart generators
Christian Lins <christian.lins@intevation.de>
parents: 3205
diff changeset
187 FLYSAnnotation flysAnno = new FLYSAnnotation(null, null, null, doc);
abc2db630815 Work in generalized annotations for chart generators
Christian Lins <christian.lins@intevation.de>
parents: 3205
diff changeset
188 flysAnno.setTextAnnotations(textAnnos);
abc2db630815 Work in generalized annotations for chart generators
Christian Lins <christian.lins@intevation.de>
parents: 3205
diff changeset
189 addAnnotations(flysAnno);
3205
bbb488b145ce Set text orientation to horizontal for points in Fixation W/Q curve
Christian Lins <christian.lins@intevation.de>
parents: 3200
diff changeset
190 }
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
191 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
192 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
193
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
194 @Override
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
195 protected String getDefaultChartTitle() {
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
196 return msg(I18N_CHART_TITLE, I18N_CHART_TITLE_DEFAULT);
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
197 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
198
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
199 @Override
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
200 protected String getDefaultXAxisLabel() {
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
201 return msg(I18N_XAXIS_LABEL, I18N_XAXIS_LABEL_DEFAULT);
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
202 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
203
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
204 @Override
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
205 protected String getDefaultYAxisLabel(int pos) {
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
206 return msg(I18N_YAXIS_LABEL, I18N_YAXIS_LABEL_DEFAULT);
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
207 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
208
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
209 @Override
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
210 protected ChartGenerator.YAxisWalker getYAxisWalker() {
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
211 return new YAxisWalker() {
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
212 @Override
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
213 public int length() {
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
214 return YAXIS.values().length;
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
215 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
216
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
217 @Override
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
218 public String getId(int idx) {
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
219 YAXIS[] yaxes = YAXIS.values();
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
220 return yaxes[idx].toString();
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
221 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
222 };
3076
5642a83420f2 FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3073
diff changeset
223 }
3055
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
224 }
1fbf8462f808 FixWQCurveGenerator generates randomized curves as the Facets crashes when retrieving data
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
225 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org