annotate artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffHeightYearProcessor.java @ 6905:1b35b2ddfc28

Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 22 Aug 2013 23:31:38 +0200
parents cbe9ac4380a5
children 1011a40ee79c
rev   line source
6566
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
3 *
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
7 */
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
8
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
9 package org.dive4elements.river.exports.process;
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
10
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
11 import org.apache.log4j.Logger;
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
12 import org.jfree.data.xy.XYSeries;
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
13
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
14 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
15 import org.dive4elements.artifacts.CallContext;
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
16 import org.dive4elements.river.artifacts.model.FacetTypes;
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
17 import org.dive4elements.river.artifacts.model.minfo.BedDiffYearResult;
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
18 import org.dive4elements.river.exports.StyledSeriesBuilder;
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
19 import org.dive4elements.river.exports.XYChartGenerator;
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
20 import org.dive4elements.river.jfree.StyledXYSeries;
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: 6778
diff changeset
21 import org.dive4elements.river.themes.ThemeDocument;
6566
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
22
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
23
6567
e8de5e135bf3 Moved BedDiffYearProcessor to BedDiffHeightYearProcessor.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6566
diff changeset
24 public class BedDiffHeightYearProcessor implements Processor, FacetTypes {
6566
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
25
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
26 private final static Logger logger =
6567
e8de5e135bf3 Moved BedDiffYearProcessor to BedDiffHeightYearProcessor.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6566
diff changeset
27 Logger.getLogger(BedDiffHeightYearProcessor.class);
6566
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
28
6778
cbe9ac4380a5 issue1439: Show line segments for points that have gaps on both sides. Small refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6771
diff changeset
29 protected static double GAP_TOLERANCE = 0.101d;
cbe9ac4380a5 issue1439: Show line segments for points that have gaps on both sides. Small refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6771
diff changeset
30
6566
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
31 @Override
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
32 public void doOut(
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
33 XYChartGenerator generator,
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
34 ArtifactAndFacet aandf,
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: 6778
diff changeset
35 ThemeDocument theme,
6566
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
36 boolean visible,
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
37 int index
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
38 ) {
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
39 CallContext context = generator.getCallContext();
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
40 Object data = aandf.getData(context);
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
41 if (data instanceof BedDiffYearResult) {
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
42 doBedDifferenceYearOut(
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
43 generator,
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
44 (BedDiffYearResult) data,
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
45 aandf, theme, visible, index);
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
46 return;
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
47 }
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
48 logger.error("Can't process " + data.getClass().getName() + " objects");
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
49 }
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
50
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
51 @Override
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
52 public boolean canHandle(String facetType) {
6583
e7e5b40cccc3 Commit omitted patch for BedDiffHeightYearProcessor.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6573
diff changeset
53 return BED_DIFFERENCE_HEIGHT_YEAR.equals(facetType) // from BedDiffYearHeight
e7e5b40cccc3 Commit omitted patch for BedDiffHeightYearProcessor.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6573
diff changeset
54 || BED_DIFFERENCE_HEIGHT_YEAR_FILTERED.equals(facetType) // from BedDiffYearHeight
e7e5b40cccc3 Commit omitted patch for BedDiffHeightYearProcessor.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6573
diff changeset
55 || BED_DIFFERENCE_YEAR.equals(facetType) // from BedDifferencesYear
e7e5b40cccc3 Commit omitted patch for BedDiffHeightYearProcessor.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6573
diff changeset
56 || BED_DIFFERENCE_YEAR_FILTERED.equals(facetType); // from BedDifferencesYear
6566
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
57 }
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
58
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
59 protected void doBedDifferenceYearOut(XYChartGenerator generator,
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
60 BedDiffYearResult data,
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
61 ArtifactAndFacet aandf,
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: 6778
diff changeset
62 ThemeDocument theme,
6566
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
63 boolean visible,
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
64 int axidx) {
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
65
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
66 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
6778
cbe9ac4380a5 issue1439: Show line segments for points that have gaps on both sides. Small refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6771
diff changeset
67 StyledSeriesBuilder.addPoints(series, data.getHeightPerYearData(), false, GAP_TOLERANCE);
6566
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
68
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
69 generator.addAxisSeries(series, axidx, visible);
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
70 }
88b9b666872e Minor refactoring to use processor and later use processor in WINFO-Diagrams.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
71 }
6567
e8de5e135bf3 Moved BedDiffYearProcessor to BedDiffHeightYearProcessor.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 6566
diff changeset
72 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org