From: <hib...@li...> - 2006-04-17 19:44:25
|
Author: epbernard Date: 2006-04-17 15:44:22 -0400 (Mon, 17 Apr 2006) New Revision: 9755 Modified: trunk/HibernateExt/metadata/src/java/org/hibernate/validator/ClassValidator.java trunk/HibernateExt/metadata/src/test/messages_en.properties trunk/HibernateExt/metadata/src/test/org/hibernate/validator/test/Address.java trunk/HibernateExt/metadata/src/test/org/hibernate/validator/test/ValidatorTest.java Log: ANN-316 Modified: trunk/HibernateExt/metadata/src/java/org/hibernate/validator/ClassValidator.java =================================================================== --- trunk/HibernateExt/metadata/src/java/org/hibernate/validator/ClassValidator.java 2006-04-16 16:57:40 UTC (rev 9754) +++ trunk/HibernateExt/metadata/src/java/org/hibernate/validator/ClassValidator.java 2006-04-17 19:44:22 UTC (rev 9755) @@ -476,18 +476,23 @@ } private String replace(String message, Annotation parameters) { - StringTokenizer tokens = new StringTokenizer( message, "{}", true ); + StringTokenizer tokens = new StringTokenizer( message, "#{}", true ); StringBuilder buf = new StringBuilder( 30 ); boolean escaped = false; + boolean el = false; while ( tokens.hasMoreTokens() ) { String token = tokens.nextToken(); - if ( "{".equals( token ) ) { + if ( !escaped && "#".equals( token ) ) { + el = true; + } + if ( !el && "{".equals( token ) ) { escaped = true; } - else if ( "}".equals( token ) ) { + else if ( escaped && "}".equals( token ) ) { escaped = false; } else if ( !escaped ) { + if ( "{".equals( token ) ) el = false; buf.append( token ); } else { Modified: trunk/HibernateExt/metadata/src/test/messages_en.properties =================================================================== --- trunk/HibernateExt/metadata/src/test/messages_en.properties 2006-04-16 16:57:40 UTC (rev 9754) +++ trunk/HibernateExt/metadata/src/test/messages_en.properties 2006-04-17 19:44:22 UTC (rev 9755) @@ -1,7 +1,7 @@ long=is too damn long floor.name=Floor out.of.range=lower that {min} and greater than {max} -floor.out.of.range={floor.name} cannot be {out.of.range} +floor.out.of.range={floor.name} cannot (escaping #{el}) be {out.of.range} validator.assertFalse=assertion failed validator.assertTrue=assertion failed Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/validator/test/Address.java =================================================================== --- trunk/HibernateExt/metadata/src/test/org/hibernate/validator/test/Address.java 2006-04-16 16:57:40 UTC (rev 9754) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/validator/test/Address.java 2006-04-17 19:44:22 UTC (rev 9755) @@ -29,7 +29,7 @@ private String country; private long id; private boolean internalValid = true; - @Range(min = -2, max = 50, message = "{floor.out.of.range}") + @Range(min = -2, max = 50, message = "{floor.out.of.range} (escaping #{el})") public int floor; public String getCountry() { Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/validator/test/ValidatorTest.java =================================================================== --- trunk/HibernateExt/metadata/src/test/org/hibernate/validator/test/ValidatorTest.java 2006-04-16 16:57:40 UTC (rev 9754) +++ trunk/HibernateExt/metadata/src/test/org/hibernate/validator/test/ValidatorTest.java 2006-04-17 19:44:22 UTC (rev 9755) @@ -13,6 +13,7 @@ * @author Gavin King */ public class ValidatorTest extends TestCase { + public static final String ESCAPING_EL = "(escaping #{el})"; public void testValidator() { Address a = new Address(); Address.blacklistedZipCode = null; @@ -48,10 +49,9 @@ a.floor = 4000; validationMessages = classValidator.getInvalidValues( a ); assertEquals( 1, validationMessages.length ); - if ( Locale.getDefault().toString().startsWith( "en" ) ) { - assertEquals( "Floor cannot be lower that -2 and greater than 50", validationMessages[0].getMessage() ); - } - + assertEquals( "Floor cannot " + ESCAPING_EL + + " be lower that -2 and greater than 50 " + ESCAPING_EL, + validationMessages[0].getMessage() ); } public void testCircularity() throws Exception { |