view artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/LocationSelect.java @ 9584:1a7cfeb1ff89

Punkt 10.8 WQ-Vorschau
author gernotbelger
date Wed, 09 Jan 2019 17:13:25 +0100
parents 9744ce3c3853
children
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU AGPL (>=v3)
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details.
 */

package org.dive4elements.river.artifacts.states.fixation;

import org.apache.log4j.Logger;
import org.dive4elements.artifacts.Artifact;
import org.dive4elements.river.artifacts.D4EArtifact;
import org.dive4elements.river.artifacts.model.fixings.FixingsOverview;
import org.dive4elements.river.artifacts.model.fixings.FixingsOverviewFactory;
import org.dive4elements.river.artifacts.states.RangeState;

/**
 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
 */
public class LocationSelect extends RangeState {

    private static final long serialVersionUID = 1L;
    /** The log used in this class. */
    private static Logger log = Logger.getLogger(LocationSelect.class);

    /**
     * The default constructor that initializes an empty State object.
     */
    public LocationSelect() {
    }

    @Override
    protected String getUIProvider() {
        return "fix.location_panel";
    }

    @Override
    protected double[] getMinMax(final Artifact artifact) {
        final D4EArtifact flysArtifact = (D4EArtifact) artifact;
        final String riverName = flysArtifact.getDataAsString("river");
        final FixingsOverview overview = FixingsOverviewFactory.getOverview(riverName);

        return new double[] { overview.getExtent().getStart(), overview.getExtent().getEnd() };
    }

    /** Misuse to set location mode. */
    @Override
    public boolean validate(final Artifact artifact) throws IllegalArgumentException {
        ((D4EArtifact) artifact).addStringData("ld_mode", "distance");
        return super.validate(artifact);
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org