|
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 {
|