view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DistanceOnlySelect.java @ 4897:9c388de4b4d5

Builder: Doc, comments.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 29 Jan 2013 11:49:37 +0100
parents 1358d0c8481c
children 53be73133104
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.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