view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WaterlevelTwinPanelValidator.java @ 9416:05405292a7ca

Navigationtheme panel now shows themes of dWt and WQ charts grayed out, if the current station is outside the valid range of the theme.
author gernotbelger
date Thu, 16 Aug 2018 16:28:03 +0200
parents 8f6d6d26e96f
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;

import java.util.ArrayList;
import java.util.List;

import org.dive4elements.river.client.client.FLYSConstants;
import org.dive4elements.river.client.client.ui.AbstractPairRecommendationPanel.IValidator;

import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridRecord;

/**
 * Contains the old code from the validate-method of the DatacageTwinPanel.
 *  
 * @author Gernot Belger
 */
public final class WaterlevelTwinPanelValidator implements IValidator {

	@Override
	public List<String> validate(final ListGrid differencesList, final FLYSConstants msgProvider) {
		
        final List<String> errors = new ArrayList<String>();
        if (differencesList.getRecords().length == 0) {
        	// FIXME: waterlevel dependent! This will lead to a bad error message in English, for M-Info/Bed-Differences calculation
            errors.add(msgProvider.error_no_waterlevel_pair_selected());
        }
        // Check whether minuend and subtrahend are equal.
        for (ListGridRecord record: differencesList.getRecords()) {
            RecommendationPairRecord r = (RecommendationPairRecord) record;
            if (r.getFirst().equals(r.getSecond())) {
            	// FIXME: this is still waterlevel specific!
            	// TODO: delegate validation to specific implementations
                errors.add(msgProvider.error_same_waterlevels_in_pair());
            }
        }

        return errors;
	}
}

http://dive4elements.wald.intevation.org