annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/Limit5SalixBehaviour.java @ 9559:ba0561906f81

Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
author gernotbelger
date Wed, 24 Oct 2018 18:40:38 +0200
parents 787fc085459b
children
rev   line source
9256
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
2 * Software engineering by
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
5 *
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
9 */
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
10 package org.dive4elements.river.client.client.ui.uinfo;
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
11
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
12 import java.util.List;
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
13
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
14 import org.dive4elements.river.client.client.FLYSConstants;
9270
7337034eb5d5 multiple whitespace input fix
gernotbelger
parents: 9267
diff changeset
15 import org.dive4elements.river.client.client.ui.StringArrayParseHelper;
9256
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
16
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
17 import com.smartgwt.client.util.SC;
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
18 import com.smartgwt.client.widgets.form.fields.TextItem;
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
19
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
20 /**
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
21 * @author Domenico Nardi Tironi
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
22 *
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
23 */
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
24 public class Limit5SalixBehaviour extends ValidationBehaviourSingleMultiInputItem {
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
25
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
26 public Limit5SalixBehaviour(final List<String> validInputs, final String errorForItemMsg, final FLYSConstants MSG) {
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
27 super(validInputs, errorForItemMsg, MSG);
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
28 }
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
29
9270
7337034eb5d5 multiple whitespace input fix
gernotbelger
parents: 9267
diff changeset
30 public Limit5SalixBehaviour(final FLYSConstants msg) {
9559
ba0561906f81 Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
gernotbelger
parents: 9481
diff changeset
31 super("", msg);
9256
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
32 }
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
33
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
34 @Override
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
35 public void appendValue(final TextItem inputItem, final String value) {
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
36 // APPEND = ADD to existing -> MULTI YEAR
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
37 final String oldValues = inputItem.getValueAsString();
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
38 if (oldValues != null && !oldValues.isEmpty()) {
9270
7337034eb5d5 multiple whitespace input fix
gernotbelger
parents: 9267
diff changeset
39 final String[] oldVals = StringArrayParseHelper.getArrayFromRawString(oldValues);
9256
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
40 if (oldVals.length < 5)
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
41 inputItem.setValue(oldValues.trim() + " " + value);
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
42 else {
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
43 SC.warn(this.MSG.error_limit_exceeded_salix());
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
44 }
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
45 }
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
46
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
47 else
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
48 inputItem.setValue(value);
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
49
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
50 }
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
51
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
52 @Override
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
53 public List<String> validate(final List<String> errors, final String inputValueString) {
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
54 if (inputValueString != null) {
9270
7337034eb5d5 multiple whitespace input fix
gernotbelger
parents: 9267
diff changeset
55 final String[] values = StringArrayParseHelper.getArrayFromRawString(inputValueString);
9256
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
56 if (values.length > 5) {
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
57 errors.add(this.MSG.error_limit_exceeded_salix());
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
58 }
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
59 for (int i = 0; i < values.length; i++) {
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
60 if (i < 5)
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
61 errors.addAll(this.validateNumber(values[i]));
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
62 }
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
63 }
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
64 return errors;
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
65 }
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
66
9481
787fc085459b TSV introduced; uinfo.inundationWMS-Config
gernotbelger
parents: 9270
diff changeset
67 @Override
787fc085459b TSV introduced; uinfo.inundationWMS-Config
gernotbelger
parents: 9270
diff changeset
68 public boolean isMultipleInputsAllowed() {
787fc085459b TSV introduced; uinfo.inundationWMS-Config
gernotbelger
parents: 9270
diff changeset
69 return true;
787fc085459b TSV introduced; uinfo.inundationWMS-Config
gernotbelger
parents: 9270
diff changeset
70 }
787fc085459b TSV introduced; uinfo.inundationWMS-Config
gernotbelger
parents: 9270
diff changeset
71
787fc085459b TSV introduced; uinfo.inundationWMS-Config
gernotbelger
parents: 9270
diff changeset
72 @Override
787fc085459b TSV introduced; uinfo.inundationWMS-Config
gernotbelger
parents: 9270
diff changeset
73 public String titleForCreateOld() {
787fc085459b TSV introduced; uinfo.inundationWMS-Config
gernotbelger
parents: 9270
diff changeset
74 return null;
787fc085459b TSV introduced; uinfo.inundationWMS-Config
gernotbelger
parents: 9270
diff changeset
75 }
787fc085459b TSV introduced; uinfo.inundationWMS-Config
gernotbelger
parents: 9270
diff changeset
76
9256
6c24c857ccf9 fixation refactoring and inputItem behaviour to interfaces
gernotbelger
parents:
diff changeset
77 }

http://dive4elements.wald.intevation.org