comparison flys-artifacts/src/main/java/org/dive4elements/river/exports/process/BedheightProcessor.java @ 5831:bd047b71ab37

Repaired internal references
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:06:39 +0200
parents flys-artifacts/src/main/java/de/intevation/flys/exports/process/BedheightProcessor.java@2fadc6c5cdad
children
comparison
equal deleted inserted replaced
5830:160f53ee0870 5831:bd047b71ab37
1 package org.dive4elements.river.exports.process;
2
3 import java.util.List;
4
5 import org.apache.log4j.Logger;
6 import org.jfree.data.xy.XYSeries;
7 import org.w3c.dom.Document;
8
9 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
10 import org.dive4elements.artifacts.CallContext;
11 import org.dive4elements.river.artifacts.model.minfo.BedHeightSingle;
12 import org.dive4elements.river.exports.XYChartGenerator;
13 import org.dive4elements.river.jfree.StyledXYSeries;
14 import org.dive4elements.river.model.BedHeightSingleValue;
15
16 public class BedheightProcessor implements Processor {
17
18 private final static Logger logger =
19 Logger.getLogger(BedheightProcessor.class);
20
21 private final static String BEDHEIGHT = "bedheight";
22
23 @Override
24 public void doOut(
25 XYChartGenerator generator,
26 ArtifactAndFacet aandf,
27 Document theme,
28 boolean visible,
29 int index
30 ) {
31 CallContext context = generator.getCallContext();
32 Object data = aandf.getData(context);
33 if (data instanceof BedHeightSingle) {
34 doBedheightSingleOut(generator, aandf, theme, index, visible,
35 (BedHeightSingle)data);
36 }
37 else if (data instanceof List<?>) {
38 doBedheightSingeValuesOut(generator, aandf, theme, index, visible,
39 (List<BedHeightSingleValue>)data);
40 }
41 logger.error("Can't process " + data.getClass().getName() + " objects");
42 }
43
44 private void doBedheightSingeValuesOut(XYChartGenerator generator,
45 ArtifactAndFacet aandf, Document theme, int index, boolean visible,
46 List<BedHeightSingleValue> data) {
47 logger.debug("doBedheightSingleOut");
48
49 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(),
50 theme);
51 for(BedHeightSingleValue bvalue: data) {
52 series.add(bvalue.getStation(), bvalue.getSoundingWidth());
53 }
54 generator.addAxisSeries(series, index, visible);
55 }
56
57 @Override
58 public boolean canHandle(String facettype) {
59 return BEDHEIGHT.equals(facettype);
60 }
61
62 public void doBedheightSingleOut(XYChartGenerator generator,
63 ArtifactAndFacet aandf, Document theme, int index, boolean visible,
64 BedHeightSingle data) {
65 double[] width = data.getMorphWidths();
66 double[] stations = data.getStations().toNativeArray();
67
68 logger.debug("doBedheightSingleOut");
69
70 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(),
71 theme);
72
73 for (int i = 0; i < width.length; i++) {
74 series.add(stations[i], width[i], false);
75 }
76
77 generator.addAxisSeries(series, index, visible);
78 }
79 }

http://dive4elements.wald.intevation.org