Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/AbstractFixGenerator.java @ 4437:dd8a63002fb8
Only put current Km to the context if it is a valid km
Don't set the current km to the invalid value.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Tue, 06 Nov 2012 15:51:43 +0100 |
parents | 512a3af69e18 |
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 } |