view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/UinfoInundationSingleYearEpochBehaviour.java @ 9661:9b8ba3b83a15

Importer (s/u-info) vegetation zones: new database column in vegetation_type table for german type name, localized vegetation type names by querying the database instead of translating by resource property, detecting and cancelling the import of a second vegetation zone file for a river, detecting, logging, cancelling in case of wrong column titles, detecting, logging and ignoring lines with missing (color) values, comparing vegetation zone name and class with the database and logging+ignoring in case of inconsistencies, starting the most elevated zone with 0 instead of -1 overflow days
author mschaefer
date Mon, 23 Mar 2020 16:38:12 +0100
parents ba0561906f81
children
line wrap: on
line source
/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
 * Software engineering by
 *  Björnsen Beratende Ingenieure GmbH
 *  Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
 *
 * 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.client.client.ui.uinfo;

import java.util.List;

import org.dive4elements.river.client.client.FLYSConstants;

import com.smartgwt.client.widgets.form.fields.TextItem;

/**
 * @author Domenico Nardi Tironi
 *
 */
public class UinfoInundationSingleYearEpochBehaviour extends ValidationBehaviourSingleMultiInputItem {

    private final String titleForCreateOld;

    public UinfoInundationSingleYearEpochBehaviour(final String appendString, final FLYSConstants msg, final String titleForCreateOld) {
        super(appendString, msg);
        this.titleForCreateOld = titleForCreateOld;
    }

    @Override
    public void appendValue(final TextItem inputItem, final String value) {
        inputItem.setValue(value);
    }

    @Override
    public List<String> validate(final List<String> errors, final String inputValueString) {
        boolean isGood = false;
        for (final String validYear : this.getValidInputs()) { // no numeric check
            /* No list contains for strings? */
            if (inputValueString.equals(validYear)) {
                isGood = true;
                break;
            }
        }
        if (!isGood) {
            String tmp = this.errorForItemMsg;
            tmp = tmp.replace("$1", inputValueString);
            errors.add(tmp);
        }

        return errors;

    }

    @Override
    public boolean isMultipleInputsAllowed() {
        return false;
    }

    @Override
    public String titleForCreateOld() {
        return this.titleForCreateOld;
    }
}

http://dive4elements.wald.intevation.org