annotate artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineAccess.java @ 9246:c08d5cfa4981

some hibernate queries on bedheigts for salix
author gernotbelger
date Thu, 12 Jul 2018 11:15:42 +0200
parents da0bdbcd6f09
children 9a9f076d5716
rev   line source
9062
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
1 /* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
2 * Software engineering by
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
5 *
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
9 */
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
10
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
11 package org.dive4elements.river.artifacts.uinfo.salix;
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
12
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
13 import org.dive4elements.river.artifacts.access.RangeAccess;
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
14 import org.dive4elements.river.artifacts.uinfo.UINFOArtifact;
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
15 import org.dive4elements.river.artifacts.uinfo.UinfoCalcMode;
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
16
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
17 /**
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
18 * Access to the flow depth calculation type specific SInfo artifact data.
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
19 * REMARK: this class is NOT intended to be hold in the results (or anywhere else), in order to avoid a permanent
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
20 * reference to the artifact instance.
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
21 * Hence we do NOT cache any data.
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
22 *
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
23 * @author Gernot Belger
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
24 */
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
25 final class SalixLineAccess extends RangeAccess {
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
26
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
27 static final String FIELD_DIFFID_CURRENT = "diffid_current";
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
28 static final String FIELD_DIFFID_HIST = "diffid_historical";
9068
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
29 // calculation_mode
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
30 // ld_from , ld_to
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
31 // use_scenario (boolean)
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
32 // ld_from_part; ld_to_part
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
33 // scenario_selection (mögliche Werte:"scenarioType.option1" "scenarioType.option2" "scenarioType.option3"
9062
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
34
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
35 public SalixLineAccess(final UINFOArtifact artifact) {
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
36 super(artifact);
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
37
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
38 /* assert calculation mode */
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
39 final UinfoCalcMode calculationMode = artifact.getCalculationMode();
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
40 assert (calculationMode == UinfoCalcMode.uinfo_salix_line);
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
41 }
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
42
9068
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
43 public boolean getUseScenario() {
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
44 return super.getBoolean("use_scenario");
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
45 }
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
46
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
47 public String getScenario() {
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
48 if (getUseScenario()) {
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
49 return getString("scenario_selection");
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
50 }
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
51 return null;
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
52 }
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
53
9222
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents: 9070
diff changeset
54 public Double getFromPart() {
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents: 9070
diff changeset
55 return getDouble("ld_from_part");
9068
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
56 }
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
57
9222
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents: 9070
diff changeset
58 public Double getToPart() {
5a0e8d76582e uinfo.salix regional workflow
gernotbelger
parents: 9070
diff changeset
59 return getDouble("ld_to_part");
9068
a5cf8d7bff3c access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents: 9062
diff changeset
60 }
9243
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
61
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
62 public int[] getRegionalScenarioIntegers() {
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
63 // super.getIntArray("sedimentheight"); DOES NOT WORK!
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
64 final String ints = super.getString("sedimentheight");
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
65 if (ints != null) {
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
66 final String[] intsSplit = ints.split(" ");
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
67 final int[] values = new int[intsSplit.length];
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
68 for (int i = 0; i < intsSplit.length; i++) {
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
69 values[i] = Integer.valueOf(intsSplit[i]);
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
70 }
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
71 return values;
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
72 }
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
73 return null;
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
74 }
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
75
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
76 public String getSupraRegionalString() {
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
77 return super.getString("supraregional_table");
da0bdbcd6f09 salix.supraRegional+Regional results
gernotbelger
parents: 9222
diff changeset
78 }
9246
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
79
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
80 public Integer getYear() {
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
81 if (getString("ye_select").equals("state.uinfo.year")) {
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
82 return super.getInteger("singleyear");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
83 }
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
84 return null;
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
85 }
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
86
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
87 public Integer getEpoch() {
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
88 if (getString("ye_select").equals("state.uinfo.epoch")) {
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
89 return super.getInteger("singleepoch");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
90 }
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
91 return null;
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9243
diff changeset
92 }
9062
5198066492a9 Teilabschnitt Salix State
gernotbelger
parents:
diff changeset
93 }

http://dive4elements.wald.intevation.org