annotate flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/AbstractFixGenerator.java @ 4377:512a3af69e18

Extract common generator method from FixLongitudinalSectionGenerator The extracted methods and code can be reused for generating charts for bed differences if fixanalysis data is loaded via the datacache.
author Björn Ricks <bjoern.ricks@intevation.de>
date Fri, 02 Nov 2012 15:47:15 +0100
parents
children 8f131a870c6f
rev   line source
4377
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.exports.fixings;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
2
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
3 import org.apache.log4j.Logger;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
4 import org.jfree.data.xy.XYSeries;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
5 import org.jfree.data.xy.XYSeriesCollection;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
6 import org.w3c.dom.Document;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
7
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
8 import de.intevation.artifactdatabase.state.ArtifactAndFacet;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
9 import de.intevation.flys.artifacts.model.fixings.AnalysisPeriod;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
10 import de.intevation.flys.artifacts.model.fixings.QWD;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
11 import de.intevation.flys.jfree.StyledXYSeries;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
12 import de.intevation.flys.utils.KMIndex;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
13
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
14 public abstract class AbstractFixGenerator extends FixChartGenerator {
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
15
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
16 public static final String I18N_DW_YAXIS_LABEL_DEFAULT =
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
17 "delta W [cm]";
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
18
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
19 public static final String I18N_DW_YAXIS_LABEL =
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
20 "chart.fixings.longitudinalsection.yaxis.label";
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
21
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
22 private final static Logger logger =
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
23 Logger.getLogger(FixLongitudinalSectionGenerator.class);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
24
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
25 @SuppressWarnings("unchecked")
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
26 protected void doSectorAverageOut(ArtifactAndFacet aaf, Document doc, boolean visible, int idx) {
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
27 logger.debug("doSectorAverageOut" + aaf.getFacet().getIndex());
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
28
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
29 int index = aaf.getFacet().getIndex();
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
30 int sectorNdx = index & 3;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
31
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
32 KMIndex<AnalysisPeriod> kms =
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
33 (KMIndex<AnalysisPeriod>)aaf.getData(context);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
34
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
35 if(kms == null) {
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
36 return;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
37 }
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
38
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
39 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), doc);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
40
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
41 for (KMIndex.Entry<AnalysisPeriod> entry: kms) {
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
42 double km = entry.getKm();
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
43 AnalysisPeriod ap = entry.getValue();
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
44 QWD qwd = ap.getQSectorAverages()[sectorNdx];
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
45 if (qwd == null) {
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
46 continue;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
47 }
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
48 double deltaW = qwd.getDeltaW();
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
49 series.add(km, deltaW);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
50 }
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
51
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
52 addAxisSeries(series, idx, visible);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
53
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
54 }
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
55
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
56 @SuppressWarnings("unchecked")
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
57 protected void doAnalysisEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible, int idx) {
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
58 logger.debug("doAnalysisEventsOut");
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
59
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
60 KMIndex<QWD> kms =
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
61 (KMIndex<QWD>)aaf.getData(context);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
62
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
63 if(kms == null) {
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
64 return;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
65 }
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
66
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
67 XYSeriesCollection col = new XYSeriesCollection();
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
68
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
69 StyledXYSeries series = new StyledXYSeries(aaf.getFacetDescription(), false, doc);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
70
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
71 for (KMIndex.Entry<QWD> entry: kms) {
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
72 double km = entry.getKm();
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
73 QWD qwd = entry.getValue();
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
74
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
75 series.add(km, qwd.getDeltaW());
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
76 }
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
77 col.addSeries(series);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
78
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
79 addAxisDataset(col, idx, visible);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
80 }
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
81
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
82 @SuppressWarnings("unchecked")
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
83 protected void doReferenceEventsOut(ArtifactAndFacet aaf, Document doc, boolean visible, int idx) {
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
84 logger.debug("doReferenceEventOut");
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
85
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
86 KMIndex<QWD> kms =
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
87 (KMIndex<QWD>)aaf.getData(context);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
88
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
89 if(kms == null) {
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
90 return;
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
91 }
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
92
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
93 XYSeriesCollection col = new XYSeriesCollection();
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
94
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
95 StyledXYSeries series = new StyledXYSeries(aaf.getFacetDescription(), false, doc);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
96
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
97 for (KMIndex.Entry<QWD> entry: kms) {
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
98 double km = entry.getKm();
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
99 QWD qwd = entry.getValue();
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
100
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
101 series.add(km, qwd.getDeltaW());
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
102 }
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
103 col.addSeries(series);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
104
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
105 addAxisDataset(col, idx, visible);
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
106 }
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
107
512a3af69e18 Extract common generator method from FixLongitudinalSectionGenerator
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
108 }

http://dive4elements.wald.intevation.org