diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/AbstractSInfoProcessor.java @ 8886:cc86b0f9b3c3

SINFO-FlowDepth - work on tkh themes
author gernotbelger
date Wed, 14 Feb 2018 18:10:53 +0100
parents 7a8c12706834
children
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/AbstractSInfoProcessor.java	Wed Feb 14 18:10:28 2018 +0100
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/AbstractSInfoProcessor.java	Wed Feb 14 18:10:53 2018 +0100
@@ -10,16 +10,12 @@
 
 package org.dive4elements.river.artifacts.sinfo.flowdepth;
 
-import java.util.Map;
 import java.util.Set;
 
 import org.apache.log4j.Logger;
 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
-import org.dive4elements.artifacts.CallContext;
 import org.dive4elements.river.exports.DiagramGenerator;
-import org.dive4elements.river.exports.StyledSeriesBuilder;
 import org.dive4elements.river.exports.process.DefaultProcessor;
-import org.dive4elements.river.jfree.StyledXYSeries;
 import org.dive4elements.river.themes.ThemeDocument;
 
 /**
@@ -46,38 +42,18 @@
 
     @Override
     public final void doOut(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) {
-
-        final CallContext context = generator.getCallContext();
-        final Map<String, String> metaData = bundle.getFacet().getMetaData();
-
-        final StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme);
-        series.putMetaData(metaData, bundle.getArtifact(), context);
-
-        this.yAxisLabel = metaData.get("Y");
-
-        final String facetName = bundle.getFacetName();
-        final FlowDepthCalculationResult data = (FlowDepthCalculationResult) bundle.getData(context);
-        if (data == null) {
-            // Check has been here before so we keep it for security reasons
-            // this should never happen though.
-            log.error("Data is null for facet: " + facetName);
-            return;
+        try {
+            this.yAxisLabel = generateSeries(generator, bundle, theme, visible);
         }
-
-        final double[][] points = generatePoints(data, facetName);
-
-        StyledSeriesBuilder.addPoints(series, points, true);
-        generator.addAxisSeries(series, this.axisName, visible);
+        catch (final Exception e) {
+            log.error(e.getMessage(), e);
+        }
     }
 
     /**
-     * Override to implement, call super as last line for default case.
+     * @return The axis label
      */
-    protected double[][] generatePoints(@SuppressWarnings("unused") final FlowDepthCalculationResult data, final String facetName) {
-        final String error = String.format("Unknown facet name: %s", facetName);
-        log.error(error);
-        throw new UnsupportedOperationException(error);
-    }
+    protected abstract String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible);
 
     @Override
     public final boolean canHandle(final String facettype) {

http://dive4elements.wald.intevation.org