Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DistanceOnlySelect.java @ 1630:cafd8af6734a
Improved bounds validation for distance only states.
flys-artifacts/trunk@2806 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 22 Sep 2011 07:58:24 +0000 |
parents | c45e8d6b99a2 |
children | 1358d0c8481c |
comparison
equal
deleted
inserted
replaced
1629:4aec853a2f85 | 1630:cafd8af6734a |
---|---|
1 package de.intevation.flys.artifacts.states; | 1 package de.intevation.flys.artifacts.states; |
2 | 2 |
3 import org.apache.log4j.Logger; | 3 import org.apache.log4j.Logger; |
4 | |
5 import de.intevation.artifacts.Artifact; | |
6 | |
7 import de.intevation.artifactdatabase.data.StateData; | |
8 | |
9 import de.intevation.flys.artifacts.FLYSArtifact; | |
4 | 10 |
5 | 11 |
6 public class DistanceOnlySelect extends DistanceSelect { | 12 public class DistanceOnlySelect extends DistanceSelect { |
7 | 13 |
8 private static Logger logger = Logger.getLogger(DistanceOnlySelect.class); | 14 private static Logger logger = Logger.getLogger(DistanceOnlySelect.class); |
9 | 15 |
10 @Override | 16 @Override |
11 protected String getUIProvider() { | 17 protected String getUIProvider() { |
12 return "distance_only_panel"; | 18 return "distance_only_panel"; |
13 } | 19 } |
20 | |
21 | |
22 @Override | |
23 public boolean validate(Artifact artifact) | |
24 throws IllegalArgumentException | |
25 { | |
26 FLYSArtifact flys = (FLYSArtifact) artifact; | |
27 | |
28 StateData dFrom = getData(flys, getLowerField()); | |
29 StateData dTo = getData(flys, getUpperField()); | |
30 | |
31 String fromStr = dFrom != null ? (String) dFrom.getValue() : null; | |
32 String toStr = dTo != null ? (String) dTo.getValue() : null; | |
33 | |
34 if (fromStr == null || toStr == null) { | |
35 throw new IllegalArgumentException("error_empty_state"); | |
36 } | |
37 | |
38 try { | |
39 double from = Double.parseDouble(fromStr); | |
40 double to = Double.parseDouble(toStr); | |
41 | |
42 double[] minmax = getMinMax(flys); | |
43 | |
44 return validateBounds(minmax[0], minmax[1], from, to); | |
45 } | |
46 catch (NumberFormatException nfe) { | |
47 throw new IllegalArgumentException("error_invalid_double_value"); | |
48 } | |
49 } | |
14 } | 50 } |
15 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : | 51 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |