diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/AbstractSInfoLineProcessor.java @ 8946:5d5d482da3e9

Implementing SINFO - FlowDepthMinMax calculation
author gernotbelger
date Tue, 13 Mar 2018 18:49:33 +0100
parents 82998242ba84
children a4f1ac81f26d
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/AbstractSInfoLineProcessor.java	Tue Mar 13 09:55:53 2018 +0100
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/AbstractSInfoLineProcessor.java	Tue Mar 13 18:49:33 2018 +0100
@@ -26,7 +26,7 @@
 import org.dive4elements.river.jfree.StyledXYSeries;
 import org.dive4elements.river.themes.ThemeDocument;
 
-abstract class AbstractSInfoLineProcessor extends AbstractSInfoProcessor {
+abstract class AbstractSInfoLineProcessor<RESULT extends AbstractSInfoCalculationResult<?>> extends AbstractSInfoProcessor {
 
     public AbstractSInfoLineProcessor(final String i18nAxisLabel, final Set<String> handledFacetType) {
         super(i18nAxisLabel, handledFacetType);
@@ -44,7 +44,8 @@
         series.putMetaData(metaData, artifact, context);
 
         final String facetName = bundle.getFacetName();
-        final AbstractSInfoCalculationResult<?> data = (AbstractSInfoCalculationResult<?>) bundle.getData(context);
+        @SuppressWarnings("unchecked")
+        final RESULT data = (RESULT) bundle.getData(context);
         if (data == null) {
             // Check has been here before so we keep it for security reasons
             // this should never happen though.
@@ -74,7 +75,7 @@
         return scales.getRadius(river, start, end);
     }
 
-    private double[][] generatePoints(final CallContext context, final Artifact artifact, final AbstractSInfoCalculationResult<?> data,
+    private double[][] generatePoints(final CallContext context, final Artifact artifact, final RESULT data,
             final String facetName) {
 
         final double[][] points = doGetPoints(data, facetName);
@@ -87,7 +88,7 @@
         return points;
     }
 
-    protected abstract double[][] doGetPoints(AbstractSInfoCalculationResult<?> data, String facetName);
+    protected abstract double[][] doGetPoints(RESULT data, String facetName);
 
     private double[][] movingAverage(final Double radius, final double[][] points) {
 

http://dive4elements.wald.intevation.org