comparison artifacts/src/main/java/org/dive4elements/river/exports/process/BedheightProcessor.java @ 7093:cdae0ff8960b generator-refactoring

Add DiagramGenerator doOut function
author Andre Heinecke <aheinecke@intevation.de>
date Mon, 23 Sep 2013 10:24:47 +0200
parents c7d8adb91576
children 1106f580420c
comparison
equal deleted inserted replaced
7092:6563262052ab 7093:cdae0ff8960b
15 15
16 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; 16 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
17 import org.dive4elements.artifacts.CallContext; 17 import org.dive4elements.artifacts.CallContext;
18 import org.dive4elements.river.artifacts.model.minfo.BedHeightSingle; 18 import org.dive4elements.river.artifacts.model.minfo.BedHeightSingle;
19 import org.dive4elements.river.exports.XYChartGenerator; 19 import org.dive4elements.river.exports.XYChartGenerator;
20 import org.dive4elements.river.exports.DiagramGenerator;
20 import org.dive4elements.river.jfree.StyledXYSeries; 21 import org.dive4elements.river.jfree.StyledXYSeries;
21 import org.dive4elements.river.model.BedHeightSingleValue; 22 import org.dive4elements.river.model.BedHeightSingleValue;
22 import org.dive4elements.river.themes.ThemeDocument; 23 import org.dive4elements.river.themes.ThemeDocument;
23 24
24 public class BedheightProcessor extends DefaultProcessor { 25 public class BedheightProcessor extends DefaultProcessor {
25 26
26 private final static Logger logger = 27 private final static Logger logger =
27 Logger.getLogger(BedheightProcessor.class); 28 Logger.getLogger(BedheightProcessor.class);
28 29
29 private final static String BEDHEIGHT = "bedheight"; 30 private final static String BEDHEIGHT = "bedheight";
31
32 @Override
33 public void doOut(
34 DiagramGenerator generator,
35 ArtifactAndFacet bundle,
36 ThemeDocument theme,
37 boolean visible) {
38 CallContext context = generator.getCallContext();
39 Object data = bundle.getData(context);
40 XYSeries series = new StyledXYSeries(bundle.getFacetDescription(),
41 theme);
42 if (data instanceof BedHeightSingle) {
43 BedHeightSingle bData = (BedHeightSingle)data;
44 double[] width = bData.getMorphWidths();
45 double[] stations = bData.getStations().toNativeArray();
46
47 logger.debug("doBedheightSingleOut");
48
49 for (int i = 0; i < width.length; i++) {
50 series.add(stations[i], width[i], false);
51 }
52 } else if (data instanceof List<?>) {
53 List<BedHeightSingleValue> bData = (List<BedHeightSingleValue>)data;
54
55 logger.debug("doBedheightSingleValueOut");
56
57 for(BedHeightSingleValue bvalue: bData) {
58 series.add(bvalue.getStation(), bvalue.getSoundingWidth());
59 }
60 }
61 generator.addAxisSeries(series, axisName, visible);
62 }
30 63
31 @Override 64 @Override
32 public void doOut( 65 public void doOut(
33 XYChartGenerator generator, 66 XYChartGenerator generator,
34 ArtifactAndFacet bundle, 67 ArtifactAndFacet bundle,

http://dive4elements.wald.intevation.org