comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionState.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 0fc9c82e744e
children 1d4262a68f1f
comparison
equal deleted inserted replaced
9486:ce13a2f07290 9487:504f63512379
16 import org.dive4elements.river.artifacts.D4EArtifact; 16 import org.dive4elements.river.artifacts.D4EArtifact;
17 import org.dive4elements.river.artifacts.common.AbstractCalculationExportableResult; 17 import org.dive4elements.river.artifacts.common.AbstractCalculationExportableResult;
18 import org.dive4elements.river.artifacts.model.Calculation; 18 import org.dive4elements.river.artifacts.model.Calculation;
19 import org.dive4elements.river.artifacts.model.CalculationResult; 19 import org.dive4elements.river.artifacts.model.CalculationResult;
20 import org.dive4elements.river.artifacts.model.DataFacet; 20 import org.dive4elements.river.artifacts.model.DataFacet;
21 import org.dive4elements.river.artifacts.model.DateRange;
21 import org.dive4elements.river.artifacts.model.EmptyFacet; 22 import org.dive4elements.river.artifacts.model.EmptyFacet;
22 import org.dive4elements.river.artifacts.model.FacetTypes; 23 import org.dive4elements.river.artifacts.model.FacetTypes;
23 import org.dive4elements.river.artifacts.model.ReportFacet; 24 import org.dive4elements.river.artifacts.model.ReportFacet;
24 import org.dive4elements.river.artifacts.sinfo.SINFOArtifact; 25 import org.dive4elements.river.artifacts.sinfo.SINFOArtifact;
25 import org.dive4elements.river.artifacts.states.DefaultState; 26 import org.dive4elements.river.artifacts.states.DefaultState;
79 final List<AbstractCalculationExportableResult> resultList = results.getResults(); 80 final List<AbstractCalculationExportableResult> resultList = results.getResults();
80 int themeCount = 0; 81 int themeCount = 0;
81 for (int index = 0; index < resultList.size(); index++) { 82 for (int index = 0; index < resultList.size(); index++) {
82 if (resultList.get(index) instanceof CollisionCalcOverviewResult) { 83 if (resultList.get(index) instanceof CollisionCalcOverviewResult) {
83 final CollisionCalcOverviewResult result = (CollisionCalcOverviewResult) resultList.get(index); 84 final CollisionCalcOverviewResult result = (CollisionCalcOverviewResult) resultList.get(index);
84 85 for (final DateRange dr : result.getYears())
85 final int[] singleYears = result.getSingleYears(); 86 facets.add(CollisionCalcProcessor.createFacet(context, hash, this.id, result, index, dr.getFromYear(), themeCount++));
86
87 if (singleYears == null)
88 facets.add(CollisionCalcProcessor.createFacet(context, hash, this.id, result, index, -1, themeCount++));
89 else {
90 for (final int singleYear : singleYears)
91 facets.add(CollisionCalcProcessor.createFacet(context, hash, this.id, result, index, singleYear, themeCount++));
92 }
93 } 87 }
94 } 88 }
95 89
96 if (!resultList.isEmpty()) { 90 if (!resultList.isEmpty()) {
97 final Facet csv = new DataFacet(FacetTypes.CSV, "CSV data", ComputeType.ADVANCE, hash, this.id); 91 final Facet csv = new DataFacet(FacetTypes.CSV, "CSV data", ComputeType.ADVANCE, hash, this.id);

http://dive4elements.wald.intevation.org