comparison artifacts/src/main/java/org/dive4elements/river/artifacts/common/AbstractCalculationResults.java @ 9170:9b2e46090099

tkh cast exception fix gigantic refactoring 2
author gernotbelger
date Thu, 21 Jun 2018 14:32:11 +0200
parents bb929b444ea5
children
comparison
equal deleted inserted replaced
9169:1f94b3673ed3 9170:9b2e46090099
8 * documentation coming with Dive4Elements River for details. 8 * documentation coming with Dive4Elements River for details.
9 */ 9 */
10 package org.dive4elements.river.artifacts.common; 10 package org.dive4elements.river.artifacts.common;
11 11
12 import java.io.Serializable; 12 import java.io.Serializable;
13 import java.util.ArrayList;
14 import java.util.Collections;
15 import java.util.List;
13 16
14 import org.apache.commons.lang.math.DoubleRange; 17 import org.apache.commons.lang.math.DoubleRange;
18 import org.dive4elements.river.artifacts.model.Calculation;
15 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo; 19 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
16 20
17 /** 21 /**
18 * @author Gernot Belger 22 * @author Gernot Belger
19 */ 23 */
20 public abstract class AbstractCalculationResults implements Serializable { 24 public abstract class AbstractCalculationResults<RESULT extends AbstractCalculationResult> implements Serializable {
21 25
22 private static final long serialVersionUID = 1L; 26 private static final long serialVersionUID = 1L;
27
28 private final List<RESULT> results = new ArrayList<>();
23 29
24 private final String calcModeLabel; 30 private final String calcModeLabel;
25 31
26 private final String user; 32 private final String user;
27 33
49 } 55 }
50 56
51 public final DoubleRange getCalcRange() { 57 public final DoubleRange getCalcRange() {
52 return this.calcRange; 58 return this.calcRange;
53 } 59 }
60
61 //// COPY FROM AbtractCalculationListResults -> further refactoring necessary?
62 public final void addResult(final RESULT result, final Calculation problems) {
63 /* we assume error reporting was already done in this case */
64 if (result == null)
65 return;
66
67 if (result.isEmpty()) {
68 problems.addProblem("abstractsinfocalculationresults.emptyResult", result.getLabel());
69 return;
70 }
71
72 this.results.add(result);
73 }
74
75 public final List<RESULT> getResults() {
76 return Collections.unmodifiableList(this.results);
77 }
78
54 } 79 }

http://dive4elements.wald.intevation.org