Mercurial > dive4elements > river
view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/ValidationBehaviourSingleMultiInputItem.java @ 9580:839b2aa84dd0
minuend/subtrahend-UI-switch
author | gernotbelger |
---|---|
date | Tue, 08 Jan 2019 17:01:09 +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.ArrayList; import java.util.List; import org.dive4elements.river.client.client.FLYSConstants; import org.dive4elements.river.client.client.ui.AbstractSingleItemPanel.IMultiSingleBehaviour; /** * @author Domenico Nardi Tironi * */ public abstract class ValidationBehaviourSingleMultiInputItem implements IMultiSingleBehaviour { private List<String> validInputs = null; protected String errorForItemMsg = null; protected final FLYSConstants MSG; private final String appendStringForCreateOld; public ValidationBehaviourSingleMultiInputItem(final List<String> validInputs, final String errorForItemMsg, final FLYSConstants MSG) { this.validInputs = validInputs; this.errorForItemMsg = errorForItemMsg; this.MSG = MSG; // etwas unglücklich... this.appendStringForCreateOld = ""; } public ValidationBehaviourSingleMultiInputItem(final String appendStringForCreateOld, final FLYSConstants MSG) { this.appendStringForCreateOld = appendStringForCreateOld; this.MSG = MSG; } protected final List<String> validateSingleInput(final String sValue) { final List<String> errors = new ArrayList<String>(); // String filtered = ""; // int goodValues = 0; errors.addAll(validateNumber(sValue)); boolean isGood = false; for (final String validYear : this.getValidInputs()) { /* No list contains for strings? */ if (sValue.equals(validYear)) { isGood = true; break; } } if (!isGood) { String tmp = this.errorForItemMsg; tmp = tmp.replace("$1", sValue); errors.add(tmp); } return errors; } protected final List<String> validateNumber(final String sValue) { final List<String> errors = new ArrayList<String>(); try { Integer.parseInt(sValue); } catch (final NumberFormatException e) { errors.add(this.MSG.wrongFormat() + ": " + sValue); } return errors; } @Override public final void setErrorForItemMsg(final String errorForItemMsg) { this.errorForItemMsg = errorForItemMsg; } @Override public final void setValidInputs(final List<String> validInputs) { this.validInputs = validInputs; } protected final List<String> getValidInputs() { return this.validInputs; } @Override public String appendStringForCreateOld() { return this.appendStringForCreateOld; } }