diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionCalcProcessor.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 08f46ccd37ba
children 1d4262a68f1f
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionCalcProcessor.java	Mon Sep 17 19:07:57 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionCalcProcessor.java	Tue Sep 18 12:21:17 2018 +0200
@@ -60,11 +60,10 @@
     protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) {
 
         final CollisionCalcFacet facet = (CollisionCalcFacet) bundle.getFacet();
-        final int year = facet.getYear();
 
         final CollisionCalcOverviewResult result = (CollisionCalcOverviewResult) getResult(generator, bundle);
 
-        final double[][] points = result.getStationPointsByYear(SInfoResultType.collisionCount, year);
+        final double[][] points = result.getStationPointsByYear(SInfoResultType.collisionCount, facet.getYears());
 
         return buildSeriesForPoints(points, generator, bundle, theme, visible, null);
     }
@@ -76,14 +75,9 @@
         // result index; however name and index are used on client side as unique id.
 
         final CollisionCalcOverviewResult ccoResult = (CollisionCalcOverviewResult) result;
-        if (ccoResult.getSingleYears() == null) {
-            final String facetDescription = Resources.getMsg(context.getMeta(), I18N_SERIES_NAME_PATTERN, I18N_SERIES_NAME_PATTERN, result.getLabel());
-            return new CollisionCalcFacet(themeCount, resultIndex, -1, FACET_COLLISION_CALC_COUNT, facetDescription, I18N_AXIS_LABEL, ComputeType.ADVANCE, hash,
-                    id);
-        } else {
-            final String facetDescription = Resources.getMsg(context.getMeta(), I18N_SERIES_NAME_PATTERN, I18N_SERIES_NAME_PATTERN, Integer.toString(year));
-            return new CollisionCalcFacet(themeCount, resultIndex, year, COLLISION_FACETS[themeCount % 3], facetDescription, I18N_AXIS_LABEL,
-                    ComputeType.ADVANCE, hash, id);
-        }
+        final String years = CollisionCalculation.yearsToString(ccoResult.getIsEpochs(), ccoResult.getYears().get(themeCount));
+        final String facetDescription = Resources.getMsg(context.getMeta(), I18N_SERIES_NAME_PATTERN, I18N_SERIES_NAME_PATTERN, years);
+        return new CollisionCalcFacet(themeCount, resultIndex, years, COLLISION_FACETS[themeCount % 3], facetDescription, I18N_AXIS_LABEL,
+                ComputeType.ADVANCE, hash, id);
     }
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org