Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/IntegerRangePanel.java @ 1524:487c3ff7e838
Improved the code of IntegerRangePanel: it now returns the inserted values as IntegerRangeData object.
flys-client/trunk@3709 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 18 Jan 2012 15:04:30 +0000 |
parents | 07b532f9e057 |
children | ae25566ce6f6 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/IntegerRangePanel.java Wed Jan 18 09:19:36 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/IntegerRangePanel.java Wed Jan 18 15:04:30 2012 +0000 @@ -5,7 +5,9 @@ import com.smartgwt.client.widgets.form.validator.IntegerRangeValidator; import com.smartgwt.client.widgets.form.validator.Validator; +import de.intevation.flys.client.shared.model.Data; import de.intevation.flys.client.shared.model.DataList; +import de.intevation.flys.client.shared.model.IntegerRangeData; public class IntegerRangePanel extends RangePanel { @@ -15,6 +17,15 @@ @Override + protected Data[] getData() { + Integer lo = getLowerAsInt(); + Integer up = getUpperAsInt(); + + return new Data[] { new IntegerRangeData(getDataName(), null, lo, up) }; + } + + + @Override protected FormItem newFormItem(String name) { IntegerItem item = new IntegerItem(name, ""); item.setShowTitle(false); @@ -25,6 +36,9 @@ @Override protected Validator[] createLowerValidators(DataList dataList) { + setMaxLower(dataList); + setMaxUpper(dataList); + Validator validator = newRangeValidator(); if (validator != null) { @@ -37,6 +51,9 @@ @Override protected Validator[] createUpperValidators(DataList dataList) { + setMaxLower(dataList); + setMaxUpper(dataList); + Validator validator = newRangeValidator(); if (validator != null) { @@ -47,6 +64,38 @@ } + public Integer getLowerAsInt() { + String raw = getLower(); + + if (raw != null && raw.length() > 0) { + try { + return Integer.valueOf(raw); + } + catch (NumberFormatException nfe) { + // do nothing + } + } + + return null; + } + + + public Integer getUpperAsInt() { + String raw = getUpper(); + + if (raw != null && raw.length() > 0) { + try { + return Integer.valueOf(raw); + } + catch (NumberFormatException nfe) { + // do nothing + } + } + + return null; + } + + protected Validator newRangeValidator() { Integer maxLower = getMaxLower(); Integer maxUpper = getMaxUpper(); @@ -68,6 +117,12 @@ } + protected void setMaxLower(DataList dataList) { + IntegerRangeData range = (IntegerRangeData) dataList.get(0); + setMaxLower(range.getLower()); + } + + public void setMaxLower(Integer maxLower) { this.maxLower = maxLower; } @@ -78,6 +133,12 @@ } + protected void setMaxUpper(DataList dataList) { + IntegerRangeData range = (IntegerRangeData) dataList.get(0); + setMaxUpper(range.getUpper()); + } + + public void setMaxUpper(Integer maxUpper) { this.maxUpper = maxUpper; }