Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/client/utils/DoubleValidator.java @ 4248:fc742c039f30
Add model for MeasurementStation client side
Add a client mode representing the MeasurementStation
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Wed, 24 Oct 2012 16:57:53 +0200 |
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 :