[hibernate-commits] Hibernate SVN: r17211 - in validator/trunk/hibernate-validator/src: test/java/org/hibernate/validation/constraints/impl and 1 other directory.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Jul 28 06:09:26 EDT 2009


Author: hardy.ferentschik
Date: 2009-07-28 06:09:26 -0400 (Tue, 28 Jul 2009)
New Revision: 17211

Modified:
   validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumber.java
   validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumberTest.java
Log:
HV-192 Validator now removed trailing zeros.

Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumber.java
===================================================================
--- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumber.java	2009-07-28 09:51:03 UTC (rev 17210)
+++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumber.java	2009-07-28 10:09:26 UTC (rev 17211)
@@ -52,7 +52,7 @@
 			bigNum = ( BigDecimal ) num;
 		}
 		else {
-			bigNum = new BigDecimal( num.toString() );
+			bigNum = new BigDecimal( num.toString() ).stripTrailingZeros();
 		}
 
 		int integerPartLength = bigNum.precision() - bigNum.scale();

Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumberTest.java
===================================================================
--- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumberTest.java	2009-07-28 09:51:03 UTC (rev 17210)
+++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validation/constraints/impl/DigitsValidatorForNumberTest.java	2009-07-28 10:09:26 UTC (rev 17211)
@@ -105,4 +105,21 @@
 		DigitsValidatorForNumber constraint = new DigitsValidatorForNumber();
 		constraint.initialize( p );
 	}
+
+	@Test
+	public void testTrailingZerosAreTrimmed() {
+		AnnotationDescriptor<Digits> descriptor = new AnnotationDescriptor<Digits>( Digits.class );
+		descriptor.setValue( "integer", 12 );
+		descriptor.setValue( "fraction", 3 );
+		descriptor.setValue( "message", "{validator.digits}" );
+		Digits p = AnnotationFactory.create( descriptor );
+
+		DigitsValidatorForNumber constraint = new DigitsValidatorForNumber();
+		constraint.initialize( p );
+
+		assertTrue( constraint.isValid( 0.001d, null ) );
+		assertTrue( constraint.isValid( 0.00100d, null ) );
+		assertFalse( constraint.isValid( 0.0001d, null ) );
+	}
+
 }



More information about the hibernate-commits mailing list