comparison artifacts/src/main/java/org/dive4elements/river/exports/process/BedWidthProcessor.java @ 7689:4374a8d26706

(issue1225) Unify "Width" processor
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 13 Dec 2013 15:39:05 +0100
parents 1508ee33f85f
children 8faa8cfd2385
comparison
equal deleted inserted replaced
7688:9509359c8db8 7689:4374a8d26706
9 package org.dive4elements.river.exports.process; 9 package org.dive4elements.river.exports.process;
10 10
11 import org.apache.log4j.Logger; 11 import org.apache.log4j.Logger;
12 import org.jfree.data.xy.XYSeries; 12 import org.jfree.data.xy.XYSeries;
13 13
14 import java.util.List;
15
14 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; 16 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
15 import org.dive4elements.artifacts.CallContext; 17 import org.dive4elements.artifacts.CallContext;
16 import org.dive4elements.river.artifacts.model.FacetTypes; 18 import org.dive4elements.river.artifacts.model.FacetTypes;
17 import org.dive4elements.river.exports.DiagramGenerator; 19 import org.dive4elements.river.exports.DiagramGenerator;
18 import org.dive4elements.river.exports.StyledSeriesBuilder; 20 import org.dive4elements.river.exports.StyledSeriesBuilder;
19 import org.dive4elements.river.jfree.StyledXYSeries; 21 import org.dive4elements.river.jfree.StyledXYSeries;
20 import org.dive4elements.river.themes.ThemeDocument; 22 import org.dive4elements.river.themes.ThemeDocument;
21 23
22 import org.dive4elements.river.artifacts.model.minfo.BedDiffYearResult; 24 import org.dive4elements.river.artifacts.model.minfo.BedDiffYearResult;
25 import org.dive4elements.river.model.BedHeightSingleValue;
26 import org.dive4elements.river.artifacts.model.minfo.BedHeightSingleData;
27
23 import org.dive4elements.river.artifacts.model.minfo.MorphologicWidth; 28 import org.dive4elements.river.artifacts.model.minfo.MorphologicWidth;
24 29
25 public class BedWidthProcessor extends DefaultProcessor { 30 public class BedWidthProcessor extends DefaultProcessor {
26 31
27 private final static Logger logger = 32 private final static Logger logger =
47 BedDiffYearResult bData = (BedDiffYearResult) data; 52 BedDiffYearResult bData = (BedDiffYearResult) data;
48 StyledSeriesBuilder.addPoints(series, bData.getMorphWidthData(), true); 53 StyledSeriesBuilder.addPoints(series, bData.getMorphWidthData(), true);
49 } else if (data instanceof MorphologicWidth) { 54 } else if (data instanceof MorphologicWidth) {
50 MorphologicWidth bData = (MorphologicWidth) data; 55 MorphologicWidth bData = (MorphologicWidth) data;
51 StyledSeriesBuilder.addPoints(series, bData.getAsArray(), true); 56 StyledSeriesBuilder.addPoints(series, bData.getAsArray(), true);
57 } else if (data instanceof BedHeightSingleData) {
58 BedHeightSingleData bData = (BedHeightSingleData)data;
59 double[] width = bData.getMorphWidths();
60 double[] stations = bData.getStations().toNativeArray();
61
62 for (int i = 0; i < width.length; i++) {
63 series.add(stations[i], width[i], false);
64 }
65 } else if (data instanceof List<?>) {
66 List<BedHeightSingleValue> bData = (List<BedHeightSingleValue>)data;
67
68 for(BedHeightSingleValue bvalue: bData) {
69 series.add(bvalue.getStation(), bvalue.getSoundingWidth());
70 }
52 } else { 71 } else {
53 logger.error("Unknown data for facet: " + bundle.getFacetName()); 72 logger.error("Unknown data for facet: " + bundle.getFacetName());
54 } 73 }
55 74
56 generator.addAxisSeries(series, axisName, visible); 75 generator.addAxisSeries(series, axisName, visible);
57 } 76 }
58 77
59 @Override 78 @Override
60 public boolean canHandle(String facettype) { 79 public boolean canHandle(String facettype) {
61 return facettype.equals(FacetTypes.BED_DIFFERENCE_MORPH_WIDTH) || 80 return facettype.equals(FacetTypes.BED_DIFFERENCE_MORPH_WIDTH) ||
62 facettype.equals(FacetTypes.MORPHOLOGIC_WIDTH); 81 facettype.equals(FacetTypes.MORPHOLOGIC_WIDTH) ||
82 facettype.equals(FacetTypes.BEDHEIGHT_SOUNDING_WIDTH);
63 } 83 }
64 84
65 @Override 85 @Override
66 public String getAxisLabel(DiagramGenerator generator) { 86 public String getAxisLabel(DiagramGenerator generator) {
67 return generator.msg( 87 return generator.msg(

http://dive4elements.wald.intevation.org