view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DistanceOnlySelect.java @ 5785:d38004f0c52f

Datacage: Always clone XML template for builders. If the first is not cloned they get interlinked somehow. Feels like a bug in Java's DOM implementation.
author Sascha L. Teichmann <teichmann@intevation.de>
date Mon, 22 Apr 2013 17:01:17 +0200
parents 53be73133104
children
line wrap: on
line source
package de.intevation.flys.artifacts.states;

import org.apache.log4j.Logger;

import de.intevation.artifacts.Artifact;

import de.intevation.flys.artifacts.access.RangeAccess;
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
    {
        // TODO think about better hierarchy wrt RangeState#validate.
        FLYSArtifact flys = (FLYSArtifact) artifact;

        try {
            RangeAccess rangeAccess = new RangeAccess(flys, null);
            double from = rangeAccess.getFrom();
            double to   = rangeAccess.getTo();

            double[] minmax = getMinMax(flys);

            return validateBounds(minmax[0], minmax[1], from, to);
        }
        catch (NumberFormatException nfe) {
            throw new IllegalArgumentException("error_invalid_double_value");
        }
        catch (NullPointerException npe) {
            throw new IllegalArgumentException("error_empty_state");
        }
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org