diff artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffHeightYearProcessor.java @ 7985:10debf4b82be facet-metadata

Split bed differences facet into data specific facets.
author Raimund Renkert <rrenkert@intevation.de>
date Tue, 01 Jul 2014 15:09:56 +0200
parents e844be34a606
children b5cba2690347
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffHeightYearProcessor.java	Tue Jul 01 13:27:53 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffHeightYearProcessor.java	Tue Jul 01 15:09:56 2014 +0200
@@ -49,17 +49,36 @@
             DiagramGenerator generator,
             ArtifactAndFacet bundle,
             ThemeDocument    theme,
-            boolean          visible) {
+            boolean          visible
+    ) {
         CallContext context = generator.getCallContext();
         Object data = bundle.getData(context);
         Map<String, String> metaData = bundle.getFacet().getMetaData(
             bundle.getArtifact(), context);
 
-        if (!(data instanceof BedDiffYearResult)) {
+        if (!(data instanceof double[][])) {
             // Should not happen if canHandle is correct
             logger.error("Can't process " + data.getClass().getName() + " objects");
             return;
         }
+
+        setSubtitleRadius(generator, bundle, context);
+
+        double[][] bData = (double[][]) data;
+
+        StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme);
+        series.putMetaData(metaData, bundle.getArtifact(), context);
+
+        StyledSeriesBuilder.addPoints(series, bData, false, GAP_TOLERANCE);
+
+        generator.addAxisSeries(series, axisName, visible);
+    }
+
+    private void setSubtitleRadius(
+        DiagramGenerator generator,
+        ArtifactAndFacet bundle,
+        CallContext context
+    ) {
         Double start = (Double)context.getContextValue("startkm");
         Double end = (Double)context.getContextValue("endkm");
         if (start != null && end != null) {
@@ -76,12 +95,6 @@
                 I18N_SUBTITLE_RADIUS,
                 new Object[] { radius }));
         }
-        BedDiffYearResult bData = (BedDiffYearResult) data;
-        StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme);
-        series.putMetaData(metaData, bundle.getArtifact(), context);
-        StyledSeriesBuilder.addPoints(series, bData.getHeightPerYearData(), false, GAP_TOLERANCE);
-
-        generator.addAxisSeries(series, axisName, visible);
     }
 
     @Override
@@ -95,15 +108,15 @@
         CallContext context = generator.getCallContext();
         Object data = bundle.getData(context);
 
-        if (!(data instanceof BedDiffYearResult)) {
+        if (!(data instanceof double[][])) {
             // Should not happen if canHandle is correct
             logger.error("Can't process " + data.getClass().getName() + " objects");
             return;
         }
 
-        BedDiffYearResult bData = (BedDiffYearResult) data;
+        double[][] bData = (double[][]) data;
         XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme);
-        StyledSeriesBuilder.addPoints(series, bData.getHeightPerYearData(), false, GAP_TOLERANCE);
+        StyledSeriesBuilder.addPoints(series, bData, false, GAP_TOLERANCE);
 
         generator.addAxisSeries(series, index, visible);
     }

http://dive4elements.wald.intevation.org