Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WaterlevelTwinPanelValidator.java @ 9063:b6919e3c2d86
work on uinfo-inundation_duration states
author | gernotbelger |
---|---|
date | Tue, 08 May 2018 15:21:23 +0200 |
parents | 8f6d6d26e96f |
children |
rev | line source |
---|---|
8852
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
2 * Software engineering by |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
3 * Björnsen Beratende Ingenieure GmbH |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
5 * |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
6 * This file is Free Software under the GNU AGPL (>=v3) |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
8 * documentation coming with Dive4Elements River for details. |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
9 */ |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
10 package org.dive4elements.river.client.client.ui; |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
11 |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
12 import java.util.ArrayList; |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
13 import java.util.List; |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
14 |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
15 import org.dive4elements.river.client.client.FLYSConstants; |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
16 import org.dive4elements.river.client.client.ui.AbstractPairRecommendationPanel.IValidator; |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
17 |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
18 import com.smartgwt.client.widgets.grid.ListGrid; |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
19 import com.smartgwt.client.widgets.grid.ListGridRecord; |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
20 |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
21 /** |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
22 * Contains the old code from the validate-method of the DatacageTwinPanel. |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
23 * |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
24 * @author Gernot Belger |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
25 */ |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
26 public final class WaterlevelTwinPanelValidator implements IValidator { |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
27 |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
28 @Override |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
29 public List<String> validate(final ListGrid differencesList, final FLYSConstants msgProvider) { |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
30 |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
31 final List<String> errors = new ArrayList<String>(); |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
32 if (differencesList.getRecords().length == 0) { |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
33 // FIXME: waterlevel dependent! This will lead to a bad error message in English, for M-Info/Bed-Differences calculation |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
34 errors.add(msgProvider.error_no_waterlevel_pair_selected()); |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
35 } |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
36 // Check whether minuend and subtrahend are equal. |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
37 for (ListGridRecord record: differencesList.getRecords()) { |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
38 RecommendationPairRecord r = (RecommendationPairRecord) record; |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
39 if (r.getFirst().equals(r.getSecond())) { |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
40 // FIXME: this is still waterlevel specific! |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
41 // TODO: delegate validation to specific implementations |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
42 errors.add(msgProvider.error_same_waterlevels_in_pair()); |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
43 } |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
44 } |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
45 |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
46 return errors; |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
47 } |
8f6d6d26e96f
Refaktored the DatacageTwinPanel so it is reusable.
gernotbelger
parents:
diff
changeset
|
48 } |