diff artifacts/src/main/java/org/dive4elements/river/exports/process/BedHeightProcessor.java @ 7984:cf674b03901a facet-metadata

Bedheight facet now returns double[][]. Removed obsolete processor code.
author Raimund Renkert <rrenkert@intevation.de>
date Tue, 01 Jul 2014 13:27:53 +0200
parents e844be34a606
children 5277483044d9
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/exports/process/BedHeightProcessor.java	Tue Jul 01 13:25:46 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/BedHeightProcessor.java	Tue Jul 01 13:27:53 2014 +0200
@@ -49,7 +49,9 @@
             ThemeDocument    theme,
             boolean          visible) {
         XYSeries series = prepareSeries(bundle, theme, generator.getCallContext());
-        generator.addAxisSeries(series, axisName, visible);
+        if (series != null) {
+            generator.addAxisSeries(series, axisName, visible);
+        }
     }
 
     @Override
@@ -61,68 +63,36 @@
             int index
     ) {
         XYSeries series = prepareSeries(bundle, theme, generator.getCallContext());
-        generator.addAxisSeries(series, index, visible);
+        if (series != null) {
+            generator.addAxisSeries(series, index, visible);
+        }
     }
 
     /** Prepare an series, independent of axis. */
-    private XYSeries prepareSeries(ArtifactAndFacet bundle,
-        ThemeDocument theme, CallContext context) {
-        Object data = bundle.getData(context);
+    private XYSeries prepareSeries(
+        ArtifactAndFacet bundle,
+        ThemeDocument theme,
+        CallContext context
+    ) {
         Map<String, String> metaData = bundle.getFacet().getMetaData(
             bundle.getArtifact(), context);
         StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(),
                 theme);
         series.putMetaData(metaData, bundle.getArtifact(), context);
         yAxisLabel = metaData.get("Y");
-        if (data instanceof BedDiffYearResult) {
-            BedDiffYearResult bData = (BedDiffYearResult) data;
-
-            double[][] points;
-            String facetType = bundle.getFacetName();
-
-            if (FacetTypes.BED_DIFFERENCE_YEAR_HEIGHT1.equals(facetType) ||
-                FacetTypes.BED_DIFFERENCE_YEAR_HEIGHT1_FILTERED.equals(facetType)) {
-                points = bData.getHeights1Data();
-            } else {
-                points = bData.getHeights2Data();
-            }
-            StyledSeriesBuilder.addPointsFactorY(series,
-                    points,
-                    false,
-                    GAP_TOLERANCE,
-                    1d);
-        } else if (data instanceof BedHeightSingleData) {
-            BedHeightSingleData bData = (BedHeightSingleData)data;
-            double[][] points = new double[][]
-                {bData.getStations().toNativeArray(), bData.getHeights()};
 
-            logger.debug("doBedheightSingleOut");
-            StyledSeriesBuilder.addPointsFactorY(series,
-                    points,
-                    false,
-                    GAP_TOLERANCE,
-                    1d);
+        Object raw = bundle.getData(context);
+        if (!(raw instanceof double[][])) {
+            logger.error("Unkown datatype: " + raw.getClass().getName());
+            return null;
         }
-        else if (data instanceof List<?>) {
-            List<BedHeightSingleValue> bData = (List<BedHeightSingleValue>)data;
-            double[][] points = new double[2][];
-
-            logger.debug("doBedheightSingleValueOut");
 
-            for(int i = 0; i < bData.size(); i++) {
-                BedHeightSingleValue bvalue = bData.get(i);
-                points[0][i] = bvalue.getStation();
-                points[1][i] = bvalue.getHeight();
-            }
-            StyledSeriesBuilder.addPointsFactorY(series,
-                    points,
-                    false,
-                    GAP_TOLERANCE,
-                    1d);
-        }
-        else {
-            logger.error("Unknown data type " + data.getClass());
-        }
+        double[][] data = (double[][])raw;
+        StyledSeriesBuilder.addPointsFactorY(series,
+            data,
+            false,
+            GAP_TOLERANCE,
+            1d);
         return series;
     }
 

http://dive4elements.wald.intevation.org