Skip to content

Commit 7d79a7f

Browse files
committed
HV-1628 Be more careful about the locale we use
1 parent b5aa816 commit 7d79a7f

File tree

7 files changed

+36
-21
lines changed

7 files changed

+36
-21
lines changed

annotation-processor/src/main/java/org/hibernate/validator/ap/internal/util/Configuration.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
*/
77
package org.hibernate.validator.ap.internal.util;
88

9-
import java.text.MessageFormat;
9+
import java.util.Locale;
1010
import java.util.Map;
11+
1112
import javax.annotation.processing.Messager;
1213
import javax.tools.Diagnostic.Kind;
1314

@@ -97,11 +98,12 @@ private Kind getDiagnosticKindOption(Map<String, String> options, Messager messa
9798
}
9899
catch (IllegalArgumentException e) {
99100
messager.printMessage(
100-
Kind.WARNING, MessageFormat.format(
101-
"The given value {0} is no valid diagnostic kind. {1} will be used.",
102-
diagnosticKindFromOptions,
103-
DEFAULT_DIAGNOSTIC_KIND
104-
)
101+
Kind.WARNING, String.format(
102+
Locale.ROOT,
103+
"The given value %1$s is no valid diagnostic kind. %2$s will be used.",
104+
diagnosticKindFromOptions,
105+
DEFAULT_DIAGNOSTIC_KIND
106+
)
105107
);
106108
}
107109
}
@@ -118,10 +120,11 @@ private boolean getVerboseOption(Map<String, String> options, Messager messager)
118120

119121
if ( theValue ) {
120122
messager.printMessage(
121-
Kind.NOTE, MessageFormat.format(
122-
"Verbose reporting is activated. Some processing information will be displayed using diagnostic kind {0}.",
123-
Kind.NOTE
124-
)
123+
Kind.NOTE, String.format(
124+
Locale.ROOT,
125+
"Verbose reporting is activated. Some processing information will be displayed using diagnostic kind %1$s.",
126+
Kind.NOTE
127+
)
125128
);
126129
}
127130

annotation-processor/src/main/java/org/hibernate/validator/ap/internal/util/MessagerAdapter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import java.text.MessageFormat;
1010
import java.util.Collection;
11+
import java.util.Locale;
1112
import java.util.ResourceBundle;
1213

1314
import javax.annotation.processing.Messager;
@@ -45,7 +46,7 @@ public MessagerAdapter(Messager messager, Kind diagnosticKind) {
4546
this.messager = messager;
4647
this.diagnosticKind = diagnosticKind;
4748

48-
errorMessages = ResourceBundle.getBundle( "org.hibernate.validator.ap.ValidationProcessorMessages" );
49+
errorMessages = ResourceBundle.getBundle( "org.hibernate.validator.ap.ValidationProcessorMessages", Locale.getDefault() );
4950
}
5051

5152
/**
@@ -114,7 +115,8 @@ private void report(ConstraintCheckIssue issue, Kind kind) {
114115
String message = errorMessages.getString( issue.getMessageKey() );
115116

116117
if ( issue.getMessageParameters() != null ) {
117-
message = MessageFormat.format( message, issue.getMessageParameters() );
118+
MessageFormat messageFormat = new MessageFormat( message, Locale.getDefault() );
119+
message = messageFormat.format( issue.getMessageParameters() );
118120
}
119121

120122
messager.printMessage(

engine/src/main/java/org/hibernate/validator/internal/cfg/context/TypeConstraintMappingContextImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.security.PrivilegedAction;
1919
import java.util.Arrays;
2020
import java.util.List;
21+
import java.util.Locale;
2122
import java.util.Set;
2223

2324
import org.hibernate.validator.cfg.ConstraintDef;
@@ -269,7 +270,7 @@ private Member getMember(Class<?> clazz, String property, ElementType elementTyp
269270
member = run( GetDeclaredField.action( clazz, property ) );
270271
}
271272
else {
272-
String methodName = property.substring( 0, 1 ).toUpperCase() + property.substring( 1 );
273+
String methodName = property.substring( 0, 1 ).toUpperCase( Locale.ROOT ) + property.substring( 1 );
273274
for ( String prefix : ReflectionHelper.PROPERTY_ACCESSOR_PREFIXES ) {
274275
member = run( GetMethod.action( clazz, prefix + methodName ) );
275276
if ( member != null ) {

engine/src/main/java/org/hibernate/validator/internal/util/Contracts.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import java.lang.invoke.MethodHandles;
1212
import java.util.Collection;
13+
import java.util.Locale;
1314

1415
import org.hibernate.validator.internal.util.logging.Log;
1516
import org.hibernate.validator.internal.util.logging.LoggerFactory;
@@ -69,7 +70,7 @@ public static void assertTrue(boolean condition, String message) {
6970

7071
public static void assertTrue(boolean condition, String message, Object... messageParameters) {
7172
if ( !condition ) {
72-
throw LOG.getIllegalArgumentException( String.format( message, messageParameters ) );
73+
throw LOG.getIllegalArgumentException( String.format( Locale.ROOT, message, messageParameters ) );
7374
}
7475
}
7576

@@ -87,7 +88,7 @@ public static void assertNotEmpty(Collection<?> collection, String message) {
8788

8889
public static void assertNotEmpty(Collection<?> collection, String message, Object... messageParameters) {
8990
if ( collection.size() == 0 ) {
90-
throw LOG.getIllegalArgumentException( String.format( message, messageParameters ) );
91+
throw LOG.getIllegalArgumentException( String.format( Locale.ROOT, message, messageParameters ) );
9192
}
9293
}
9394
}

performance/src/main/java/org/hibernate/validator/performance/statistical/TestEntity.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,13 @@
77
package org.hibernate.validator.performance.statistical;
88

99
import java.math.BigDecimal;
10+
import java.time.ZoneId;
1011
import java.util.Calendar;
1112
import java.util.Date;
1213
import java.util.GregorianCalendar;
14+
import java.util.Locale;
15+
import java.util.TimeZone;
16+
1317
import javax.validation.Valid;
1418
import javax.validation.constraints.AssertFalse;
1519
import javax.validation.constraints.AssertTrue;
@@ -28,7 +32,7 @@
2832
*/
2933
public class TestEntity {
3034
public static final int MAX_DEPTH = 10;
31-
private static final Calendar cal = GregorianCalendar.getInstance();
35+
private static final Calendar cal = GregorianCalendar.getInstance( TimeZone.getTimeZone( ZoneId.of( "GMT" ) ), Locale.ROOT );
3236

3337
public TestEntity(int depth) {
3438
if ( depth <= MAX_DEPTH ) {

test-utils/src/main/java/org/hibernate/validator/testutil/ConstraintViolationAssert.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import java.util.Arrays;
1515
import java.util.Iterator;
1616
import java.util.List;
17+
import java.util.Locale;
1718
import java.util.Set;
1819
import java.util.stream.Collectors;
1920

@@ -272,7 +273,8 @@ public void containsOnlyViolations(ViolationExpectation... expectedViolations) {
272273
referencePropertiesToTest = expectedViolations[0].propertiesToTest;
273274
for ( ViolationExpectation expectedViolation : expectedViolations ) {
274275
if ( !referencePropertiesToTest.equals( expectedViolation.propertiesToTest ) ) {
275-
throw new IllegalArgumentException( String.format( "Expected violations passed in parameter must test the exact same properties but do not: %1$s != %2$s",
276+
throw new IllegalArgumentException( String.format( Locale.ROOT,
277+
"Expected violations passed in parameter must test the exact same properties but do not: %1$s != %2$s",
276278
expectedViolations[0], expectedViolation ) );
277279
}
278280
}
@@ -309,7 +311,7 @@ public void containsPath(PathExpectation expectedPath) {
309311
actualPaths.add( actual );
310312
}
311313

312-
fail( String.format( "Didn't find path <%s> in actual paths <%s>.", expectedPath, actualPaths ) );
314+
fail( String.format( Locale.ROOT, "Didn't find path <%s> in actual paths <%s>.", expectedPath, actualPaths ) );
313315
}
314316

315317
public void containsPaths(PathExpectation... expectedPaths) {

test-utils/src/main/java/org/hibernate/validator/testutil/DescriptorAssert.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@
88

99
import static org.testng.Assert.fail;
1010

11-
import org.assertj.core.api.IterableAssert;
12-
11+
import java.util.Locale;
1312
import java.util.Set;
13+
1414
import javax.validation.metadata.GroupConversionDescriptor;
1515

16+
import org.assertj.core.api.IterableAssert;
17+
1618
/**
1719
* Provides assertion methods for testing {@link javax.validation.metadata.ElementDescriptor}
1820
* implementations and collections thereof.
@@ -54,7 +56,7 @@ public void containsConversion(Class<?> from, Class<?> to) {
5456
}
5557

5658
if ( !foundMatchingConversion ) {
57-
fail( String.format( "<%s> does not contain a conversion from <%s> to <%s>.", actual, from, to ) );
59+
fail( String.format( Locale.ROOT, "<%s> does not contain a conversion from <%s> to <%s>.", actual, from, to ) );
5860
}
5961
}
6062
}

0 commit comments

Comments
 (0)