gernotbelger@9256: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@9256: * Software engineering by gernotbelger@9256: * Björnsen Beratende Ingenieure GmbH gernotbelger@9256: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@9256: * gernotbelger@9256: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@9256: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@9256: * documentation coming with Dive4Elements River for details. gernotbelger@9256: */ gernotbelger@9256: package org.dive4elements.river.client.client.ui.uinfo; gernotbelger@9256: gernotbelger@9256: import java.util.List; gernotbelger@9256: gernotbelger@9256: import org.dive4elements.river.client.client.FLYSConstants; gernotbelger@9256: gernotbelger@9256: import com.smartgwt.client.util.SC; gernotbelger@9256: import com.smartgwt.client.widgets.form.fields.TextItem; gernotbelger@9256: gernotbelger@9256: /** gernotbelger@9256: * @author Domenico Nardi Tironi gernotbelger@9256: * gernotbelger@9256: */ gernotbelger@9256: public class Limit5SalixBehaviour extends ValidationBehaviourSingleMultiInputItem { gernotbelger@9256: gernotbelger@9256: public Limit5SalixBehaviour(final List validInputs, final String errorForItemMsg, final FLYSConstants MSG) { gernotbelger@9256: super(validInputs, errorForItemMsg, MSG); gernotbelger@9256: } gernotbelger@9256: gernotbelger@9256: public Limit5SalixBehaviour() { gernotbelger@9256: super(); gernotbelger@9256: } gernotbelger@9256: gernotbelger@9256: @Override gernotbelger@9256: public void appendValue(final TextItem inputItem, final String value) { gernotbelger@9256: // APPEND = ADD to existing -> MULTI YEAR gernotbelger@9256: final String oldValues = inputItem.getValueAsString(); gernotbelger@9256: if (oldValues != null && !oldValues.isEmpty()) { gernotbelger@9256: final String[] oldVals = oldValues.split(" "); gernotbelger@9256: if (oldVals.length < 5) gernotbelger@9256: inputItem.setValue(oldValues.trim() + " " + value); gernotbelger@9256: else { gernotbelger@9256: SC.warn(this.MSG.error_limit_exceeded_salix()); gernotbelger@9256: } gernotbelger@9256: } gernotbelger@9256: gernotbelger@9256: else gernotbelger@9256: inputItem.setValue(value); gernotbelger@9256: gernotbelger@9256: } gernotbelger@9256: gernotbelger@9256: @Override gernotbelger@9256: public List validate(final List errors, final String inputValueString) { gernotbelger@9256: if (inputValueString != null) { gernotbelger@9256: final String[] values = inputValueString.trim().split(" "); gernotbelger@9256: if (values.length > 5) { gernotbelger@9256: errors.add(this.MSG.error_limit_exceeded_salix()); gernotbelger@9256: } gernotbelger@9256: for (int i = 0; i < values.length; i++) { gernotbelger@9256: if (i < 5) gernotbelger@9256: errors.addAll(this.validateNumber(values[i])); gernotbelger@9256: } gernotbelger@9256: } gernotbelger@9256: return errors; gernotbelger@9256: } gernotbelger@9256: gernotbelger@9256: }