annotate artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixDeltaWtGenerator.java @ 7691:fa4fbd66e752

(issue1579) Fix axes syncronisation at Gauges The SyncNumberAxis was completely broken. It only synced in one direction and even that did not work correctly when data was added to the axis (and the syncAxis rescaled but forgot the old axis) then there were lots of ways to bypass that scaling. And i also think the trans calculation was wrong. It has been replaced by a "mostly" simple method to just keep the W in M and W in CM+Datum axes in sync. I say "Mostly" because it had to deal with the Bounds interface.
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 13 Dec 2013 19:03:00 +0100
parents a56fe3bc6700
children e4606eae8ea5
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
9 package org.dive4elements.river.exports.fixings;
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
11 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
12 import org.dive4elements.artifacts.CallContext;
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
13 import org.dive4elements.river.artifacts.D4EArtifact;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
14 import org.dive4elements.river.artifacts.access.FixAnalysisAccess;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
15 import org.dive4elements.river.artifacts.model.DateRange;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
16 import org.dive4elements.river.artifacts.model.FacetTypes;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
17 import org.dive4elements.river.artifacts.model.QWDDateRange;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
18 import org.dive4elements.river.artifacts.model.fixings.QWD;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
19 import org.dive4elements.river.artifacts.resources.Resources;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
20 import org.dive4elements.river.exports.TimeseriesChartGenerator;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
21 import org.dive4elements.river.jfree.CollisionFreeXYTextAnnotation;
5864
f2e46a668fe6 River artifacts: Renamed FLYSAnnotation to RiverAnnotation.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
22 import org.dive4elements.river.jfree.RiverAnnotation;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
23 import org.dive4elements.river.jfree.StyledDomainMarker;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
24 import org.dive4elements.river.jfree.StyledTimeSeries;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4866
diff changeset
25 import org.dive4elements.river.jfree.StyledValueMarker;
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
26 import org.dive4elements.river.themes.ThemeDocument;
3988
090fea205d1d Fixing Delta W/t chart: reference period area can now switched to invisible (#877)
Christian Lins <christian.lins@intevation.de>
parents: 3908
diff changeset
27
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
28 import java.io.OutputStream;
3908
bd0f5a50e194 Theming and i18n of Delta W/t A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
29 import java.text.NumberFormat;
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
30 import java.util.ArrayList;
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
31 import java.util.HashMap;
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
32 import java.util.List;
3908
bd0f5a50e194 Theming and i18n of Delta W/t A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
33 import java.util.Locale;
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
34 import java.util.Map;
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
35
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
36 import org.apache.log4j.Logger;
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
37 import org.jfree.chart.annotations.XYTextAnnotation;
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
38 import org.jfree.data.time.RegularTimePeriod;
6159
41cc83e5c2a2 Prophylactic fix for DeltaWt's before 1900
Andre Heinecke <aheinecke@intevation.de>
parents: 6101
diff changeset
39 import org.jfree.data.time.FixedMillisecond;
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
40 import org.jfree.data.time.TimeSeries;
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
41 import org.jfree.data.time.TimeSeriesCollection;
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
42 import org.w3c.dom.Document;
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
43
6874
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
44 import gnu.trove.TLongHashSet;
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
45
3251
aeeb9192e395 W(t) chart point label rotation working
Christian Lins <christian.lins@intevation.de>
parents: 3242
diff changeset
46
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 /**
3251
aeeb9192e395 W(t) chart point label rotation working
Christian Lins <christian.lins@intevation.de>
parents: 3242
diff changeset
48 * Generator for Delta W(t) charts.
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50 */
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
51 public class FixDeltaWtGenerator
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
52 extends TimeseriesChartGenerator
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 implements FacetTypes
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54 {
3467
b9c2becbcc9e Towards issue745 (lines for averages in deltawt).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3438
diff changeset
55 /** Private logger. */
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
56 private static Logger logger =
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
57 Logger.getLogger(FixDeltaWtGenerator.class);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
59 public static final String I18N_CHART_TITLE =
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
60 "chart.fix.deltawt.title";
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
61
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
62 public static final String I18N_CHART_SUBTITLE =
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
63 "chart.fix.deltawt.subtitle";
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
64
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
65 public static final String I18N_XAXIS_LABEL =
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
66 "chart.fix.deltawt.xaxis.label";
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
67
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
68 public static final String I18N_YAXIS_LABEL =
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
69 "chart.fix.deltawt.yaxis.label";
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
70
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
71 public static final String I18N_YAXIS_SECOND_LABEL =
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
72 "chart.fix.deltawt.yaxis.second.label";
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
73
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
74
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
75 public static enum YAXIS {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76 dW(0);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
77 protected int idx;
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
78 private YAXIS(int c) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
79 idx = c;
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
81 }
3280
4a70525c5b0d Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3279
diff changeset
82
4a70525c5b0d Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3279
diff changeset
83
6874
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
84 private D4EArtifact artifact;
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
85
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
86 // Used to make the dates collision free.
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
87 private TLongHashSet uniqueDates = new TLongHashSet();
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
90 @Override
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
91 protected YAxisWalker getYAxisWalker() {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
92 return new YAxisWalker() {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
93 @Override
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
94 public int length() {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
95 return YAXIS.values().length;
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
96 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
97
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
98 @Override
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
99 public String getId(int idx) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
100 YAXIS[] yaxes = YAXIS.values();
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
101 return yaxes[idx].toString();
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
102 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
103 };
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
104 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
105
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
106
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
107 @Override
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
108 protected String getDefaultChartTitle() {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
109 return msg(I18N_CHART_TITLE, I18N_CHART_TITLE);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
110 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
111
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
112
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
113 @Override
3406
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3404
diff changeset
114 protected String getChartTitle() {
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3404
diff changeset
115 return Resources.format(
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3404
diff changeset
116 context.getMeta(),
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3404
diff changeset
117 I18N_CHART_TITLE,
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3404
diff changeset
118 "",
3727
b81f328da582 Removed code duplication.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3611
diff changeset
119 FixChartGenerator
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
120 .getCurrentKmFromRequest(request).doubleValue());
3406
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3404
diff changeset
121 }
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3404
diff changeset
122
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3404
diff changeset
123
3732e1bab0aa Add kilometer to chart titles
Christian Lins <christian.lins@intevation.de>
parents: 3404
diff changeset
124 @Override
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
125 protected String getDefaultChartSubtitle() {
6101
a0078e5e3b39 Removed unused context from RangeAccess and subclasses leading to some dead code removal.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
126 FixAnalysisAccess access = new FixAnalysisAccess(artifact);
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3408
diff changeset
127 DateRange dateRange = access.getDateRange();
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3408
diff changeset
128 DateRange refRange = access.getReferencePeriod();
3279
5a7b4f890d53 Delta W(t) chart subtitle fixed
Christian Lins <christian.lins@intevation.de>
parents: 3254
diff changeset
129 return Resources.format(
3280
4a70525c5b0d Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3279
diff changeset
130 context.getMeta(),
4a70525c5b0d Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3279
diff changeset
131 I18N_CHART_SUBTITLE,
4a70525c5b0d Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3279
diff changeset
132 "",
7261
a56fe3bc6700 Refactoring: Let RiverAccess.getRiver return an River.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7077
diff changeset
133 access.getRiverName(),
3409
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3408
diff changeset
134 dateRange.getFrom(),
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3408
diff changeset
135 dateRange.getTo(),
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3408
diff changeset
136 refRange.getFrom(),
97ad960f5579 Add subtitle to Fix W/Q chart and refactor addSubtitle() method(s)
Christian Lins <christian.lins@intevation.de>
parents: 3408
diff changeset
137 refRange.getTo());
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
138 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
139
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
140
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
141 @Override
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
142 protected String getDefaultXAxisLabel() {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
143 return msg(I18N_XAXIS_LABEL, I18N_XAXIS_LABEL);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
144 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
145
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
146 @Override
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
147 protected String getDefaultYAxisLabel(int pos) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
148 if (pos == 0) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
149 return msg(I18N_YAXIS_LABEL, I18N_YAXIS_LABEL);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
150 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
151 else if (pos == 1) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
152 return msg(I18N_YAXIS_SECOND_LABEL, I18N_YAXIS_SECOND_LABEL);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
153 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
154 else {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
155 return "NO TITLE FOR Y AXIS: " + pos;
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
156 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
157 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
158
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
159
3251
aeeb9192e395 W(t) chart point label rotation working
Christian Lins <christian.lins@intevation.de>
parents: 3242
diff changeset
160 @Override
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
161 public void doOut(
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
162 ArtifactAndFacet artifactFacet,
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
163 ThemeDocument theme,
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
164 boolean visible
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
165 ) {
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
166 String name = artifactFacet.getFacetName();
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
167 logger.debug("FixDeltaWtGenerator.doOut: " + name);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
168 logger.debug("Theme description is: " + artifactFacet.getFacetDescription());
3280
4a70525c5b0d Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3279
diff changeset
169
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
170 this.artifact = (D4EArtifact)artifactFacet.getArtifact();
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
171
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
172 if (name.contains(FIX_SECTOR_AVERAGE_DWT)) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
173 doSectorAverageOut(
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
174 (D4EArtifact) artifactFacet.getArtifact(),
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
175 artifactFacet.getData(context),
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
176 artifactFacet.getFacetDescription(),
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
177 theme,
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
178 visible);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
179 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
180 else if (name.equals(FIX_REFERENCE_EVENTS_DWT)) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
181 doReferenceEventsOut(
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
182 (D4EArtifact) artifactFacet.getArtifact(),
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
183 artifactFacet.getData(context),
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
184 artifactFacet.getFacetDescription(),
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
185 theme,
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
186 visible);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
187 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
188 else if (name.equals(FIX_ANALYSIS_EVENTS_DWT)) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
189 doAnalysisEventsOut(
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
190 (D4EArtifact) artifactFacet.getArtifact(),
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
191 artifactFacet.getData(context),
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
192 artifactFacet.getFacetDescription(),
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
193 theme,
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
194 visible);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
195 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
196 else if (name.equals(FIX_DEVIATION_DWT)) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
197 doDeviationOut(
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
198 (D4EArtifact) artifactFacet.getArtifact(),
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
199 artifactFacet.getData(context),
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
200 artifactFacet.getFacetDescription(),
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
201 theme,
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
202 visible);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
203 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
204 else if (name.equals(FIX_ANALYSIS_PERIODS_DWT)) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
205 doAnalysisPeriodsOut(
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
206 (D4EArtifact) artifactFacet.getArtifact(),
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
207 artifactFacet.getData(context),
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
208 artifactFacet.getFacetDescription(),
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
209 theme,
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
210 visible);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
211 }
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
212 else if (name.equals(FIX_REFERENCE_PERIOD_DWT)) {
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
213 doReferencePeriodsOut(
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
214 (D4EArtifact) artifactFacet.getArtifact(),
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
215 artifactFacet.getData(context),
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
216 artifactFacet.getFacetDescription(),
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
217 theme,
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
218 visible);
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
219 }
3770
6a08f4dc790b Manual Points for fixing charts (not working yet)
Christian Lins <christian.lins@intevation.de>
parents: 3746
diff changeset
220 else if (FacetTypes.IS.MANUALPOINTS(name)) {
6a08f4dc790b Manual Points for fixing charts (not working yet)
Christian Lins <christian.lins@intevation.de>
parents: 3746
diff changeset
221 doPoints (artifactFacet.getData(context),
6a08f4dc790b Manual Points for fixing charts (not working yet)
Christian Lins <christian.lins@intevation.de>
parents: 3746
diff changeset
222 artifactFacet,
6a08f4dc790b Manual Points for fixing charts (not working yet)
Christian Lins <christian.lins@intevation.de>
parents: 3746
diff changeset
223 theme, visible, YAXIS.dW.idx);
6a08f4dc790b Manual Points for fixing charts (not working yet)
Christian Lins <christian.lins@intevation.de>
parents: 3746
diff changeset
224 }
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
225 else {
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
226 logger.warn("doOut(): unknown facet name: " + name);
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
227 return;
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
228 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
229 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
230
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
231
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
232 protected void doReferencePeriodsOut(
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
233 D4EArtifact artifact,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
234 Object data,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
235 String desc,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
236 ThemeDocument theme,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
237 boolean visible)
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
238 {
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
239 logger.debug("doReferencePeriodsOut()");
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
240
3988
090fea205d1d Fixing Delta W/t chart: reference period area can now switched to invisible (#877)
Christian Lins <christian.lins@intevation.de>
parents: 3908
diff changeset
241 if (visible) {
6101
a0078e5e3b39 Removed unused context from RangeAccess and subclasses leading to some dead code removal.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
242 FixAnalysisAccess access = new FixAnalysisAccess(artifact);
3988
090fea205d1d Fixing Delta W/t chart: reference period area can now switched to invisible (#877)
Christian Lins <christian.lins@intevation.de>
parents: 3908
diff changeset
243 DateRange refRange = access.getReferencePeriod();
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
244
6159
41cc83e5c2a2 Prophylactic fix for DeltaWt's before 1900
Andre Heinecke <aheinecke@intevation.de>
parents: 6101
diff changeset
245 RegularTimePeriod start = new FixedMillisecond(refRange.getFrom());
41cc83e5c2a2 Prophylactic fix for DeltaWt's before 1900
Andre Heinecke <aheinecke@intevation.de>
parents: 6101
diff changeset
246 RegularTimePeriod end = new FixedMillisecond(refRange.getTo());
3988
090fea205d1d Fixing Delta W/t chart: reference period area can now switched to invisible (#877)
Christian Lins <christian.lins@intevation.de>
parents: 3908
diff changeset
247 StyledDomainMarker marker = new StyledDomainMarker(
090fea205d1d Fixing Delta W/t chart: reference period area can now switched to invisible (#877)
Christian Lins <christian.lins@intevation.de>
parents: 3908
diff changeset
248 start.getMiddleMillisecond(),
090fea205d1d Fixing Delta W/t chart: reference period area can now switched to invisible (#877)
Christian Lins <christian.lins@intevation.de>
parents: 3908
diff changeset
249 end.getMiddleMillisecond(),
090fea205d1d Fixing Delta W/t chart: reference period area can now switched to invisible (#877)
Christian Lins <christian.lins@intevation.de>
parents: 3908
diff changeset
250 theme);
090fea205d1d Fixing Delta W/t chart: reference period area can now switched to invisible (#877)
Christian Lins <christian.lins@intevation.de>
parents: 3908
diff changeset
251 domainMarker.add(marker);
090fea205d1d Fixing Delta W/t chart: reference period area can now switched to invisible (#877)
Christian Lins <christian.lins@intevation.de>
parents: 3908
diff changeset
252 }
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
253 }
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
254
6874
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
255 private long uniqueDate(long date) {
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
256 return uniqueDates.add(date)
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
257 ? date
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
258 : uniqueDate(date+30L*1000L); // add 30secs.
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
259 }
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
260
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
261
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
262 protected void doSectorAverageOut(
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
263 D4EArtifact artifact,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
264 Object data,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
265 String desc,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
266 ThemeDocument theme,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
267 boolean visible)
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
268 {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
269 logger.debug("doSectorAverageOut(): description = " + desc);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
270
3467
b9c2becbcc9e Towards issue745 (lines for averages in deltawt).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3438
diff changeset
271 QWDDateRange qwd = (QWDDateRange) data;
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
272 TimeSeriesCollection tsc = new TimeSeriesCollection();
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
273 TimeSeries series = new StyledTimeSeries(desc, theme);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
274
3467
b9c2becbcc9e Towards issue745 (lines for averages in deltawt).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3438
diff changeset
275 if (qwd == null || qwd.qwd == null || qwd.dateRange == null) {
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
276 return;
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
277 }
6159
41cc83e5c2a2 Prophylactic fix for DeltaWt's before 1900
Andre Heinecke <aheinecke@intevation.de>
parents: 6101
diff changeset
278 RegularTimePeriod rtp = new FixedMillisecond(qwd.qwd.getDate());
3467
b9c2becbcc9e Towards issue745 (lines for averages in deltawt).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3438
diff changeset
279 double value = qwd.qwd.getDeltaW();
3611
a74bdd032cf7 FixA: Changed sector average form point to line in delta W(t) chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3610
diff changeset
280
3467
b9c2becbcc9e Towards issue745 (lines for averages in deltawt).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3438
diff changeset
281 // Draw a line spanning the analysis time.
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
282 series.add(rtp, value);
6835
9bd2d5c40f17 Part of flys/issue1168: Show discharge sector averages as lines again.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6159
diff changeset
283 rtp = new FixedMillisecond(qwd.dateRange.getFrom());
3611
a74bdd032cf7 FixA: Changed sector average form point to line in delta W(t) chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3610
diff changeset
284 series.addOrUpdate(rtp, value);
6835
9bd2d5c40f17 Part of flys/issue1168: Show discharge sector averages as lines again.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6159
diff changeset
285 rtp = new FixedMillisecond(qwd.dateRange.getTo());
3611
a74bdd032cf7 FixA: Changed sector average form point to line in delta W(t) chart.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3610
diff changeset
286 series.addOrUpdate(rtp, value);
3467
b9c2becbcc9e Towards issue745 (lines for averages in deltawt).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3438
diff changeset
287
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
288 tsc.addSeries(series);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
289
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
290 addAxisDataset(tsc, 0, visible);
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
291
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
292 if (visible && theme.parseShowLineLabel()) {
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
293 List<XYTextAnnotation> textAnnos = new ArrayList<XYTextAnnotation>();
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
294 XYTextAnnotation anno = new CollisionFreeXYTextAnnotation(
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
295 "\u0394 W(t) [cm] " + (float)Math.round(qwd.qwd.getDeltaW() * 10000) / 10000,
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
296 tsc.getXValue(0, 0),
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
297 qwd.qwd.getDeltaW());
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
298 textAnnos.add(anno);
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
299
5864
f2e46a668fe6 River artifacts: Renamed FLYSAnnotation to RiverAnnotation.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
300 RiverAnnotation flysAnno = new RiverAnnotation(null, null, null, theme);
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
301 flysAnno.setTextAnnotations(textAnnos);
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
302 addAnnotations(flysAnno);
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
303 }
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
304 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
305
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
306
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
307 protected void doAnalysisEventsOut(
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
308 D4EArtifact artifact,
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
309 Object data,
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
310 String desc,
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
311 ThemeDocument theme,
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
312 boolean visible
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
313 ) {
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
314 logger.debug("doAnalysisEventsOut: desc = " + desc);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
315
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
316 QWD qwd = (QWD) data;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
317 doQWDEventsOut(qwd, desc, theme, visible);
3438
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
318 }
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
319
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
320
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
321 protected void doQWDEventsOut(QWD qwd, String desc, ThemeDocument theme, boolean visible)
3438
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
322 {
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
323 TimeSeriesCollection tsc = new TimeSeriesCollection();
3134
5a0aef74c316 Use different stylings for real and interpolated data points.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3131
diff changeset
324
5a0aef74c316 Use different stylings for real and interpolated data points.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3131
diff changeset
325 TimeSeries series = new StyledTimeSeries(desc, theme);
5a0aef74c316 Use different stylings for real and interpolated data points.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3131
diff changeset
326 TimeSeries interpol = new StyledTimeSeries(desc + "interpol", theme);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
327
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
328 if (qwd == null) {
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
329 logger.debug("doQWDEventsOut: qwd == null");
3212
abc2db630815 Work in generalized annotations for chart generators
Christian Lins <christian.lins@intevation.de>
parents: 3210
diff changeset
330 return;
abc2db630815 Work in generalized annotations for chart generators
Christian Lins <christian.lins@intevation.de>
parents: 3210
diff changeset
331 }
abc2db630815 Work in generalized annotations for chart generators
Christian Lins <christian.lins@intevation.de>
parents: 3210
diff changeset
332
abc2db630815 Work in generalized annotations for chart generators
Christian Lins <christian.lins@intevation.de>
parents: 3210
diff changeset
333 Map<Integer, int[]> annoIdxMap = new HashMap<Integer, int[]>();
abc2db630815 Work in generalized annotations for chart generators
Christian Lins <christian.lins@intevation.de>
parents: 3210
diff changeset
334
3237
1cad94fa0817 Fix array-index-oobs in FixDeltaWtGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3234
diff changeset
335 int idxInterpol = 0;
1cad94fa0817 Fix array-index-oobs in FixDeltaWtGenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3234
diff changeset
336 int idxRegular = 0;
6874
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
337 long time = uniqueDate(qwd.getDate().getTime());
d9dfa52f69eb FixA Delta W(t): Add 30 seconds to colliding dates to avoid them vanishing from the diagrams.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6835
diff changeset
338 RegularTimePeriod rtp = new FixedMillisecond(time);
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
339 double value = qwd.getDeltaW();
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
340 boolean interpolate = qwd.getInterpolated();
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
341 if (interpolate) {
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
342 if(interpol.addOrUpdate(rtp, value) == null) {
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
343 annoIdxMap.put(
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
344 0,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
345 new int[]{1, idxInterpol});
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
346 idxInterpol++;
3134
5a0aef74c316 Use different stylings for real and interpolated data points.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3131
diff changeset
347 }
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
348 }
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
349 else {
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
350 if(series.addOrUpdate(rtp, value) == null) {
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
351 annoIdxMap.put(
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
352 0,
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
353 new int[]{0, idxRegular});
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
354 idxRegular++;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
355 }
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
356 }
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
357
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
358 tsc.addSeries(series);
3134
5a0aef74c316 Use different stylings for real and interpolated data points.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3131
diff changeset
359 tsc.addSeries(interpol);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
360 addAxisDataset(tsc, 0, visible);
3134
5a0aef74c316 Use different stylings for real and interpolated data points.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3131
diff changeset
361 addAttribute(desc + "interpol", "interpolate");
3168
e10323bf3cbc Look for the attribut "outline" in TimeseriesChartGenerator to render shape
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3139
diff changeset
362 addAttribute(desc, "outline");
3212
abc2db630815 Work in generalized annotations for chart generators
Christian Lins <christian.lins@intevation.de>
parents: 3210
diff changeset
363
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
364 doQWDTextAnnotations(annoIdxMap, tsc, qwd, theme, visible);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
365 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
366
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
367
3438
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
368 /**
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
369 * @param annoIdxMap map of index in qwds to series/data item indices in tsc.
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
370 */
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
371 protected void doQWDTextAnnotations(Map<Integer, int[]> annoIdxMap,
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
372 TimeSeriesCollection tsc, QWD qwd, ThemeDocument theme,
3438
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
373 boolean visible) {
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
374 logger.debug("doQWDTextAnnotation()");
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
375
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
376 if (!visible || !theme.parseShowPointLabel()) {
3438
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
377 logger.debug("doQWDTextAnnotation: annotation not visible");
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
378 return;
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
379 }
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
380
3908
bd0f5a50e194 Theming and i18n of Delta W/t A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
381 Locale locale = Resources.getLocale(context.getMeta());
bd0f5a50e194 Theming and i18n of Delta W/t A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
382 NumberFormat nf = NumberFormat.getInstance(locale);
bd0f5a50e194 Theming and i18n of Delta W/t A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
383
3438
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
384 List<XYTextAnnotation> textAnnos = new ArrayList<XYTextAnnotation>();
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
385
4050
975f608dd254 Cleaned up iterating over maps. Removed some dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3988
diff changeset
386 for (int[] idxs: annoIdxMap.values()) {
975f608dd254 Cleaned up iterating over maps. Removed some dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3988
diff changeset
387
3438
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
388 double x = tsc.getXValue(idxs[0], idxs[1]);
3908
bd0f5a50e194 Theming and i18n of Delta W/t A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
389
3438
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
390 XYTextAnnotation anno = new CollisionFreeXYTextAnnotation(
3908
bd0f5a50e194 Theming and i18n of Delta W/t A1/B facets
Christian Lins <christian.lins@intevation.de>
parents: 3907
diff changeset
391 nf.format(qwd.getQ()) + " m\u00B3/s",
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
392 x,
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
393 qwd.getDeltaW());
3438
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
394 textAnnos.add(anno);
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
395 }
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
396
5864
f2e46a668fe6 River artifacts: Renamed FLYSAnnotation to RiverAnnotation.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
397 RiverAnnotation flysAnno = new RiverAnnotation(null, null, null, theme);
3438
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
398 flysAnno.setTextAnnotations(textAnnos);
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
399 addAnnotations(flysAnno);
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
400 }
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
401
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
402
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
403 protected void doReferenceEventsOut(
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
404 D4EArtifact artifact,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
405 Object data,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
406 String desc,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
407 ThemeDocument theme,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
408 boolean visible
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
409 ) {
3438
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
410 logger.debug("doReferenceEventsOut: desc = " + desc);
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
411
3610
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
412 QWD qwd = (QWD) data;
66f539df4e8b Issue 716.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 3562
diff changeset
413 doQWDEventsOut(qwd, desc, theme, visible);
3438
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
414 }
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
415
b9aff8d6ff74 Simplify annotation code
Christian Lins <christian.lins@intevation.de>
parents: 3409
diff changeset
416
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
417 protected void doDeviationOut(
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
418 D4EArtifact artifact,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
419 Object data,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
420 String desc,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
421 ThemeDocument theme,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
422 boolean visible
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
423 ) {
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
424 logger.debug("doDeviationOut: desc = " + desc);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
425
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
426 if (data == null || !visible) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
427 logger.debug("no standard deviation");
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
428 return;
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
429 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
430 double[] value = (double[]) data;
3254
9a4707ec7800 Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents: 3251
diff changeset
431 StyledDomainMarker lower = new StyledDomainMarker((value[0] * -1), 0, theme);
9a4707ec7800 Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents: 3251
diff changeset
432 StyledDomainMarker upper = new StyledDomainMarker(0, value[0], theme);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
433
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
434 valueMarker.add(lower);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
435 valueMarker.add(upper);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
436 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
437
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
438
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
439 protected void doAnalysisPeriodsOut(
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5864
diff changeset
440 D4EArtifact artifact,
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
441 Object data,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
442 String desc,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
443 ThemeDocument theme,
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
444 boolean visible)
3907
9a2c38fb5f29 Add reference period facet to delta W/t chart
Christian Lins <christian.lins@intevation.de>
parents: 3770
diff changeset
445 {
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
446 DateRange[] ranges = (DateRange[]) data;
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
447 if (ranges == null || !visible) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
448 return;
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
449 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
450 for (int i = 0; i < ranges.length; i++) {
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
451 logger.debug("creating domain marker");
6159
41cc83e5c2a2 Prophylactic fix for DeltaWt's before 1900
Andre Heinecke <aheinecke@intevation.de>
parents: 6101
diff changeset
452 RegularTimePeriod start = new FixedMillisecond(ranges[i].getFrom());
41cc83e5c2a2 Prophylactic fix for DeltaWt's before 1900
Andre Heinecke <aheinecke@intevation.de>
parents: 6101
diff changeset
453 RegularTimePeriod end = new FixedMillisecond(ranges[i].getTo());
3254
9a4707ec7800 Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents: 3251
diff changeset
454 StyledDomainMarker marker =
3746
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
455 new StyledDomainMarker(start.getMiddleMillisecond(),
7bc61f4ab26b Fix for #837
Christian Lins <christian.lins@intevation.de>
parents: 3727
diff changeset
456 end.getMiddleMillisecond(), theme);
3254
9a4707ec7800 Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents: 3251
diff changeset
457 marker.useSecondColor(i % 2 == 0);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
458 domainMarker.add(marker);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
459 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
460 logger.debug("domainmarkers: " + domainMarker.size());
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
461 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
462
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
463
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
464 @Override
7077
0a337f0005c2 Extended init() of OutGenerator to take name of the out to serve.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6905
diff changeset
465 public void init(String outName, Document request, OutputStream out, CallContext context) {
0a337f0005c2 Extended init() of OutGenerator to take name of the out to serve.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6905
diff changeset
466 super.init(outName, request, out, context);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
467
3727
b81f328da582 Removed code duplication.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3611
diff changeset
468 Double currentKm = FixChartGenerator.getCurrentKmFromRequest(request);
3404
d7b065b88f10 Simplified code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3286
diff changeset
469
d7b065b88f10 Simplified code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3286
diff changeset
470 if (logger.isDebugEnabled()) {
d7b065b88f10 Simplified code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3286
diff changeset
471 logger.debug("currentKm = " + currentKm);
d7b065b88f10 Simplified code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3286
diff changeset
472 }
d7b065b88f10 Simplified code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3286
diff changeset
473
d7b065b88f10 Simplified code.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3286
diff changeset
474 context.putContextValue("currentKm", currentKm);
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
475
6905
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
476 // XXX: This looks hackish!
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
477 StyledValueMarker marker =
1b35b2ddfc28 Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6874
diff changeset
478 new StyledValueMarker(0, new ThemeDocument(request));
3131
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
479 valueMarker.add(marker);
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
480 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
481 }
bac0b2721451 FixA: Added delta W(t) chart in fix analysis.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
482 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org