Mercurial > dive4elements > river
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( |