annotate artifacts/src/main/java/org/dive4elements/river/artifacts/common/AbstractCalculationResults.java @ 8999:e3b3ce32c825

Work on uinfo
author gernotbelger
date Thu, 12 Apr 2018 19:15:42 +0200
parents
children
rev   line source
8999
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
2 * Software engineering by
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
5 *
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
9 */
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
10 package org.dive4elements.river.artifacts.common;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
11
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
12 import java.io.Serializable;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
13 import java.util.ArrayList;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
14 import java.util.Collections;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
15 import java.util.List;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
16
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
17 import org.apache.commons.lang.math.DoubleRange;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
18 import org.dive4elements.river.artifacts.model.Calculation;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
19 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
20
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
21 /**
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
22 * @author Gernot Belger
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
23 */
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
24 public abstract class AbstractCalculationResults<RESULT extends AbstractCalculationResult> implements Serializable {
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
25
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
26 private static final long serialVersionUID = 1L;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
27
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
28 private final List<RESULT> results = new ArrayList<>();
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
29
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
30 private final String calcModeLabel;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
31
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
32 private final String user;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
33
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
34 private final RiverInfo river;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
35
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
36 private final DoubleRange calcRange;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
37
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
38 public AbstractCalculationResults(final String calcModeLabel, final String user, final RiverInfo river, final DoubleRange calcRange) {
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
39 this.calcModeLabel = calcModeLabel;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
40 this.user = user;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
41 this.river = river;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
42 this.calcRange = calcRange;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
43 }
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
44
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
45 public String getCalcModeLabel() {
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
46 return this.calcModeLabel;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
47 }
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
48
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
49 public String getUser() {
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
50 return this.user;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
51 }
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
52
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
53 public RiverInfo getRiver() {
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
54 return this.river;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
55 }
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
56
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
57 public DoubleRange getCalcRange() {
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
58 return this.calcRange;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
59 }
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
60
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
61 public void addResult(final RESULT result, final Calculation problems) {
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
62 /* we assume error reporting was already done in this case */
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
63 if (result == null)
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
64 return;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
65
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
66 if (result.isEmpty()) {
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
67 problems.addProblem("abstractsinfocalculationresults.emptyResult", result.getLabel());
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
68 return;
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
69 }
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
70
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
71 this.results.add(result);
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
72 }
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
73
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
74 public List<RESULT> getResults() {
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
75 return Collections.unmodifiableList(this.results);
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
76 }
e3b3ce32c825 Work on uinfo
gernotbelger
parents:
diff changeset
77 }

http://dive4elements.wald.intevation.org