Mercurial > dive4elements > river
view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/bundu/BunduWstWQPanel.java @ 9278:717c9dc1859f
datatransfer bezugsjahr, qserieslength
author | gernotbelger |
---|---|
date | Fri, 20 Jul 2018 11:19:07 +0200 |
parents | 2323d005f9a5 |
children | 82c67b859aa7 |
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde * Software engineering by Intevation GmbH * * 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.bundu; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.dive4elements.river.client.client.ui.DoubleArrayPanel; import org.dive4elements.river.client.client.ui.WQAdaptedInputPanel; import org.dive4elements.river.client.shared.model.Data; import org.dive4elements.river.client.shared.model.DataItem; import org.dive4elements.river.client.shared.model.DataList; import com.google.gwt.i18n.client.NumberFormat; import com.smartgwt.client.widgets.Canvas; /** * This UIProvider creates a widget to enter W or Q data for * Fixation analysis * * @author <a href="mailto:aheinecke@intevation.de">Andre Heinecke</a> */ public class BunduWstWQPanel extends WQAdaptedInputPanel { private static final long serialVersionUID = -3218827566805476423L; private int bezugsjahr = 0; private int qSeriesLength = 0; /** get bezugsjahr + range from server HERE **/ @Override public Canvas create(final DataList data) { for (final Data container : data.getAll()) { for (final DataItem item : container.getItems()) { if ("ignore_bezugsjahr".equals(item.getLabel())) { this.bezugsjahr = Integer.valueOf(item.getStringValue()); } else if ("ignore_q_series_length".equals(item.getLabel())) { this.qSeriesLength = Integer.valueOf(item.getStringValue()); } } } return super.create(data); } // TODO: ValidateRange verstehen und dann ggf. Löschen/Ändern/was auch immer @Override protected List<String> validateRange(final Map<String, double[]> ranges) { final List<String> errors = new ArrayList<String>(); final NumberFormat nf = NumberFormat.getDecimalFormat(); for (final DoubleArrayPanel dap : this.wqranges.values()) { if (!dap.validateForm()) { errors.add(this.MSG.error_invalid_double_value()); return errors; } int idx = 0; final double[] values = dap.getInputValues(); final double[] good = new double[values.length]; for (final double value : values) { if (value <= 0) { String tmp = this.MSG.error_validate_positive(); tmp = tmp.replace("$1", nf.format(value)); errors.add(tmp); } else { good[idx++] = value; } } final double[] justGood = new double[idx]; for (int i = 0; i < justGood.length; i++) { justGood[i] = good[i]; } if (!errors.isEmpty()) { dap.setValues(justGood); } } return errors; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :