Mercurial > dive4elements > river
diff 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 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/exports/process/BedWidthProcessor.java Thu Dec 12 16:26:21 2013 +0100 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/BedWidthProcessor.java Fri Dec 13 15:39:05 2013 +0100 @@ -11,6 +11,8 @@ import org.apache.log4j.Logger; import org.jfree.data.xy.XYSeries; +import java.util.List; + import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; import org.dive4elements.artifacts.CallContext; import org.dive4elements.river.artifacts.model.FacetTypes; @@ -20,6 +22,9 @@ import org.dive4elements.river.themes.ThemeDocument; import org.dive4elements.river.artifacts.model.minfo.BedDiffYearResult; +import org.dive4elements.river.model.BedHeightSingleValue; +import org.dive4elements.river.artifacts.model.minfo.BedHeightSingleData; + import org.dive4elements.river.artifacts.model.minfo.MorphologicWidth; public class BedWidthProcessor extends DefaultProcessor { @@ -49,6 +54,20 @@ } else if (data instanceof MorphologicWidth) { MorphologicWidth bData = (MorphologicWidth) data; StyledSeriesBuilder.addPoints(series, bData.getAsArray(), true); + } else if (data instanceof BedHeightSingleData) { + BedHeightSingleData bData = (BedHeightSingleData)data; + double[] width = bData.getMorphWidths(); + double[] stations = bData.getStations().toNativeArray(); + + for (int i = 0; i < width.length; i++) { + series.add(stations[i], width[i], false); + } + } else if (data instanceof List<?>) { + List<BedHeightSingleValue> bData = (List<BedHeightSingleValue>)data; + + for(BedHeightSingleValue bvalue: bData) { + series.add(bvalue.getStation(), bvalue.getSoundingWidth()); + } } else { logger.error("Unknown data for facet: " + bundle.getFacetName()); } @@ -59,7 +78,8 @@ @Override public boolean canHandle(String facettype) { return facettype.equals(FacetTypes.BED_DIFFERENCE_MORPH_WIDTH) || - facettype.equals(FacetTypes.MORPHOLOGIC_WIDTH); + facettype.equals(FacetTypes.MORPHOLOGIC_WIDTH) || + facettype.equals(FacetTypes.BEDHEIGHT_SOUNDING_WIDTH); } @Override