gernotbelger@8852: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@8852: * Software engineering by gernotbelger@8852: * Björnsen Beratende Ingenieure GmbH gernotbelger@8852: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@8852: * gernotbelger@8852: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@8852: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@8852: * documentation coming with Dive4Elements River for details. gernotbelger@8852: */ gernotbelger@8852: package org.dive4elements.river.client.client.ui; gernotbelger@8852: gernotbelger@8852: import java.util.ArrayList; gernotbelger@8852: import java.util.List; gernotbelger@8852: gernotbelger@8852: import org.dive4elements.river.client.client.FLYSConstants; gernotbelger@8852: import org.dive4elements.river.client.client.ui.AbstractPairRecommendationPanel.IValidator; gernotbelger@8852: gernotbelger@8852: import com.smartgwt.client.widgets.grid.ListGrid; gernotbelger@8852: import com.smartgwt.client.widgets.grid.ListGridRecord; gernotbelger@8852: gernotbelger@8852: /** gernotbelger@8852: * Contains the old code from the validate-method of the DatacageTwinPanel. gernotbelger@8852: * gernotbelger@8852: * @author Gernot Belger gernotbelger@8852: */ gernotbelger@8852: public final class WaterlevelTwinPanelValidator implements IValidator { gernotbelger@8852: gernotbelger@8852: @Override gernotbelger@8852: public List validate(final ListGrid differencesList, final FLYSConstants msgProvider) { gernotbelger@8852: gernotbelger@8852: final List errors = new ArrayList(); gernotbelger@8852: if (differencesList.getRecords().length == 0) { gernotbelger@8852: // FIXME: waterlevel dependent! This will lead to a bad error message in English, for M-Info/Bed-Differences calculation gernotbelger@8852: errors.add(msgProvider.error_no_waterlevel_pair_selected()); gernotbelger@8852: } gernotbelger@8852: // Check whether minuend and subtrahend are equal. gernotbelger@8852: for (ListGridRecord record: differencesList.getRecords()) { gernotbelger@8852: RecommendationPairRecord r = (RecommendationPairRecord) record; gernotbelger@8852: if (r.getFirst().equals(r.getSecond())) { gernotbelger@8852: // FIXME: this is still waterlevel specific! gernotbelger@8852: // TODO: delegate validation to specific implementations gernotbelger@8852: errors.add(msgProvider.error_same_waterlevels_in_pair()); gernotbelger@8852: } gernotbelger@8852: } gernotbelger@8852: gernotbelger@8852: return errors; gernotbelger@8852: } gernotbelger@8852: }