Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/client/utils/DoubleValidator.java @ 3518:33ed40aa1201
User ModuleService to get all modules for a user
Don't hardcode the Modules instead load them from the ModuleService. This allows
to show only modules that a user is allowed to access.
flys-client/trunk@5292 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Bjoern Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Wed, 29 Aug 2012 12:38:06 +0000 |
parents | 24e9b5eb83f8 |
children |
line wrap: on
line source
package de.intevation.flys.client.client.utils; import java.util.Map; import com.google.gwt.core.client.GWT; import com.google.gwt.i18n.client.NumberFormat; import com.smartgwt.client.widgets.form.fields.FormItem; import de.intevation.flys.client.client.FLYSConstants; /** * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> */ public class DoubleValidator implements Validator { /** The interface that provides i18n messages. */ protected FLYSConstants MSG = GWT.create(FLYSConstants.class); /** Statically determine doubility of String value. */ public static boolean isDouble(Object obj) { if (obj == null) { return false; } boolean valid = true; String v = obj.toString(); NumberFormat f = NumberFormat.getDecimalFormat(); try { if (v == null) { throw new NumberFormatException("empty"); } double value = f.parse(v); } catch (NumberFormatException nfe) { valid = false; } return valid; } /** * @return true if items value can be converted to double, if false, * expect error message in \param errors map. */ public boolean validate(FormItem item, Map errors) { boolean valid = true; if(item.getValue() == null) { return false; } String v = item.getValue().toString(); NumberFormat f = NumberFormat.getDecimalFormat(); try { if (v == null) { throw new NumberFormatException("empty"); } double value = f.parse(v); errors.remove(item.getFieldName()); } catch (NumberFormatException nfe) { errors.put(item.getFieldName(), MSG.wrongFormat()); item.focusInItem(); valid = false; } return valid; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :