diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionCalcOverviewResult.java @ 9487:504f63512379

Sinfo collisions: calculation of multiple epochs, avoiding duplicate collision events in the details report
author mschaefer
date Tue, 18 Sep 2018 12:21:17 +0200
parents d194c5b24bf8
children
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionCalcOverviewResult.java	Mon Sep 17 19:07:57 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionCalcOverviewResult.java	Tue Sep 18 12:21:17 2018 +0200
@@ -11,6 +11,7 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 
 import org.apache.commons.collections.Predicate;
 import org.dive4elements.river.artifacts.common.AbstractCalculationExportableResult;
@@ -20,6 +21,7 @@
 import org.dive4elements.river.artifacts.common.IResultType;
 import org.dive4elements.river.artifacts.common.MetaAndTableJRDataSource;
 import org.dive4elements.river.artifacts.common.ResultRow;
+import org.dive4elements.river.artifacts.model.DateRange;
 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
 
@@ -34,24 +36,31 @@
 
     private static final String JASPER_FILE = "/jasper/templates/sinfo.collision.overview.jrxml";
 
-    private final int[] singleYears;
+    private final boolean isEpochs;
 
-    public CollisionCalcOverviewResult(final String label, final int[] singleYears, final Collection<ResultRow> rows) {
+    private final List<DateRange> years;
+
+    public CollisionCalcOverviewResult(final String label, final boolean isEpochs, final Collection<DateRange> years, final Collection<ResultRow> rows) {
         super(label, rows);
-        this.singleYears = singleYears;
+        this.isEpochs = isEpochs;
+        this.years = new ArrayList<>(years);
     }
 
-    public int[] getSingleYears() {
-        return this.singleYears;
+    public boolean getIsEpochs() {
+        return this.isEpochs;
     }
 
-    public double[][] getStationPointsByYear(final IResultType type, final int year) {
+    public List<DateRange> getYears() {
+        return this.years;
+    }
+
+    public double[][] getStationPointsByYear(final IResultType type, final String years) {
 
         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;
+                return row.getValue(SInfoResultType.years).toString().equals(years);
             }
         };
 

http://dive4elements.wald.intevation.org