Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DistanceOnlySelect.java @ 4754:04377ccef10a
AFT: Reject AFT gauges which are not inside the calculation range of the corresponding FLYS river.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 03 Jan 2013 14:39:48 +0100 |
parents | cafd8af6734a |
children | 1358d0c8481c |
line wrap: on
line source
package de.intevation.flys.artifacts.states; import org.apache.log4j.Logger; import de.intevation.artifacts.Artifact; import de.intevation.artifactdatabase.data.StateData; import de.intevation.flys.artifacts.FLYSArtifact; public class DistanceOnlySelect extends DistanceSelect { private static Logger logger = Logger.getLogger(DistanceOnlySelect.class); @Override protected String getUIProvider() { return "distance_only_panel"; } @Override public boolean validate(Artifact artifact) throws IllegalArgumentException { FLYSArtifact flys = (FLYSArtifact) artifact; StateData dFrom = getData(flys, getLowerField()); StateData dTo = getData(flys, getUpperField()); String fromStr = dFrom != null ? (String) dFrom.getValue() : null; String toStr = dTo != null ? (String) dTo.getValue() : null; if (fromStr == null || toStr == null) { throw new IllegalArgumentException("error_empty_state"); } try { double from = Double.parseDouble(fromStr); double to = Double.parseDouble(toStr); double[] minmax = getMinMax(flys); return validateBounds(minmax[0], minmax[1], from, to); } catch (NumberFormatException nfe) { throw new IllegalArgumentException("error_invalid_double_value"); } } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :