Mercurial > dive4elements > river
diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/sinfo/MultiBehaviour.java @ 9256:6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
author | gernotbelger |
---|---|
date | Fri, 13 Jul 2018 12:04:21 +0200 |
parents | |
children | 7337034eb5d5 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/sinfo/MultiBehaviour.java Fri Jul 13 12:04:21 2018 +0200 @@ -0,0 +1,55 @@ +/** 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.sinfo; + +import java.util.List; + +import org.dive4elements.river.client.client.FLYSConstants; +import org.dive4elements.river.client.client.ui.uinfo.ValidationBehaviourSingleMultiInputItem; + +import com.smartgwt.client.widgets.form.fields.TextItem; + +/** + * @author Domenico Nardi Tironi + * + */ +public class MultiBehaviour extends ValidationBehaviourSingleMultiInputItem { + + public MultiBehaviour(final List<String> validInputs, final String errorForItemMsg, final FLYSConstants MSG) { + super(validInputs, errorForItemMsg, MSG); + } + + public MultiBehaviour() { + super(); + } + + @Override + public void appendValue(final TextItem inputItem, final String value) { + // APPEND = ADD to existing -> MULTI YEAR + final String oldYears = inputItem.getValueAsString(); + if (oldYears != null && !oldYears.isEmpty()) + inputItem.setValue(oldYears.trim() + " " + value); + else + inputItem.setValue(value); + + } + + @Override + public List<String> validate(final List<String> errors, final String inputValueString) { + if (inputValueString != null) { + final String[] sValues = inputValueString.trim().split(" "); + for (final String value : sValues) { + errors.addAll(this.validateSingleInput(value)); + } + } + return errors; + } + +}