diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionCalcOverviewResult.java @ 9265:e5367900dd6d

Small cleanup concerning getPoints Adding validStations as dataItem to flood duration calculation Flood duration now km aware
author gernotbelger
date Tue, 17 Jul 2018 19:48:28 +0200
parents 3dae6b78e1da
children d194c5b24bf8
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionCalcOverviewResult.java	Tue Jul 17 19:48:23 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionCalcOverviewResult.java	Tue Jul 17 19:48:28 2018 +0200
@@ -12,6 +12,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 
+import org.apache.commons.collections.Predicate;
 import org.dive4elements.river.artifacts.common.AbstractCalculationExportableResult;
 import org.dive4elements.river.artifacts.common.ExportContextCSV;
 import org.dive4elements.river.artifacts.common.ExportContextPDF;
@@ -22,8 +23,6 @@
 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
 
-import gnu.trove.TDoubleArrayList;
-
 /**
  * Contains the results of a {@link CollisionCalculation}.
  *
@@ -48,22 +47,15 @@
 
     public double[][] getStationPointsByYear(final IResultType type, final int year) {
 
-        final TDoubleArrayList xPoints = new TDoubleArrayList(this.rows.size());
-        final TDoubleArrayList yPoints = new TDoubleArrayList(this.rows.size());
-
-        for (final ResultRow row : this.rows) {
-
-            if ((this.singleYears == null) || (Integer.valueOf(row.getValue(SInfoResultType.years).toString()) == year)) {
+        final Predicate filter = new Predicate() {
+            @Override
+            public boolean evaluate(final Object object) {
+                final ResultRow row = (ResultRow) object;
+                return getSingleYears() == null || Integer.valueOf(row.getValue(SInfoResultType.years).toString()) == year;
+            }
+        };
 
-                final double station = row.getDoubleValue(GeneralResultType.station);
-                final double value = row.getDoubleValue(type);
-
-                xPoints.add(station);
-                yPoints.add(value);
-            }
-        }
-
-        return new double[][] { xPoints.toNativeArray(), yPoints.toNativeArray() };
+        return getPoints(GeneralResultType.station, type, filter);
     }
 
     @Override

http://dive4elements.wald.intevation.org