Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/states/DGMSelect.java @ 6501:7cb247824ed1
Amtl. Linien: Added report if an official line was found in report.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Fri, 28 Jun 2013 14:11:58 +0200 |
parents | af13ceeba52a |
children | e4606eae8ea5 |
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 |
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
|
34 private static final Logger logger = Logger.getLogger(DGMSelect.class); |
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) { |
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
|
72 logger.debug("Create label for value: " + 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
|
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) { |
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
|
81 logger.warn("Cannot parse int value: '" + 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
|
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 |
9d5f339d83a3
#380 Validate the user selected DEM in the server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1743
diff
changeset
|
139 logger.debug("Found selected dgm: '" + dgmId + "'"); |
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 : |