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 :

http://dive4elements.wald.intevation.org