comparison artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffYearProcessor.java @ 6566:88b9b666872e

Minor refactoring to use processor and later use processor in WINFO-Diagrams.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Mon, 15 Jul 2013 12:24:25 +0200
parents
children
comparison
equal deleted inserted replaced
6565:7facf38edc61 6566:88b9b666872e
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
2 * Software engineering by Intevation GmbH
3 *
4 * This file is Free Software under the GNU AGPL (>=v3)
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
6 * documentation coming with Dive4Elements River for details.
7 */
8
9 package org.dive4elements.river.exports.process;
10
11 import java.util.List;
12
13 import org.apache.log4j.Logger;
14 import org.jfree.data.xy.XYSeries;
15 import org.w3c.dom.Document;
16
17 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
18 import org.dive4elements.artifacts.CallContext;
19 import org.dive4elements.river.artifacts.model.FacetTypes;
20 import org.dive4elements.river.artifacts.model.minfo.BedHeightSingle;
21 import org.dive4elements.river.artifacts.model.minfo.BedDiffYearResult;
22 import org.dive4elements.river.exports.StyledSeriesBuilder;
23 import org.dive4elements.river.exports.XYChartGenerator;
24 import org.dive4elements.river.jfree.StyledXYSeries;
25 import org.dive4elements.river.model.BedHeightSingleValue;
26
27
28 public class BedDiffYearProcessor implements Processor, FacetTypes {
29
30 private final static Logger logger =
31 Logger.getLogger(BedDiffYearProcessor.class);
32
33 @Override
34 public void doOut(
35 XYChartGenerator generator,
36 ArtifactAndFacet aandf,
37 Document theme,
38 boolean visible,
39 int index
40 ) {
41 CallContext context = generator.getCallContext();
42 Object data = aandf.getData(context);
43 if (data instanceof BedDiffYearResult) {
44 doBedDifferenceYearOut(
45 generator,
46 (BedDiffYearResult) data,
47 aandf, theme, visible, index);
48 return;
49 }
50 logger.error("Can't process " + data.getClass().getName() + " objects");
51 }
52
53 @Override
54 public boolean canHandle(String facetType) {
55 return BED_DIFFERENCE_HEIGHT_YEAR.equals(facetType)
56 || BED_DIFFERENCE_HEIGHT_YEAR_FILTERED.equals(facetType);
57 }
58
59 protected void doBedDifferenceYearOut(XYChartGenerator generator,
60 BedDiffYearResult data,
61 ArtifactAndFacet aandf,
62 Document theme,
63 boolean visible,
64 int axidx) {
65
66 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme);
67 StyledSeriesBuilder.addPoints(series, data.getHeightPerYearData(), true);
68
69 generator.addAxisSeries(series, axidx, visible);
70 }
71 }

http://dive4elements.wald.intevation.org