view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/Limit5SalixBehaviour.java @ 9267:c7e5285d434f

bundu bezugswst work
author gernotbelger
date Wed, 18 Jul 2018 15:34:53 +0200
parents 6c24c857ccf9
children 7337034eb5d5
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.util.SC;
import com.smartgwt.client.widgets.form.fields.TextItem;

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

    public Limit5SalixBehaviour(final List<String> validInputs, final String errorForItemMsg, final FLYSConstants MSG) {
        super(validInputs, errorForItemMsg, MSG);
    }

    public Limit5SalixBehaviour() {
        super();
    }

    @Override
    public void appendValue(final TextItem inputItem, final String value) {
        // APPEND = ADD to existing -> MULTI YEAR
        final String oldValues = inputItem.getValueAsString();
        if (oldValues != null && !oldValues.isEmpty()) {
            final String[] oldVals = oldValues.split(" ");
            if (oldVals.length < 5)
                inputItem.setValue(oldValues.trim() + " " + value);
            else {
                SC.warn(this.MSG.error_limit_exceeded_salix());
            }
        }

        else
            inputItem.setValue(value);

    }

    @Override
    public List<String> validate(final List<String> errors, final String inputValueString) {
        if (inputValueString != null) {
            final String[] values = inputValueString.trim().replace("  ", " ").split(" ");
            if (values.length > 5) {
                errors.add(this.MSG.error_limit_exceeded_salix());
            }
            for (int i = 0; i < values.length; i++) {
                if (i < 5)
                    errors.addAll(this.validateNumber(values[i]));
            }
        }
        return errors;
    }

}

http://dive4elements.wald.intevation.org