annotate artifacts/src/main/java/org/dive4elements/river/artifacts/common/AbstractExportContext.java @ 9446:e60584f2a531

Added bundu bzws calculation for missing volumes (masses still not yet ready) and results1/2/3
author mschaefer
date Tue, 21 Aug 2018 18:19:35 +0200
parents 5ce50640688c
children 83e6acdf8fc6
rev   line source
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
2 * Software engineering by
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
5 *
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
9 */
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
10 package org.dive4elements.river.artifacts.common;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
11
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
12 import java.text.NumberFormat;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
13
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
14 import org.dive4elements.artifacts.CallContext;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
15 import org.dive4elements.river.artifacts.resources.Resources;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
16 import org.dive4elements.river.utils.Formatter;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
17
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
18 /**
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
19 * @author Domenico Nardi Tironi
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
20 */
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
21 public abstract class AbstractExportContext implements IExportContext {
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
22
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
23 private NumberFormat qFormat = null;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
24
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
25 private NumberFormat flowDepthFormat = null;
9357
5ce50640688c S-Info flood duration: fixed error report output name, changed duration from int to double, added formatter
mschaefer
parents: 9243
diff changeset
26 private NumberFormat floodDurationFormat = null;
9243
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9205
diff changeset
27 private NumberFormat salixScenFormat = null;
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
28 private NumberFormat kmFormat = null;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
29
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
30 /** The CallContext object. */
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
31 private final CallContext context;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
32
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
33 private final AbstractCalculationResults<?> results;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
34
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
35 public AbstractExportContext(final CallContext context, final AbstractCalculationResults<?> results) {
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
36 this.context = context;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
37 this.results = results;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
38 }
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
39
9446
e60584f2a531 Added bundu bzws calculation for missing volumes (masses still not yet ready) and results1/2/3
mschaefer
parents: 9357
diff changeset
40 public final CallContext getContext() {
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
41 return this.context;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
42 }
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
43
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
44 @Override
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
45 public final <RESULTS extends AbstractCalculationResults<?>> RESULTS getResults() {
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
46 @SuppressWarnings("unchecked")
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
47 final RESULTS resultsCast = (RESULTS) this.results;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
48 return resultsCast;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
49 }
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
50
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
51 // copy from AbstractExporter TODO merge with ExportContextPDF
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
52 protected NumberFormat getKmFormatter() {
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
53
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
54 if (this.kmFormat == null)
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
55 this.kmFormat = Formatter.getWaterlevelKM(getContext());
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
56
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
57 return this.kmFormat;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
58 }
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
59
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
60 public NumberFormat getQFormatter() {
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
61 if (this.qFormat == null)
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
62 this.qFormat = Formatter.getWaterlevelQ(this.context);
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
63
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
64 return this.qFormat;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
65 }
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
66
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
67 public final NumberFormat getFlowDepthFormatter() {
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
68 if (this.flowDepthFormat == null)
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
69 this.flowDepthFormat = Formatter.getFlowDepth(this.context);
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
70
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
71 return this.flowDepthFormat;
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
72 }
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
73
9357
5ce50640688c S-Info flood duration: fixed error report output name, changed duration from int to double, added formatter
mschaefer
parents: 9243
diff changeset
74 public final NumberFormat getFloodDurationFormatter() {
5ce50640688c S-Info flood duration: fixed error report output name, changed duration from int to double, added formatter
mschaefer
parents: 9243
diff changeset
75
5ce50640688c S-Info flood duration: fixed error report output name, changed duration from int to double, added formatter
mschaefer
parents: 9243
diff changeset
76 if (this.floodDurationFormat == null)
5ce50640688c S-Info flood duration: fixed error report output name, changed duration from int to double, added formatter
mschaefer
parents: 9243
diff changeset
77 this.floodDurationFormat = Formatter.getIntegerFormatter(this.context);
5ce50640688c S-Info flood duration: fixed error report output name, changed duration from int to double, added formatter
mschaefer
parents: 9243
diff changeset
78 return this.floodDurationFormat;
5ce50640688c S-Info flood duration: fixed error report output name, changed duration from int to double, added formatter
mschaefer
parents: 9243
diff changeset
79 }
5ce50640688c S-Info flood duration: fixed error report output name, changed duration from int to double, added formatter
mschaefer
parents: 9243
diff changeset
80
9243
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9205
diff changeset
81 public final NumberFormat getSalixScenFormatter() {
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9205
diff changeset
82 if (this.salixScenFormat == null)
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9205
diff changeset
83 this.salixScenFormat = Formatter.getSalixLine(this.context);
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9205
diff changeset
84
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9205
diff changeset
85 return this.salixScenFormat;
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9205
diff changeset
86 }
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9205
diff changeset
87
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
88 protected String msg(final String key) {
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
89 return Resources.getMsg(this.context.getMeta(), key, key);
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
90 }
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
91
9205
3dae6b78e1da inundationDuration/floodDuration multiple columns+chartLines refactoring
gernotbelger
parents: 9195
diff changeset
92 public final String msg(final String key, final Object... args) {
9195
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
93 return Resources.getMsg(this.context.getMeta(), key, key, args);
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
94 }
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
95
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
96 @Override
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
97 public final String formatRowValue(final ResultRow row, final IResultType type) {
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
98 return row.exportValue(this.context, type);
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
99 }
a4121ec450d6 'ca.'-issue
gernotbelger
parents:
diff changeset
100 }

http://dive4elements.wald.intevation.org