annotate artifacts/src/main/java/org/dive4elements/river/exports/process/MiscDischargeProcessor.java @ 8472:3f505fba522f

(issue1772) Use 0.001km tolarance instead of 0.1 to find matching km. There is no sense to use a define here. I will not write static final double NULLPOINTNULLNULLONE=0.001 if i just want to use that value and not any other value which may make sense in some other place. Using hardcoded values can have its merits and makes the code easier to read.
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 18 Nov 2014 15:24:40 +0100
parents 9f9857f6c464
children 5e38e2924c07
rev   line source
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 *
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7 */
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9 package org.dive4elements.river.exports.process;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import java.util.ArrayList;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 import java.util.List;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 import org.apache.log4j.Logger;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15 import org.jfree.data.xy.XYSeries;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 import org.dive4elements.artifacts.CallContext;
8354
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
19 import org.dive4elements.artifacts.CallMeta;
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
20 import org.dive4elements.river.artifacts.D4EArtifact;
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
21 import org.dive4elements.river.artifacts.access.RiverAccess;
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 import org.dive4elements.river.artifacts.model.FacetTypes;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 import org.dive4elements.river.artifacts.model.WQKms;
8354
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
24 import org.dive4elements.river.artifacts.resources.Resources;
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 import org.dive4elements.river.exports.DiagramGenerator;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 import org.dive4elements.river.exports.DischargeCurveGenerator;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 import org.dive4elements.river.exports.StyledSeriesBuilder;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 import org.dive4elements.river.exports.XYChartGenerator;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 import org.dive4elements.river.jfree.CollisionFreeXYTextAnnotation;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 import org.dive4elements.river.jfree.RiverAnnotation;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 import org.dive4elements.river.jfree.StickyAxisAnnotation;
8188
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
32 import org.dive4elements.river.jfree.StyledValueMarker;
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33 import org.dive4elements.river.jfree.StyledXYSeries;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34 import org.dive4elements.river.themes.ThemeDocument;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 import org.jfree.chart.annotations.XYTextAnnotation;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39 /** Helper for data handling in discharge diagrams. */
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 public class MiscDischargeProcessor
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 extends DefaultProcessor implements FacetTypes {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8188
diff changeset
43 private final static Logger log =
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 Logger.getLogger(MiscDischargeProcessor.class);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 /** Station for which the diagram is shown. */
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 private double km;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49 /** Tolerance for comparison of kilometers. */
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 public static final double KM_EPSILON = 0.001d;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51
8354
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
52 private String I18N_AXIS_LABEL = "chart.discharge.curve.yaxis.label";
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 /** This processor needs to be constructed with a given km. */
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 public MiscDischargeProcessor() {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 km = Double.NaN;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 public MiscDischargeProcessor(double km) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 this.km = km;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 public void doOut(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65 DiagramGenerator generator,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 ArtifactAndFacet bundle,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 ThemeDocument theme,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 boolean visible) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 CallContext context = generator.getCallContext();
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 Object data = bundle.getData(context);
8188
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
71 if (HISTORICAL_DISCHARGE_WQ_Q.equals(bundle.getFacetName())) {
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
72 doHistoricalDischargeOutQ(generator, bundle, theme, visible);
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
73 }
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
74 else if (HISTORICAL_DISCHARGE_WQ_W.equals(bundle.getFacetName())) {
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
75 doHistoricalDischargeOutW(generator, bundle, theme, visible);
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
76 }
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
77 else if (data instanceof WQKms) {
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 doWQKmsPointOut(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 generator, (WQKms) data, bundle, theme, visible);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 return;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 }
8341
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
82 if (MAINVALUES_W.equals(bundle.getFacetName())) {
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
83 doYRiverAnnotationOut(
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
84 generator, (RiverAnnotation)data, theme, visible);
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
85 return;
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
86 }
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 else if (data instanceof RiverAnnotation) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 doRiverAnnotationOut(
8341
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
89 generator, (RiverAnnotation)data, theme, visible);
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90 return;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 else if (data instanceof double[][]) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
93 doPointsOut(generator, (double[][])data, bundle, theme, visible);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
94 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
95 else {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8188
diff changeset
96 log.error("Can't process "
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
97 + data.getClass().getName() + " objects of facet "
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
98 + bundle.getFacetName());
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
99 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
100 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
101
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
102 /** Process data, add it to plot. */
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
103 @Override
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
104 public void doOut(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
105 XYChartGenerator generator,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
106 ArtifactAndFacet bundle,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
107 ThemeDocument theme,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
108 boolean visible,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
109 int axisIndex
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
110 ) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
111 CallContext context = generator.getCallContext();
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
112 Object data = bundle.getData(context);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
113 /* TODO: Remove the first case.*/
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
114 if (bundle.getFacetName().equals(STATIC_WQ)) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
115 doPointOut(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
116 generator, bundle, theme, visible, axisIndex);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
117 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
118 else if (data instanceof WQKms) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
119 doWQKmsPointOut(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
120 generator, (WQKms) data, bundle, theme, visible, axisIndex);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
121 return;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
122 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
123 else if (data instanceof RiverAnnotation) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
124 doRiverAnnotationOut(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
125 generator, (RiverAnnotation) data, bundle, theme, visible);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
126 return;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
127 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
128 else if (data instanceof double[][]) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
129 doMarksOut(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
130 generator, (double[][]) data, bundle, theme, visible);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
131 return;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
132 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
133 else {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8188
diff changeset
134 log.error("Can't process "
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
135 + data.getClass().getName() + " objects of facet "
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
136 + bundle.getFacetName());
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
137 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
138 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
139
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
140 private void doPointOut(XYChartGenerator generator,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
141 ArtifactAndFacet bundle,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
142 ThemeDocument theme,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
143 boolean visible,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
144 int axisIndex
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
145 ) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
146 XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
147 Object wq = bundle.getData(generator.getCallContext());
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
148 if (wq instanceof double[][]) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
149 double [][] data = (double [][]) wq;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
150 StyledSeriesBuilder.addPoints(series, data, true);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
151 } else if (wq instanceof WQKms) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
152 WQKms wqkms = (WQKms) wq;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
153 StyledSeriesBuilder.addPointsQW(series, (WQKms) wq);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
154 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
155
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
156 generator.addAxisSeries(series, axisIndex, visible);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
157 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
158
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
159 /** Handle WQKms data by finding w/q values at given km. */
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
160 protected void doWQKmsPointOut(XYChartGenerator generator,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
161 WQKms wqkms,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
162 ArtifactAndFacet bundle,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
163 ThemeDocument theme,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
164 boolean visible,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
165 int axidx
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
166 ) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8188
diff changeset
167 log.debug("doWQKmsPointOut");
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
168 String title = bundle.getFacetDescription();
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
169 XYSeries series = new StyledXYSeries(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
170 title,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
171 theme);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
172
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
173 double[] kms = wqkms.getKms();
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
174
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
175 for (int i = 0 ; i< kms.length; i++) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
176 if (Math.abs(kms[i] - getKm()) <= KM_EPSILON) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
177 series.add(wqkms.getQ(i), wqkms.getW(i));
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
178 generator.addAxisSeries(series, axidx, visible);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
179 if(visible && theme.parseShowPointLabel()) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
180 List<XYTextAnnotation> textAnnos = new ArrayList<XYTextAnnotation>();
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
181 XYTextAnnotation anno = new CollisionFreeXYTextAnnotation(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
182 title,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
183 wqkms.getQ(i),
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
184 // TODO add a percentage to the extend of W axis
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
185 wqkms.getW(i));
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
186 textAnnos.add(anno);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
187 RiverAnnotation flysAnno = new RiverAnnotation(null, null, null, theme);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
188 flysAnno.setTextAnnotations(textAnnos);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
189 generator.addAnnotations(flysAnno);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
190 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
191 return;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
192 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
193 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
194
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8188
diff changeset
195 log.warn("No WQ found for km " + getKm());
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
196 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
197
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
198 protected void doRiverAnnotationOut(XYChartGenerator generator,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
199 RiverAnnotation annotations,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
200 ArtifactAndFacet bundle,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
201 ThemeDocument theme,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
202 boolean visible
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
203 ) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
204 if (!(generator instanceof DischargeCurveGenerator)) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8188
diff changeset
205 log.error("DischargeProcessor can only be used in " +
8316
c086b06b81e5 Make ChartArea and thus annotations sensible for logarithmic axes (plus some minor cleanup).
"Tom Gottfried <tom@intevation.de>"
parents: 8202
diff changeset
206 "DischargeCurveGenerator-classes.");
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
207 return;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
208 }
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8188
diff changeset
209 log.debug("doRiverAnnotationOut");
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
210 DischargeCurveGenerator dGenerator =
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
211 (DischargeCurveGenerator) generator;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
212
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
213 dGenerator.translateRiverAnnotation(annotations);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
214 dGenerator.doAnnotations(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
215 annotations,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
216 bundle, theme, visible);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
217 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
218
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
219
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
220 /**
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
221 * Put Sticky Axis Markers to Y-axis for each value.
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
222 * @param data [[-,y1],[-,y2],...] ('x'-coordinates ignored)
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
223 */
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
224 protected void doMarksOut(XYChartGenerator generator,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
225 double[][] data,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
226 ArtifactAndFacet bundle,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
227 ThemeDocument theme,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
228 boolean visible
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
229 ) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8188
diff changeset
230 log.debug("doMarksOut");
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
231
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
232 if (!visible) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
233 return;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
234 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
235
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
236 // TODO subtract gauge null point if at gauge.
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
237 String title = bundle.getFacetDescription();
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
238 List<StickyAxisAnnotation> yMarks = new ArrayList<StickyAxisAnnotation>();
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
239
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
240 for (double yPos: data[1]) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
241 yMarks.add(new StickyAxisAnnotation(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
242 title,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
243 (float) yPos,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
244 StickyAxisAnnotation.SimpleAxis.Y_AXIS));
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
245 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
246
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
247 generator.doAnnotations(new RiverAnnotation(title, yMarks),
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
248 bundle, theme, visible);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
249 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
250
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
251 /** True if this processor knows how to deal with facetType. */
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
252 @Override
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
253 public boolean canHandle(String facetType) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
254 return STATIC_WQKMS_W.equals(facetType)
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
255 || MAINVALUES_Q.equals(facetType)
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
256 || MAINVALUES_W.equals(facetType)
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
257 || STATIC_W_INTERPOL.equals(facetType)
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
258 || STATIC_WQ.equals(facetType)
8188
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
259 || STATIC_WQ_ANNOTATIONS.equals(facetType)
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
260 || HISTORICAL_DISCHARGE_WQ_W.equals(facetType)
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
261 || HISTORICAL_DISCHARGE_WQ_Q.equals(facetType);
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
262 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
263
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
264
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
265 /** The station of the current calculation/view. */
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
266 protected double getKm() {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
267 return km;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
268 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
269
8188
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
270 protected void doHistoricalDischargeOutQ(
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
271 DiagramGenerator generator,
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
272 ArtifactAndFacet bundle,
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
273 ThemeDocument theme,
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
274 boolean visible
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
275 ) {
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
276 double value = Double.valueOf(
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
277 bundle.getData(generator.getCallContext()).toString());
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
278 generator.addDomainMarker(new StyledValueMarker(value, theme), visible);
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
279 }
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
280
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
281 protected void doHistoricalDischargeOutW(
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
282 DiagramGenerator generator,
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
283 ArtifactAndFacet bundle,
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
284 ThemeDocument theme,
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
285 boolean visible
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
286 ) {
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
287 double value = Double.valueOf(
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
288 bundle.getData(generator.getCallContext()).toString());
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
289 generator.addValueMarker(new StyledValueMarker(value, theme), visible);
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
290 }
407c9598352f Use processors for historical discharge curves.
Raimund Renkert <rrenkert@intevation.de>
parents: 8181
diff changeset
291
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
292 private void doPointsOut(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
293 DiagramGenerator generator,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
294 double[][] data,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
295 ArtifactAndFacet bundle,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
296 ThemeDocument theme,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
297 boolean visible
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
298 ) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
299 XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
300 StyledSeriesBuilder.addPoints(series, data, true);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
301 generator.addAxisSeries(series, axisName, visible);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
302 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
303
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
304 /** Handle WQKms data by finding w/q values at given km. */
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
305 protected void doWQKmsPointOut(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
306 DiagramGenerator generator,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
307 WQKms wqkms,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
308 ArtifactAndFacet bundle,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
309 ThemeDocument theme,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
310 boolean visible
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
311 ) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8188
diff changeset
312 log.debug("doWQKmsPointOut");
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
313 String title = bundle.getFacetDescription();
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
314 XYSeries series = new StyledXYSeries(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
315 title,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
316 theme);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
317
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
318 double[] kms = wqkms.getKms();
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
319
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
320 for (int i = 0 ; i< kms.length; i++) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
321 if (Math.abs(kms[i] - getKm()) <= KM_EPSILON) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
322 series.add(wqkms.getQ(i), wqkms.getW(i));
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
323 generator.addAxisSeries(series, axisName, visible);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
324 if(visible && theme.parseShowPointLabel()) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
325 List<XYTextAnnotation> textAnnos = new ArrayList<XYTextAnnotation>();
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
326 XYTextAnnotation anno = new CollisionFreeXYTextAnnotation(
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
327 title,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
328 wqkms.getQ(i),
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
329 // TODO add a percentage to the extend of W axis
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
330 wqkms.getW(i));
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
331 textAnnos.add(anno);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
332 RiverAnnotation flysAnno = new RiverAnnotation(null, null, null, theme);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
333 flysAnno.setTextAnnotations(textAnnos);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
334 generator.addAnnotations(flysAnno);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
335 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
336 return;
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
337 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
338 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
339
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8188
diff changeset
340 log.warn("No WQ found for km " + getKm());
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
341 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
342
8341
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
343 protected void doYRiverAnnotationOut(DiagramGenerator generator,
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
344 RiverAnnotation annotations,
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
345 ThemeDocument theme,
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
346 boolean visible
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
347 ) {
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
348 if (visible) {
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
349 annotations.setTheme(theme);
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
350 generator.addYAnnotation(annotations, axisName);
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
351 }
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
352 }
130160b8d245 Introduce annotations, which know to which axis they belong.
Tom Gottfried <tom@intevation.de>
parents: 8331
diff changeset
353
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
354 protected void doRiverAnnotationOut(DiagramGenerator generator,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
355 RiverAnnotation annotations,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
356 ThemeDocument theme,
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
357 boolean visible
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
358 ) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
359 if (visible) {
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
360 annotations.setTheme(theme);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
361 generator.addAnnotations(annotations);
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
362 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
363 }
8354
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
364
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
365 @Override
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
366 public String getAxisLabel(DiagramGenerator generator) {
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
367 CallMeta meta = generator.getCallContext().getMeta();
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
368 RiverAccess access = new RiverAccess((D4EArtifact)generator.getMaster());
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
369 String unit = access.getRiver().getWstUnit().getName();
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
370
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
371 return Resources.getMsg(
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
372 meta,
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
373 I18N_AXIS_LABEL,
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
374 new Object[] { unit });
9f9857f6c464 Added y axis label to discharge processors.
Raimund Renkert <rrenkert@intevation.de>
parents: 8341
diff changeset
375 }
8181
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
376 }
209f8a9e8a75 Added new processor to plot misc discharge data, e.g. from datacage or recommendations.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
377 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org