annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/DGMSelect.java @ 9425:3f49835a00c3

Extended CrossSectionFacet so it may fetch different data from within the artifact result. Also allows to have acces to the potentially already computed artifact result via its normal computation cache.
author gernotbelger
date Fri, 17 Aug 2018 15:31:02 +0200
parents e4606eae8ea5
children 0a5239a1e46e
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5867
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5225
diff changeset
9 package org.dive4elements.river.artifacts.states;
927
53a2be494765 Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
1622
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
11 import java.io.File;
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
12
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
13 import org.w3c.dom.Element;
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
14
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
15 import org.apache.log4j.Logger;
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
16
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5225
diff changeset
17 import org.dive4elements.artifacts.Artifact;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5225
diff changeset
18 import org.dive4elements.artifacts.CallContext;
1622
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
19
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5225
diff changeset
20 import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator;
2013
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
21
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5225
diff changeset
22 import org.dive4elements.river.model.DGM;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5225
diff changeset
23 import org.dive4elements.river.model.River;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5225
diff changeset
24
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
25 import org.dive4elements.river.artifacts.D4EArtifact;
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
26 import org.dive4elements.river.utils.RiverUtils;
1622
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
27
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
28
927
53a2be494765 Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 /**
53a2be494765 Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
53a2be494765 Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 */
53a2be494765 Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 public class DGMSelect extends DefaultState {
53a2be494765 Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
34 private static final Logger log = Logger.getLogger(DGMSelect.class);
1622
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
35
2013
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
36 public static final String ERR_EMPTY = "error_no_dgm_selected";
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
37 public static final String ERR_INVALID_DGM = "error_invalid_dgm_selected";
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
38 public static final String ERR_BAD_DGM_RANGE = "error_bad_dgm_range";
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
39 public static final String ERR_BAD_DGM_RIVER = "error_bad_dgm_river";
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
40
1622
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
41
927
53a2be494765 Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 @Override
53a2be494765 Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 protected String getUIProvider() {
1172
23eb122c8ec1 Prepared the winfo artifact for floodmap calculations (now selectable in the UI).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1051
diff changeset
44 return "dgm_datacage_panel";
927
53a2be494765 Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 }
1622
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
46
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
47
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
48 @Override
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
49 protected Element createStaticData(
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
50 D4EArtifact flys,
1622
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
51 ElementCreator creator,
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
52 CallContext cc,
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
53 String name,
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
54 String value,
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
55 String type
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
56 ) {
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
57 Element dataElement = creator.create("data");
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
58 creator.addAttr(dataElement, "name", name, true);
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
59 creator.addAttr(dataElement, "type", type, true);
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
60
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
61 Element itemElement = creator.create("item");
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
62 creator.addAttr(itemElement, "value", value, true);
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
63
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
64 creator.addAttr(itemElement, "label", getLabel(cc, value), true);
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
65 dataElement.appendChild(itemElement);
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
66
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
67 return dataElement;
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
68 }
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
69
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
70
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
71 public static String getLabel(CallContext cc, String value) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
72 log.debug("Create label for value: " + value);
1622
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
73
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
74 try {
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
75 DGM dgm = DGM.getDGM(Integer.parseInt(value));
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
76
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
77 File file = new File(dgm.getPath());
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
78 return file.getName();
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
79 }
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
80 catch (NumberFormatException nfe) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
81 log.warn("Cannot parse int value: '" + value + "'");
1622
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
82 }
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
83
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
84 return "";
6d0299d63819 #325 Create human readable label for the selected DEM (used in the static UI part).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1172
diff changeset
85 }
2013
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
86
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
87
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
88 @Override
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
89 public boolean validate(Artifact artifact)
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
90 throws IllegalArgumentException
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
91 {
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
92 D4EArtifact flys = (D4EArtifact) artifact;
2013
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
93
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
94 DGM dgm = getDGM(flys);
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
95
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
96 if (dgm == null) {
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
97 throw new IllegalArgumentException(ERR_INVALID_DGM);
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
98 }
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
99
5225
a075f26a516c Use range object to get lower and upper km for dgm.
Raimund Renkert <rrenkert@intevation.de>
parents: 2013
diff changeset
100 double l = dgm.getRange().getA().doubleValue();
a075f26a516c Use range object to get lower and upper km for dgm.
Raimund Renkert <rrenkert@intevation.de>
parents: 2013
diff changeset
101 double u = dgm.getRange().getB().doubleValue();
2013
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
102
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
103 double[] range = RiverUtils.getKmFromTo(flys);
2013
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
104
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
105 if (range[0] < l || range[0] > u || range[1] < l || range[1] > u) {
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
106 throw new IllegalArgumentException(ERR_BAD_DGM_RANGE);
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
107 }
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
108
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
109 River selectedRiver = RiverUtils.getRiver(flys);
2013
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
110 River dgmRiver = dgm.getRiver();
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
111
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
112 if (selectedRiver != dgmRiver) {
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
113 throw new IllegalArgumentException(ERR_BAD_DGM_RIVER);
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
114 }
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
115
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
116 return true;
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
117 }
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
118
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
119
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
120 /**
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
121 * Returns the DGM specified in the parameters of <i>flys</i>.
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
122 *
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
123 * @param flys The D4EArtifact that knows the ID of a DGM.
2013
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
124 *
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
125 * @throws IllegalArgumentException If the D4EArtifact doesn't know the ID
2013
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
126 * of a DGM.
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
127 *
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
128 * @return the DGM specified by D4EArtifact's parameters.
2013
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
129 */
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
130 public static DGM getDGM(D4EArtifact flys)
2013
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
131 throws IllegalArgumentException
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
132 {
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
133 try {
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
134 Integer dgmId = flys.getDataAsInteger("dgm");
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
135 if (dgmId == null) {
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
136 throw new IllegalArgumentException(ERR_EMPTY);
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
137 }
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
138
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5994
diff changeset
139 log.debug("Found selected dgm: '" + dgmId + "'");
2013
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
140
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
141 return DGM.getDGM(dgmId);
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
142 }
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
143 catch (NumberFormatException nfe) {
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
144 throw new IllegalArgumentException(ERR_INVALID_DGM);
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
145 }
9d5f339d83a3 #380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1743
diff changeset
146 }
927
53a2be494765 Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147 }
53a2be494765 Enhanced the transition model to continue the parameterization in the waterlevel state to compute flood maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org