Mercurial > dive4elements > river
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); } };