diff --git a/hibernate-core/src/main/java/org/hibernate/CacheMode.java b/hibernate-core/src/main/java/org/hibernate/CacheMode.java index 54ebf079a9e0..4c2247e0b94e 100755 --- a/hibernate-core/src/main/java/org/hibernate/CacheMode.java +++ b/hibernate-core/src/main/java/org/hibernate/CacheMode.java @@ -23,6 +23,8 @@ */ package org.hibernate; +import java.util.Locale; + /** * Controls how the session interacts with the second-level cache and query cache. * @@ -100,7 +102,7 @@ public static CacheMode interpretExternalSetting(String setting) { } try { - return CacheMode.valueOf( setting.toUpperCase() ); + return CacheMode.valueOf( setting.toUpperCase(Locale.ROOT) ); } catch ( IllegalArgumentException e ) { throw new MappingException( "Unknown Cache Mode: " + setting ); diff --git a/hibernate-core/src/main/java/org/hibernate/ConnectionReleaseMode.java b/hibernate-core/src/main/java/org/hibernate/ConnectionReleaseMode.java index 25309ca10ef5..189b52c984e6 100644 --- a/hibernate-core/src/main/java/org/hibernate/ConnectionReleaseMode.java +++ b/hibernate-core/src/main/java/org/hibernate/ConnectionReleaseMode.java @@ -23,6 +23,8 @@ */ package org.hibernate; +import java.util.Locale; + /** * Defines the various policies by which Hibernate might release its underlying * JDBC connection. @@ -61,6 +63,6 @@ public enum ConnectionReleaseMode{ * @return The matched enum value. */ public static ConnectionReleaseMode parse(final String name) { - return ConnectionReleaseMode.valueOf( name.toUpperCase() ); + return ConnectionReleaseMode.valueOf( name.toUpperCase(Locale.ROOT) ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/FlushMode.java b/hibernate-core/src/main/java/org/hibernate/FlushMode.java index 8a0dbacb930a..8af4adb00fe1 100644 --- a/hibernate-core/src/main/java/org/hibernate/FlushMode.java +++ b/hibernate-core/src/main/java/org/hibernate/FlushMode.java @@ -23,6 +23,8 @@ */ package org.hibernate; +import java.util.Locale; + /** * Represents a flushing strategy. The flush process synchronizes * database state with session state by detecting state changes @@ -119,7 +121,7 @@ public static FlushMode interpretExternalSetting(String externalName) { } try { - return FlushMode.valueOf( externalName.toUpperCase() ); + return FlushMode.valueOf( externalName.toUpperCase(Locale.ROOT) ); } catch ( IllegalArgumentException e ) { throw new MappingException( "unknown FlushMode : " + externalName ); diff --git a/hibernate-core/src/main/java/org/hibernate/MultiTenancyStrategy.java b/hibernate-core/src/main/java/org/hibernate/MultiTenancyStrategy.java index 5f0f74f6cf94..1c212c64c074 100644 --- a/hibernate-core/src/main/java/org/hibernate/MultiTenancyStrategy.java +++ b/hibernate-core/src/main/java/org/hibernate/MultiTenancyStrategy.java @@ -23,6 +23,7 @@ */ package org.hibernate; +import java.util.Locale; import java.util.Map; import org.hibernate.cfg.Environment; @@ -88,7 +89,7 @@ public static MultiTenancyStrategy determineMultiTenancyStrategy(Map properties) final String strategyName = strategy.toString(); try { - return MultiTenancyStrategy.valueOf( strategyName.toUpperCase() ); + return MultiTenancyStrategy.valueOf( strategyName.toUpperCase(Locale.ROOT) ); } catch ( RuntimeException e ) { LOG.warn( "Unknown multi tenancy strategy [ " +strategyName +" ], using MultiTenancyStrategy.NONE." ); diff --git a/hibernate-core/src/main/java/org/hibernate/boot/internal/MetadataBuilderImpl.java b/hibernate-core/src/main/java/org/hibernate/boot/internal/MetadataBuilderImpl.java index 631d0c290f85..0d268e1fdc79 100644 --- a/hibernate-core/src/main/java/org/hibernate/boot/internal/MetadataBuilderImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/boot/internal/MetadataBuilderImpl.java @@ -28,6 +28,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import javax.persistence.AttributeConverter; import javax.persistence.SharedCacheMode; @@ -339,7 +340,7 @@ public MetadataBuilder applySqlFunction(String functionName, SQLFunction functio // HHH-7721: SQLFunctionRegistry expects all lowercase. Enforce, // just in case a user's customer dialect uses mixed cases. - this.options.sqlFunctionMap.put( functionName.toLowerCase(), function ); + this.options.sqlFunctionMap.put( functionName.toLowerCase(Locale.ROOT), function ); return this; } diff --git a/hibernate-core/src/main/java/org/hibernate/boot/model/source/internal/hbm/ModelBinder.java b/hibernate-core/src/main/java/org/hibernate/boot/model/source/internal/hbm/ModelBinder.java index 5d7f966a2d14..d3228203c69c 100644 --- a/hibernate-core/src/main/java/org/hibernate/boot/model/source/internal/hbm/ModelBinder.java +++ b/hibernate-core/src/main/java/org/hibernate/boot/model/source/internal/hbm/ModelBinder.java @@ -2500,7 +2500,7 @@ private void bindProperty( String.format( Locale.ENGLISH, "Cannot specify both insert=\"true\" and generated=\"%s\" for property %s", - generationTiming.name().toLowerCase(), + generationTiming.name().toLowerCase(Locale.ROOT), propertySource.getName() ), mappingDocument.getOrigin() @@ -2522,7 +2522,7 @@ private void bindProperty( String.format( Locale.ENGLISH, "Cannot specify both update=\"true\" and generated=\"%s\" for property %s", - generationTiming.name().toLowerCase(), + generationTiming.name().toLowerCase(Locale.ROOT), propertySource.getName() ), mappingDocument.getOrigin() diff --git a/hibernate-core/src/main/java/org/hibernate/boot/model/source/internal/hbm/XmlElementMetadata.java b/hibernate-core/src/main/java/org/hibernate/boot/model/source/internal/hbm/XmlElementMetadata.java index a3ad6350cf4d..57d1856f7f02 100644 --- a/hibernate-core/src/main/java/org/hibernate/boot/model/source/internal/hbm/XmlElementMetadata.java +++ b/hibernate-core/src/main/java/org/hibernate/boot/model/source/internal/hbm/XmlElementMetadata.java @@ -23,6 +23,8 @@ */ package org.hibernate.boot.model.source.internal.hbm; +import java.util.Locale; + /** * Provides meta-information about XML elements. * @@ -173,7 +175,7 @@ public enum XmlElementMetadata { * @return The {@code hbm.xml} element name */ public String getElementName() { - return name().toLowerCase(); + return name().toLowerCase(Locale.ROOT); } /** diff --git a/hibernate-core/src/main/java/org/hibernate/bytecode/enhance/internal/AttributeTypeDescriptor.java b/hibernate-core/src/main/java/org/hibernate/bytecode/enhance/internal/AttributeTypeDescriptor.java index a75f95abd63a..145e964f3bd3 100644 --- a/hibernate-core/src/main/java/org/hibernate/bytecode/enhance/internal/AttributeTypeDescriptor.java +++ b/hibernate-core/src/main/java/org/hibernate/bytecode/enhance/internal/AttributeTypeDescriptor.java @@ -31,6 +31,7 @@ import javax.persistence.Id; import java.util.Collection; +import java.util.Locale; /** * utility class to generate interceptor methods @@ -176,7 +177,7 @@ private PrimitiveAttributeTypeDescriptor(Class primitiveType) { throw new IllegalArgumentException( "Primitive attribute type descriptor can only be used on primitive types" ); } // capitalize first letter - this.type = primitiveType.getSimpleName().substring( 0, 1 ).toUpperCase() + primitiveType.getSimpleName().substring( 1 ); + this.type = primitiveType.getSimpleName().substring( 0, 1 ).toUpperCase(Locale.ROOT) + primitiveType.getSimpleName().substring( 1 ); } public String buildReadInterceptionBodyFragment(String fieldName) { @@ -197,7 +198,7 @@ public String buildWriteInterceptionBodyFragment(String fieldName) { "}%n" + "this.%1$s = localVar;", fieldName, - type.toLowerCase(), + type.toLowerCase(Locale.ROOT ), type, EnhancerConstants.INTERCEPTOR_GETTER_NAME ); diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/CopyIdentifierComponentSecondPass.java b/hibernate-core/src/main/java/org/hibernate/cfg/CopyIdentifierComponentSecondPass.java index 37b4311ca5c6..62ee0821bc8f 100644 --- a/hibernate-core/src/main/java/org/hibernate/cfg/CopyIdentifierComponentSecondPass.java +++ b/hibernate-core/src/main/java/org/hibernate/cfg/CopyIdentifierComponentSecondPass.java @@ -25,6 +25,7 @@ import java.util.HashMap; import java.util.Iterator; +import java.util.Locale; import java.util.Map; import org.hibernate.AnnotationException; @@ -88,7 +89,7 @@ public void doSecondPass(Map persistentClasses) throws MappingException { break; } //JPA 2 requires referencedColumnNames to be case insensitive - columnByReferencedName.put( referencedColumnName.toLowerCase(), joinColumn ); + columnByReferencedName.put( referencedColumnName.toLowerCase(Locale.ROOT), joinColumn ); } //try default column orientation int index = 0; @@ -146,7 +147,7 @@ public void doSecondPass(Map persistentClasses) throws MappingException { columnName ); //JPA 2 requires referencedColumnNames to be case insensitive - joinColumn = columnByReferencedName.get( logicalColumnName.toLowerCase() ); + joinColumn = columnByReferencedName.get( logicalColumnName.toLowerCase(Locale.ROOT ) ); } else { joinColumn = columnByReferencedName.get( "" + index ); diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/DefaultComponentSafeNamingStrategy.java b/hibernate-core/src/main/java/org/hibernate/cfg/DefaultComponentSafeNamingStrategy.java index 805d7cd02ffa..c6c69da01599 100644 --- a/hibernate-core/src/main/java/org/hibernate/cfg/DefaultComponentSafeNamingStrategy.java +++ b/hibernate-core/src/main/java/org/hibernate/cfg/DefaultComponentSafeNamingStrategy.java @@ -22,6 +22,7 @@ * Boston, MA 02110-1301 USA */ package org.hibernate.cfg; +import java.util.Locale; import org.hibernate.AssertionFailure; import org.hibernate.internal.util.StringHelper; @@ -32,7 +33,7 @@ public class DefaultComponentSafeNamingStrategy extends EJB3NamingStrategy { public static final NamingStrategy INSTANCE = new DefaultComponentSafeNamingStrategy(); protected static String addUnderscores(String name) { - return name.replace( '.', '_' ).toLowerCase(); + return name.replace( '.', '_' ).toLowerCase(Locale.ROOT); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/ImprovedNamingStrategy.java b/hibernate-core/src/main/java/org/hibernate/cfg/ImprovedNamingStrategy.java index b9be3483c7c5..42ee43d672d9 100644 --- a/hibernate-core/src/main/java/org/hibernate/cfg/ImprovedNamingStrategy.java +++ b/hibernate-core/src/main/java/org/hibernate/cfg/ImprovedNamingStrategy.java @@ -24,6 +24,7 @@ package org.hibernate.cfg; import java.io.Serializable; +import java.util.Locale; import org.hibernate.AssertionFailure; import org.hibernate.internal.util.StringHelper; @@ -79,7 +80,7 @@ protected static String addUnderscores(String name) { buf.insert(i++, '_'); } } - return buf.toString().toLowerCase(); + return buf.toString().toLowerCase(Locale.ROOT); } public String collectionTableName( diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/JPAIndexHolder.java b/hibernate-core/src/main/java/org/hibernate/cfg/JPAIndexHolder.java index fa1fbe7881be..0d2c8dc17692 100644 --- a/hibernate-core/src/main/java/org/hibernate/cfg/JPAIndexHolder.java +++ b/hibernate-core/src/main/java/org/hibernate/cfg/JPAIndexHolder.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.StringTokenizer; import javax.persistence.Index; @@ -69,7 +70,7 @@ public boolean isUnique() { private void initializeColumns(String[] columns, String[] ordering, List list) { for ( int i = 0, size = list.size(); i < size; i++ ) { final String description = list.get( i ); - final String tmp = description.toLowerCase(); + final String tmp = description.toLowerCase(Locale.ROOT); if ( tmp.endsWith( " desc" ) ) { columns[i] = description.substring( 0, description.length() - 5 ); ordering[i] = "desc"; diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/VerifyFetchProfileReferenceSecondPass.java b/hibernate-core/src/main/java/org/hibernate/cfg/VerifyFetchProfileReferenceSecondPass.java index 9d03d8098ce0..5785b9a2de1c 100644 --- a/hibernate-core/src/main/java/org/hibernate/cfg/VerifyFetchProfileReferenceSecondPass.java +++ b/hibernate-core/src/main/java/org/hibernate/cfg/VerifyFetchProfileReferenceSecondPass.java @@ -22,6 +22,7 @@ * Boston, MA 02110-1301 USA */ package org.hibernate.cfg; +import java.util.Locale; import java.util.Map; import org.hibernate.MappingException; @@ -66,7 +67,7 @@ public void doSecondPass(Map persistentClasses) throws MappingException { clazz.getProperty( fetch.association() ); profile.addFetch( - fetch.entity().getName(), fetch.association(), fetch.mode().toString().toLowerCase() + fetch.entity().getName(), fetch.association(), fetch.mode().toString().toLowerCase(Locale.ROOT) ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/annotations/CollectionBinder.java b/hibernate-core/src/main/java/org/hibernate/cfg/annotations/CollectionBinder.java index 1b5ac58e6b06..9734dda27828 100644 --- a/hibernate-core/src/main/java/org/hibernate/cfg/annotations/CollectionBinder.java +++ b/hibernate-core/src/main/java/org/hibernate/cfg/annotations/CollectionBinder.java @@ -26,6 +26,7 @@ import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; +import java.util.Locale; import java.util.Map; import java.util.Properties; import javax.persistence.AttributeOverride; @@ -463,23 +464,23 @@ public void bind() { Loader loader = property.getAnnotation( Loader.class ); if ( sqlInsert != null ) { collection.setCustomSQLInsert( sqlInsert.sql().trim(), sqlInsert.callable(), - ExecuteUpdateResultCheckStyle.fromExternalName( sqlInsert.check().toString().toLowerCase() ) + ExecuteUpdateResultCheckStyle.fromExternalName( sqlInsert.check().toString().toLowerCase(Locale.ROOT) ) ); } if ( sqlUpdate != null ) { collection.setCustomSQLUpdate( sqlUpdate.sql(), sqlUpdate.callable(), - ExecuteUpdateResultCheckStyle.fromExternalName( sqlUpdate.check().toString().toLowerCase() ) + ExecuteUpdateResultCheckStyle.fromExternalName( sqlUpdate.check().toString().toLowerCase(Locale.ROOT) ) ); } if ( sqlDelete != null ) { collection.setCustomSQLDelete( sqlDelete.sql(), sqlDelete.callable(), - ExecuteUpdateResultCheckStyle.fromExternalName( sqlDelete.check().toString().toLowerCase() ) + ExecuteUpdateResultCheckStyle.fromExternalName( sqlDelete.check().toString().toLowerCase(Locale.ROOT) ) ); } if ( sqlDeleteAll != null ) { collection.setCustomSQLDeleteAll( sqlDeleteAll.sql(), sqlDeleteAll.callable(), - ExecuteUpdateResultCheckStyle.fromExternalName( sqlDeleteAll.check().toString().toLowerCase() ) + ExecuteUpdateResultCheckStyle.fromExternalName( sqlDeleteAll.check().toString().toLowerCase(Locale.ROOT) ) ); } if ( loader != null ) { diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/annotations/EntityBinder.java b/hibernate-core/src/main/java/org/hibernate/cfg/annotations/EntityBinder.java index a58bc593bf8a..f8fc843a5dc0 100644 --- a/hibernate-core/src/main/java/org/hibernate/cfg/annotations/EntityBinder.java +++ b/hibernate-core/src/main/java/org/hibernate/cfg/annotations/EntityBinder.java @@ -27,6 +27,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Locale; import javax.persistence.Access; import javax.persistence.ConstraintMode; import javax.persistence.Entity; @@ -334,23 +335,23 @@ public void bindEntity() { if ( sqlInsert != null ) { persistentClass.setCustomSQLInsert( sqlInsert.sql().trim(), sqlInsert.callable(), - ExecuteUpdateResultCheckStyle.fromExternalName( sqlInsert.check().toString().toLowerCase() ) + ExecuteUpdateResultCheckStyle.fromExternalName( sqlInsert.check().toString().toLowerCase(Locale.ROOT) ) ); } if ( sqlUpdate != null ) { persistentClass.setCustomSQLUpdate( sqlUpdate.sql(), sqlUpdate.callable(), - ExecuteUpdateResultCheckStyle.fromExternalName( sqlUpdate.check().toString().toLowerCase() ) - ); + ExecuteUpdateResultCheckStyle.fromExternalName( sqlUpdate.check().toString().toLowerCase(Locale.ROOT) ) + );Locale.ROOT } if ( sqlDelete != null ) { persistentClass.setCustomSQLDelete( sqlDelete.sql(), sqlDelete.callable(), - ExecuteUpdateResultCheckStyle.fromExternalName( sqlDelete.check().toString().toLowerCase() ) + ExecuteUpdateResultCheckStyle.fromExternalName( sqlDelete.check().toString().toLowerCase(Locale.ROOT) ) ); } if ( sqlDeleteAll != null ) { persistentClass.setCustomSQLDelete( sqlDeleteAll.sql(), sqlDeleteAll.callable(), - ExecuteUpdateResultCheckStyle.fromExternalName( sqlDeleteAll.check().toString().toLowerCase() ) + ExecuteUpdateResultCheckStyle.fromExternalName( sqlDeleteAll.check().toString().toLowerCase(Locale.ROOT) ) ); } if ( loader != null ) { @@ -986,7 +987,7 @@ else if ( joinTable != null ) { join.setCustomSQLInsert( matchingTable.sqlInsert().sql().trim(), matchingTable.sqlInsert().callable(), ExecuteUpdateResultCheckStyle.fromExternalName( - matchingTable.sqlInsert().check().toString().toLowerCase() + matchingTable.sqlInsert().check().toString().toLowerCase(Locale.ROOT) ) ); } @@ -994,7 +995,7 @@ else if ( joinTable != null ) { join.setCustomSQLUpdate( matchingTable.sqlUpdate().sql().trim(), matchingTable.sqlUpdate().callable(), ExecuteUpdateResultCheckStyle.fromExternalName( - matchingTable.sqlUpdate().check().toString().toLowerCase() + matchingTable.sqlUpdate().check().toString().toLowerCase(Locale.ROOT) ) ); } @@ -1002,7 +1003,7 @@ else if ( joinTable != null ) { join.setCustomSQLDelete( matchingTable.sqlDelete().sql().trim(), matchingTable.sqlDelete().callable(), ExecuteUpdateResultCheckStyle.fromExternalName( - matchingTable.sqlDelete().check().toString().toLowerCase() + matchingTable.sqlDelete().check().toString().toLowerCase(Locale.ROOT) ) ); } diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/annotations/reflection/JPAOverriddenAnnotationReader.java b/hibernate-core/src/main/java/org/hibernate/cfg/annotations/reflection/JPAOverriddenAnnotationReader.java index b9c1d123af72..6d16dffd6432 100644 --- a/hibernate-core/src/main/java/org/hibernate/cfg/annotations/reflection/JPAOverriddenAnnotationReader.java +++ b/hibernate-core/src/main/java/org/hibernate/cfg/annotations/reflection/JPAOverriddenAnnotationReader.java @@ -34,6 +34,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; import javax.persistence.Access; @@ -1980,7 +1981,7 @@ public static List buildNamedStoreProcedureQueries(El parameterDescriptor.setValue( "mode", ParameterMode.IN ); } else { - parameterDescriptor.setValue( "mode", ParameterMode.valueOf( modeValue.toUpperCase() ) ); + parameterDescriptor.setValue( "mode", ParameterMode.valueOf( modeValue.toUpperCase(Locale.ROOT) ) ); } String clazzName = parameterElement.attributeValue( "class" ); Class clazz; diff --git a/hibernate-core/src/main/java/org/hibernate/cfg/beanvalidation/ValidationMode.java b/hibernate-core/src/main/java/org/hibernate/cfg/beanvalidation/ValidationMode.java index 29bbda041308..2e5be99eddee 100644 --- a/hibernate-core/src/main/java/org/hibernate/cfg/beanvalidation/ValidationMode.java +++ b/hibernate-core/src/main/java/org/hibernate/cfg/beanvalidation/ValidationMode.java @@ -24,6 +24,7 @@ package org.hibernate.cfg.beanvalidation; import java.util.HashSet; +import java.util.Locale; import java.util.Set; import org.hibernate.HibernateException; @@ -68,7 +69,7 @@ private static ValidationMode getMode(String modeProperty) { } else { try { - return valueOf( modeProperty.trim().toUpperCase() ); + return valueOf( modeProperty.trim().toUpperCase(Locale.ROOT) ); } catch ( IllegalArgumentException e ) { throw new HibernateException( "Unknown validation mode in " + BeanValidationIntegrator.MODE_PROPERTY + ": " + modeProperty ); diff --git a/hibernate-core/src/main/java/org/hibernate/criterion/Example.java b/hibernate-core/src/main/java/org/hibernate/criterion/Example.java index 44a9abc6fe1f..2ba7beee5049 100644 --- a/hibernate-core/src/main/java/org/hibernate/criterion/Example.java +++ b/hibernate-core/src/main/java/org/hibernate/criterion/Example.java @@ -27,6 +27,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Set; import org.hibernate.Criteria; @@ -289,7 +290,7 @@ protected void addPropertyTypedValue(Object value, Type type, List l if ( value instanceof String ) { String string = (String) value; if ( isIgnoreCaseEnabled ) { - string = string.toLowerCase(); + string = string.toLowerCase(Locale.ROOT); } if ( isLikeEnabled ) { string = matchMode.toMatchString( string ); diff --git a/hibernate-core/src/main/java/org/hibernate/criterion/IlikeExpression.java b/hibernate-core/src/main/java/org/hibernate/criterion/IlikeExpression.java index 923890bcafc6..62a4f3d68467 100644 --- a/hibernate-core/src/main/java/org/hibernate/criterion/IlikeExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/criterion/IlikeExpression.java @@ -24,6 +24,7 @@ */ package org.hibernate.criterion; +import java.util.Locale; import org.hibernate.Criteria; import org.hibernate.HibernateException; import org.hibernate.dialect.Dialect; @@ -74,7 +75,7 @@ public TypedValue[] getTypedValues(Criteria criteria, CriteriaQuery criteriaQuer criteriaQuery.getTypedValue( criteria, propertyName, - value.toString().toLowerCase() + value.toString().toLowerCase(Locale.ROOT) ) }; } diff --git a/hibernate-core/src/main/java/org/hibernate/criterion/Junction.java b/hibernate-core/src/main/java/org/hibernate/criterion/Junction.java index d9cde4b3b37c..3f85e45531df 100644 --- a/hibernate-core/src/main/java/org/hibernate/criterion/Junction.java +++ b/hibernate-core/src/main/java/org/hibernate/criterion/Junction.java @@ -27,6 +27,7 @@ import java.util.Collections; import java.util.Iterator; import java.util.List; +import java.util.Locale; import org.hibernate.Criteria; import org.hibernate.HibernateException; @@ -132,7 +133,7 @@ public static enum Nature { * @return SQL operator */ public String getOperator() { - return name().toLowerCase(); + return name().toLowerCase(Locale.ROOT); } } } diff --git a/hibernate-core/src/main/java/org/hibernate/criterion/LikeExpression.java b/hibernate-core/src/main/java/org/hibernate/criterion/LikeExpression.java index eb71480ab206..1de76ad7c89d 100644 --- a/hibernate-core/src/main/java/org/hibernate/criterion/LikeExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/criterion/LikeExpression.java @@ -23,6 +23,7 @@ */ package org.hibernate.criterion; +import java.util.Locale; import org.hibernate.Criteria; import org.hibernate.HibernateException; import org.hibernate.dialect.Dialect; @@ -94,7 +95,7 @@ public String toSqlString(Criteria criteria,CriteriaQuery criteriaQuery) { @Override public TypedValue[] getTypedValues(Criteria criteria, CriteriaQuery criteriaQuery) { - final String matchValue = ignoreCase ? value.toString().toLowerCase() : value.toString(); + final String matchValue = ignoreCase ? value.toString().toLowerCase(Locale.ROOT) : value.toString(); return new TypedValue[] { criteriaQuery.getTypedValue( criteria, propertyName, matchValue ) }; } diff --git a/hibernate-core/src/main/java/org/hibernate/criterion/Order.java b/hibernate-core/src/main/java/org/hibernate/criterion/Order.java index dd3adccccb38..979a10d2968d 100644 --- a/hibernate-core/src/main/java/org/hibernate/criterion/Order.java +++ b/hibernate-core/src/main/java/org/hibernate/criterion/Order.java @@ -25,6 +25,7 @@ import java.io.Serializable; import java.sql.Types; +import java.util.Locale; import org.hibernate.Criteria; import org.hibernate.NullPrecedence; @@ -167,6 +168,6 @@ public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) { public String toString() { return propertyName + ' ' + ( ascending ? "asc" : "desc" ) - + ( nullPrecedence != null ? ' ' + nullPrecedence.name().toLowerCase() : "" ); + + ( nullPrecedence != null ? ' ' + nullPrecedence.name().toLowerCase(Locale.ROOT) : "" ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/criterion/SimpleExpression.java b/hibernate-core/src/main/java/org/hibernate/criterion/SimpleExpression.java index b8d80f06518d..b1ef137a1e1f 100644 --- a/hibernate-core/src/main/java/org/hibernate/criterion/SimpleExpression.java +++ b/hibernate-core/src/main/java/org/hibernate/criterion/SimpleExpression.java @@ -24,6 +24,7 @@ package org.hibernate.criterion; import java.sql.Types; +import java.util.Locale; import org.hibernate.Criteria; import org.hibernate.HibernateException; @@ -111,7 +112,7 @@ public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws @Override public TypedValue[] getTypedValues(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { - final Object casedValue = ignoreCase ? value.toString().toLowerCase() : value; + final Object casedValue = ignoreCase ? value.toString().toLowerCase(Locale.ROOT) : value; return new TypedValue[] { criteriaQuery.getTypedValue( criteria, propertyName, casedValue ) }; } diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/DerbyDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/DerbyDialect.java index 09e591383619..b386e696077d 100755 --- a/hibernate-core/src/main/java/org/hibernate/dialect/DerbyDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/DerbyDialect.java @@ -25,6 +25,7 @@ import java.lang.reflect.Method; import java.sql.Types; +import java.util.Locale; import org.hibernate.MappingException; import org.hibernate.dialect.function.AnsiTrimFunction; @@ -198,7 +199,7 @@ public LimitHandler getLimitHandler() { @Override public String getLimitString(String query, final int offset, final int limit) { final StringBuilder sb = new StringBuilder(query.length() + 50); - final String normalizedSelect = query.toLowerCase().trim(); + final String normalizedSelect = query.toLowerCase(Locale.ROOT).trim(); final int forUpdateIndex = normalizedSelect.lastIndexOf( "for update") ; if ( hasForUpdateClause( forUpdateIndex ) ) { @@ -287,7 +288,7 @@ private final class DerbyLimitHandler extends AbstractLimitHandler { @Override public String processSql(String sql, RowSelection selection) { final StringBuilder sb = new StringBuilder( sql.length() + 50 ); - final String normalizedSelect = sql.toLowerCase().trim(); + final String normalizedSelect = sql.toLowerCase(Locale.ROOT).trim(); final int forUpdateIndex = normalizedSelect.lastIndexOf( "for update" ); if (hasForUpdateClause( forUpdateIndex )) { diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java index 71bd55e16428..8dda1949c4e0 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java @@ -109,6 +109,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Properties; import java.util.Set; @@ -710,7 +711,7 @@ protected void registerHibernateType(int code, String name) { protected void registerFunction(String name, SQLFunction function) { // HHH-7721: SQLFunctionRegistry expects all lowercase. Enforce, // just in case a user's customer dialect uses mixed cases. - sqlFunctions.put( name.toLowerCase(), function ); + sqlFunctions.put( name.toLowerCase(Locale.ROOT), function ); } /** @@ -2452,7 +2453,7 @@ public String renderOrderByElement(String expression, String collation, String o orderByElement.append( " " ).append( order ); } if ( nulls != NullPrecedence.NONE ) { - orderByElement.append( " nulls " ).append( nulls.name().toLowerCase() ); + orderByElement.append( " nulls " ).append( nulls.name().toLowerCase(Locale.ROOT) ); } return orderByElement.toString(); } diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/HSQLDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/HSQLDialect.java index d8a9f1019b75..693fd1591b6a 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/HSQLDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/HSQLDialect.java @@ -26,6 +26,7 @@ import java.io.Serializable; import java.sql.SQLException; import java.sql.Types; +import java.util.Locale; import org.hibernate.JDBCException; import org.hibernate.LockMode; @@ -86,7 +87,7 @@ public String processSql(String sql, RowSelection selection) { return new StringBuilder( sql.length() + 10 ) .append( sql ) .insert( - sql.toLowerCase().indexOf( "select" ) + 6, + sql.toLowerCase(Locale.ROOT).indexOf( "select" ) + 6, hasOffset ? " limit ? ?" : " top ?" ) .toString(); @@ -319,7 +320,7 @@ public String getLimitString(String sql, boolean hasOffset) { return new StringBuilder( sql.length() + 10 ) .append( sql ) .insert( - sql.toLowerCase().indexOf( "select" ) + 6, + sql.toLowerCase(Locale.ROOT).indexOf( "select" ) + 6, hasOffset ? " limit ? ?" : " top ?" ) .toString(); diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/InformixDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/InformixDialect.java index 1f7519b2a18e..614d7dc8c260 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/InformixDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/InformixDialect.java @@ -25,6 +25,7 @@ import java.sql.SQLException; import java.sql.Types; +import java.util.Locale; import org.hibernate.MappingException; import org.hibernate.dialect.function.VarArgsSQLFunction; @@ -219,7 +220,7 @@ public String getLimitString(String querySelect, int offset, int limit) { } return new StringBuilder( querySelect.length() + 8 ) .append( querySelect ) - .insert( querySelect.toLowerCase().indexOf( "select" ) + 6, " first " + limit ) + .insert( querySelect.toLowerCase(Locale.ROOT).indexOf( "select" ) + 6, " first " + limit ) .toString(); } diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/InterbaseDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/InterbaseDialect.java index 071c13cef765..3cf4fe5cc176 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/InterbaseDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/InterbaseDialect.java @@ -23,6 +23,7 @@ */ package org.hibernate.dialect; import java.sql.Types; +import java.util.Locale; import org.hibernate.cfg.Environment; import org.hibernate.dialect.function.NoArgSQLFunction; @@ -105,7 +106,7 @@ public String getCreateSequenceString(String sequenceName) { @Override public String getDropSequenceString(String sequenceName) { - return "delete from RDB$GENERATORS where RDB$GENERATOR_NAME = '" + sequenceName.toUpperCase() + "'"; + return "delete from RDB$GENERATORS where RDB$GENERATOR_NAME = '" + sequenceName.toUpperCase(Locale.ROOT) + "'"; } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/Oracle8iDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/Oracle8iDialect.java index 636d163cf279..bd5112e9089d 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/Oracle8iDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/Oracle8iDialect.java @@ -28,6 +28,7 @@ import java.sql.SQLException; import java.sql.Types; import java.util.List; +import java.util.Locale; import org.hibernate.JDBCException; import org.hibernate.QueryTimeoutException; @@ -73,7 +74,8 @@ public String processSql(String sql, RowSelection selection) { final boolean hasOffset = LimitHelper.hasFirstRow( selection ); sql = sql.trim(); boolean isForUpdate = false; - if (sql.toLowerCase().endsWith( " for update" )) { + if (sql.toLowerCase(Locale.ROOT + ).endsWith( " for update" )) { sql = sql.substring( 0, sql.length() - 11 ); isForUpdate = true; } @@ -306,7 +308,7 @@ public LimitHandler getLimitHandler() { public String getLimitString(String sql, boolean hasOffset) { sql = sql.trim(); boolean isForUpdate = false; - if ( sql.toLowerCase().endsWith( " for update" ) ) { + if ( sql.toLowerCase(Locale.ROOT).endsWith( " for update" ) ) { sql = sql.substring( 0, sql.length()-11 ); isForUpdate = true; } diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/Oracle9Dialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/Oracle9Dialect.java index cf04dbadb2a0..fdc9f843a780 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/Oracle9Dialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/Oracle9Dialect.java @@ -27,6 +27,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; +import java.util.Locale; import org.hibernate.cfg.Environment; import org.hibernate.dialect.function.NoArgSQLFunction; @@ -242,7 +243,7 @@ public String getLimitString(String sql, boolean hasOffset) { sql = sql.trim(); boolean isForUpdate = false; - if ( sql.toLowerCase().endsWith( " for update" ) ) { + if ( sql.toLowerCase(Locale.ROOT).endsWith( " for update" ) ) { sql = sql.substring( 0, sql.length() - 11 ); isForUpdate = true; } diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/Oracle9iDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/Oracle9iDialect.java index 6fe8cb271db7..8890ff76cb20 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/Oracle9iDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/Oracle9iDialect.java @@ -24,6 +24,7 @@ package org.hibernate.dialect; import java.sql.Types; +import java.util.Locale; import org.hibernate.LockOptions; import org.hibernate.dialect.pagination.AbstractLimitHandler; @@ -49,7 +50,7 @@ public String processSql(String sql, RowSelection selection) { sql = sql.trim(); String forUpdateClause = null; boolean isForUpdate = false; - final int forUpdateIndex = sql.toLowerCase().lastIndexOf( "for update" ); + final int forUpdateIndex = sql.toLowerCase(Locale.ROOT).lastIndexOf( "for update" ); if (forUpdateIndex > -1) { // save 'for update ...' and then remove it forUpdateClause = sql.substring( forUpdateIndex ); @@ -126,7 +127,7 @@ public String getLimitString(String sql, boolean hasOffset) { sql = sql.trim(); String forUpdateClause = null; boolean isForUpdate = false; - final int forUpdateIndex = sql.toLowerCase().lastIndexOf( "for update") ; + final int forUpdateIndex = sql.toLowerCase(Locale.ROOT).lastIndexOf( "for update") ; if ( forUpdateIndex > -1 ) { // save 'for update ...' and then remove it forUpdateClause = sql.substring( forUpdateIndex ); diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/OracleDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/OracleDialect.java index 639febfaf1cc..16779c4513e7 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/OracleDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/OracleDialect.java @@ -24,6 +24,7 @@ package org.hibernate.dialect; import java.sql.Types; +import java.util.Locale; import org.hibernate.internal.CoreMessageLogger; import org.hibernate.sql.CaseFragment; @@ -75,7 +76,7 @@ public String getLimitString(String sql, boolean hasOffset) { sql = sql.trim(); boolean isForUpdate = false; - if ( sql.toLowerCase().endsWith( " for update" ) ) { + if ( sql.toLowerCase(Locale.ROOT).endsWith( " for update" ) ) { sql = sql.substring( 0, sql.length()-11 ); isForUpdate = true; } diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/SQLServerDialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/SQLServerDialect.java index 864055149ec4..d0d8a0eee520 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/SQLServerDialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/SQLServerDialect.java @@ -24,6 +24,7 @@ package org.hibernate.dialect; import java.sql.Types; +import java.util.Locale; import org.hibernate.LockMode; import org.hibernate.LockOptions; @@ -79,8 +80,8 @@ public String getNoColumnsInsertString() { } static int getAfterSelectInsertPoint(String sql) { - final int selectIndex = sql.toLowerCase().indexOf( "select" ); - final int selectDistinctIndex = sql.toLowerCase().indexOf( "select distinct" ); + final int selectIndex = sql.toLowerCase(Locale.ROOT).indexOf( "select" ); + final int selectDistinctIndex = sql.toLowerCase(Locale.ROOT).indexOf( "select distinct" ); return selectIndex + (selectDistinctIndex == selectIndex ? 15 : 6); } diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/function/SQLFunctionRegistry.java b/hibernate-core/src/main/java/org/hibernate/dialect/function/SQLFunctionRegistry.java index 8040427a18da..134a36865d0f 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/function/SQLFunctionRegistry.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/function/SQLFunctionRegistry.java @@ -24,6 +24,7 @@ package org.hibernate.dialect.function; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import org.hibernate.dialect.Dialect; @@ -59,7 +60,7 @@ public SQLFunctionRegistry(Dialect dialect, Map userFunctio * @return The located function, maye return {@code null} */ public SQLFunction findSQLFunction(String functionName) { - final String name = functionName.toLowerCase(); + final String name = functionName.toLowerCase(Locale.ROOT); final SQLFunction userFunction = userFunctions.get( name ); return userFunction != null ? userFunction @@ -75,7 +76,7 @@ public SQLFunction findSQLFunction(String functionName) { */ @SuppressWarnings("UnusedDeclaration") public boolean hasFunction(String functionName) { - final String name = functionName.toLowerCase(); + final String name = functionName.toLowerCase(Locale.ROOT); return userFunctions.containsKey( name ) || dialect.getFunctions().containsKey( name ); } diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/pagination/FirstLimitHandler.java b/hibernate-core/src/main/java/org/hibernate/dialect/pagination/FirstLimitHandler.java index 86ae60602503..5d0d11081a4c 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/pagination/FirstLimitHandler.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/pagination/FirstLimitHandler.java @@ -20,6 +20,7 @@ */ package org.hibernate.dialect.pagination; +import java.util.Locale; import org.hibernate.engine.spi.RowSelection; @@ -42,7 +43,7 @@ public String processSql(String sql, RowSelection selection) { } return new StringBuilder( sql.length() + 16 ) .append( sql ) - .insert( sql.toLowerCase().indexOf( "select" ) + 6, " first ?" ) + .insert( sql.toLowerCase(Locale.ROOT).indexOf( "select" ) + 6, " first ?" ) .toString(); } diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/pagination/SQLServer2005LimitHandler.java b/hibernate-core/src/main/java/org/hibernate/dialect/pagination/SQLServer2005LimitHandler.java index bfd05e9c81ab..9c31059119f8 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/pagination/SQLServer2005LimitHandler.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/pagination/SQLServer2005LimitHandler.java @@ -27,6 +27,7 @@ import java.sql.SQLException; import java.util.LinkedList; import java.util.List; +import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -296,7 +297,7 @@ private static int shallowIndexOfWord(final StringBuilder sb, final String searc */ private static int shallowIndexOf(StringBuilder sb, String search, int fromIndex) { // case-insensitive match - final String lowercase = sb.toString().toLowerCase(); + final String lowercase = sb.toString().toLowerCase(Locale.ROOT); final int len = lowercase.length(); final int searchlen = search.length(); int pos = -1; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/pagination/TopLimitHandler.java b/hibernate-core/src/main/java/org/hibernate/dialect/pagination/TopLimitHandler.java index c63ed9de3147..c28a6f9c04ba 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/pagination/TopLimitHandler.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/pagination/TopLimitHandler.java @@ -20,6 +20,7 @@ */ package org.hibernate.dialect.pagination; +import java.util.Locale; import org.hibernate.engine.spi.RowSelection; @@ -62,8 +63,8 @@ public String processSql(String sql, RowSelection selection) { throw new UnsupportedOperationException( "query result offset is not supported" ); } - final int selectIndex = sql.toLowerCase().indexOf( "select" ); - final int selectDistinctIndex = sql.toLowerCase().indexOf( "select distinct" ); + final int selectIndex = sql.toLowerCase(Locale.ROOT).indexOf( "select" ); + final int selectDistinctIndex = sql.toLowerCase(Locale.ROOT).indexOf( "select distinct" ); final int insertionPoint = selectIndex + (selectDistinctIndex == selectIndex ? 15 : 6); return new StringBuilder( sql.length() + 8 ) diff --git a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/ExtractedDatabaseMetaDataImpl.java b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/ExtractedDatabaseMetaDataImpl.java index 04a9294906d7..d91c0bd50d5e 100644 --- a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/ExtractedDatabaseMetaDataImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/ExtractedDatabaseMetaDataImpl.java @@ -29,6 +29,7 @@ import java.util.Collections; import java.util.HashSet; import java.util.LinkedHashSet; +import java.util.Locale; import java.util.Set; import org.hibernate.engine.jdbc.cursor.internal.StandardRefCursorSupport; @@ -214,7 +215,7 @@ public Builder apply(DatabaseMetaData databaseMetaData) throws SQLException { private Set parseKeywords(String extraKeywordsString) { final Set keywordSet = new HashSet(); for ( String keyword : extraKeywordsString.split( "," ) ) { - keywordSet.add( keyword.toUpperCase() ); + keywordSet.add( keyword.toUpperCase(Locale.ROOT) ); } return keywordSet; } diff --git a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/JdbcEnvironmentImpl.java b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/JdbcEnvironmentImpl.java index 7d559a709765..79ae059ea64b 100644 --- a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/JdbcEnvironmentImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/JdbcEnvironmentImpl.java @@ -28,6 +28,7 @@ import java.util.Arrays; import java.util.HashSet; import java.util.LinkedHashSet; +import java.util.Locale; import java.util.Set; import org.hibernate.boot.model.naming.Identifier; @@ -88,7 +89,7 @@ public JdbcEnvironmentImpl(ServiceRegistryImplementor serviceRegistry, Dialect d this.extractedMetaDataSupport = new ExtractedDatabaseMetaDataImpl.Builder( this ).build(); for ( String keyword : dialect.getKeywords() ) { - reservedWords.add( keyword.toUpperCase() ); + reservedWords.add( keyword.toUpperCase(Locale.ROOT) ); } final boolean globallyQuoteIdentifiers = serviceRegistry.getService( ConfigurationService.class ) @@ -142,7 +143,7 @@ public JdbcEnvironmentImpl(DatabaseMetaData databaseMetaData, Dialect dialect) t } for ( String keyword : dialect.getKeywords() ) { - reservedWords.add( keyword.toUpperCase() ); + reservedWords.add( keyword.toUpperCase(Locale.ROOT) ); } // ExtractedMetaDataSupport already capitalizes them reservedWords.addAll( extractedMetaDataSupport.getExtraKeywords() ); @@ -219,7 +220,7 @@ public JdbcEnvironmentImpl( } for ( String keyword : dialect.getKeywords() ) { - reservedWords.add( keyword.toUpperCase() ); + reservedWords.add( keyword.toUpperCase(Locale.ROOT) ); } // ExtractedMetaDataSupport already capitalizes them reservedWords.addAll( extractedMetaDataSupport.getExtraKeywords() ); @@ -335,7 +336,7 @@ public IdentifierHelper getIdentifierHelper() { @Override public boolean isReservedWord(String word) { - return reservedWords.contains( word.toUpperCase() ); + return reservedWords.contains( word.toUpperCase(Locale.ROOT) ); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/NormalizingIdentifierHelperImpl.java b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/NormalizingIdentifierHelperImpl.java index 1cbf8722cb04..51c85fb8e5e7 100644 --- a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/NormalizingIdentifierHelperImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/NormalizingIdentifierHelperImpl.java @@ -228,8 +228,8 @@ public Identifier toIdentifierFromMetaData(String text) { } // lovely decipher of whether the incoming value represents a quoted identifier... - final boolean isUpperCase = text.toUpperCase().equals( text ); - final boolean isLowerCase = text.toLowerCase().equals( text ); + final boolean isUpperCase = text.toUpperCase(Locale.ROOT).equals( text ); + final boolean isLowerCase = text.toLowerCase(Locale.ROOT).equals( text ); final boolean isMixedCase = ! isLowerCase && ! isUpperCase; if ( jdbcEnvironment.isReservedWord( text ) ) { diff --git a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/internal/BasicFormatterImpl.java b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/internal/BasicFormatterImpl.java index 7ac399ef11ba..b753b9b1f941 100755 --- a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/internal/BasicFormatterImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/internal/BasicFormatterImpl.java @@ -25,6 +25,7 @@ import java.util.HashSet; import java.util.LinkedList; +import java.util.Locale; import java.util.Set; import java.util.StringTokenizer; @@ -126,7 +127,7 @@ public String perform() { while ( tokens.hasMoreTokens() ) { token = tokens.nextToken(); - lcToken = token.toLowerCase(); + lcToken = token.toLowerCase(Locale.ROOT); if ( "'".equals( token ) ) { String t; diff --git a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/internal/DDLFormatterImpl.java b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/internal/DDLFormatterImpl.java index 4a923559d9e4..a47677f29883 100755 --- a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/internal/DDLFormatterImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/internal/DDLFormatterImpl.java @@ -23,6 +23,7 @@ */ package org.hibernate.engine.jdbc.internal; +import java.util.Locale; import java.util.StringTokenizer; import org.hibernate.internal.util.StringHelper; @@ -44,13 +45,13 @@ public String format(String sql) { if ( StringHelper.isEmpty( sql ) ) { return sql; } - if ( sql.toLowerCase().startsWith( "create table" ) ) { + if ( sql.toLowerCase(Locale.ROOT).startsWith( "create table" ) ) { return formatCreateTable( sql ); } - else if ( sql.toLowerCase().startsWith( "alter table" ) ) { + else if ( sql.toLowerCase(Locale.ROOT).startsWith( "alter table" ) ) { return formatAlterTable( sql ); } - else if ( sql.toLowerCase().startsWith( "comment on" ) ) { + else if ( sql.toLowerCase(Locale.ROOT).startsWith( "comment on" ) ) { return formatCommentOn( sql ); } else { diff --git a/hibernate-core/src/main/java/org/hibernate/hql/internal/CollectionProperties.java b/hibernate-core/src/main/java/org/hibernate/hql/internal/CollectionProperties.java index 0d6f043034d7..551b9e16075a 100644 --- a/hibernate-core/src/main/java/org/hibernate/hql/internal/CollectionProperties.java +++ b/hibernate-core/src/main/java/org/hibernate/hql/internal/CollectionProperties.java @@ -24,6 +24,7 @@ package org.hibernate.hql.internal; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import org.hibernate.persister.collection.CollectionPropertyNames; @@ -36,17 +37,17 @@ public final class CollectionProperties { public static final Map HQL_COLLECTION_PROPERTIES; - private static final String COLLECTION_INDEX_LOWER = CollectionPropertyNames.COLLECTION_INDEX.toLowerCase(); + private static final String COLLECTION_INDEX_LOWER = CollectionPropertyNames.COLLECTION_INDEX.toLowerCase(Locale.ROOT); static { HQL_COLLECTION_PROPERTIES = new HashMap(); - HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_ELEMENTS.toLowerCase(), CollectionPropertyNames.COLLECTION_ELEMENTS ); - HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_INDICES.toLowerCase(), CollectionPropertyNames.COLLECTION_INDICES ); - HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_SIZE.toLowerCase(), CollectionPropertyNames.COLLECTION_SIZE ); - HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_MAX_INDEX.toLowerCase(), CollectionPropertyNames.COLLECTION_MAX_INDEX ); - HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_MIN_INDEX.toLowerCase(), CollectionPropertyNames.COLLECTION_MIN_INDEX ); - HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_MAX_ELEMENT.toLowerCase(), CollectionPropertyNames.COLLECTION_MAX_ELEMENT ); - HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_MIN_ELEMENT.toLowerCase(), CollectionPropertyNames.COLLECTION_MIN_ELEMENT ); + HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_ELEMENTS.toLowerCase(Locale.ROOT), CollectionPropertyNames.COLLECTION_ELEMENTS ); + HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_INDICES.toLowerCase(Locale.ROOT), CollectionPropertyNames.COLLECTION_INDICES ); + HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_SIZE.toLowerCase(Locale.ROOT), CollectionPropertyNames.COLLECTION_SIZE ); + HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_MAX_INDEX.toLowerCase(Locale.ROOT), CollectionPropertyNames.COLLECTION_MAX_INDEX ); + HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_MIN_INDEX.toLowerCase(Locale.ROOT), CollectionPropertyNames.COLLECTION_MIN_INDEX ); + HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_MAX_ELEMENT.toLowerCase(Locale.ROOT), CollectionPropertyNames.COLLECTION_MAX_ELEMENT ); + HQL_COLLECTION_PROPERTIES.put( CollectionPropertyNames.COLLECTION_MIN_ELEMENT.toLowerCase(Locale.ROOT), CollectionPropertyNames.COLLECTION_MIN_ELEMENT ); HQL_COLLECTION_PROPERTIES.put( COLLECTION_INDEX_LOWER, CollectionPropertyNames.COLLECTION_INDEX ); } @@ -55,7 +56,7 @@ private CollectionProperties() { @SuppressWarnings("SimplifiableIfStatement") public static boolean isCollectionProperty(String name) { - final String key = name.toLowerCase(); + final String key = name.toLowerCase(Locale.ROOT); // CollectionPropertyMapping processes everything except 'index'. if ( COLLECTION_INDEX_LOWER.equals( key ) ) { return false; @@ -70,7 +71,7 @@ public static String getNormalizedPropertyName(String name) { } public static boolean isAnyCollectionProperty(String name) { - final String key = name.toLowerCase(); + final String key = name.toLowerCase(Locale.ROOT); return HQL_COLLECTION_PROPERTIES.containsKey( key ); } } diff --git a/hibernate-core/src/main/java/org/hibernate/hql/internal/QuerySplitter.java b/hibernate-core/src/main/java/org/hibernate/hql/internal/QuerySplitter.java index 4c4c66c624b5..72fdfed1369e 100644 --- a/hibernate-core/src/main/java/org/hibernate/hql/internal/QuerySplitter.java +++ b/hibernate-core/src/main/java/org/hibernate/hql/internal/QuerySplitter.java @@ -26,6 +26,7 @@ import java.util.ArrayList; import java.util.HashSet; +import java.util.Locale; import java.util.Set; import org.hibernate.MappingException; @@ -89,7 +90,7 @@ public static String[] concreteQueries(String query, SessionFactoryImplementor f int start = getStartingPositionFor( tokens, templateQuery ); int count = 0; String next; - String last = tokens[start - 1].toLowerCase(); + String last = tokens[start - 1].toLowerCase(Locale.ROOT); for ( int i = start; i < tokens.length; i++ ) { @@ -100,12 +101,12 @@ public static String[] concreteQueries(String query, SessionFactoryImplementor f continue; } - next = nextNonWhite( tokens, i ).toLowerCase(); + next = nextNonWhite( tokens, i ).toLowerCase(Locale.ROOT); boolean process = isJavaIdentifier( token ) && isPossiblyClassName( last, next ); - last = token.toLowerCase(); + last = token.toLowerCase(Locale.ROOT); if ( process ) { String importedClassName = getImportedClass( token, factory ); @@ -144,13 +145,13 @@ private static String nextNonWhite(String[] tokens, int start) { private static int getStartingPositionFor(String[] tokens, StringBuilder templateQuery) { templateQuery.append( tokens[0] ); - if ( !"select".equals( tokens[0].toLowerCase() ) ) { + if ( !"select".equals( tokens[0].toLowerCase(Locale.ROOT) ) ) { return 1; } // select-range is terminated by declaration of "from" for ( int i = 1; i < tokens.length; i++ ) { - if ( "from".equals( tokens[i].toLowerCase() ) ) { + if ( "from".equals( tokens[i].toLowerCase(Locale.ROOT) ) ) { return i; } templateQuery.append( tokens[i] ); diff --git a/hibernate-core/src/main/java/org/hibernate/hql/internal/ast/tree/ConstructorNode.java b/hibernate-core/src/main/java/org/hibernate/hql/internal/ast/tree/ConstructorNode.java index 80bde63e1c2e..76885d6bad56 100644 --- a/hibernate-core/src/main/java/org/hibernate/hql/internal/ast/tree/ConstructorNode.java +++ b/hibernate-core/src/main/java/org/hibernate/hql/internal/ast/tree/ConstructorNode.java @@ -41,6 +41,7 @@ import antlr.SemanticException; import antlr.collections.AST; +import java.util.Locale; /** * Represents a constructor (new) in a SELECT. @@ -146,11 +147,11 @@ public Type getDataType() { public void prepare() throws SemanticException { constructorArgumentTypes = resolveConstructorArgumentTypes(); String path = ( (PathNode) getFirstChild() ).getPath(); - if ( "map".equals( path.toLowerCase() ) ) { + if ( "map".equals( path.toLowerCase(Locale.ROOT) ) ) { isMap = true; resultType = Map.class; } - else if ( "list".equals( path.toLowerCase() ) ) { + else if ( "list".equals( path.toLowerCase(Locale.ROOT) ) ) { isList = true; resultType = List.class; } diff --git a/hibernate-core/src/main/java/org/hibernate/hql/internal/ast/tree/MethodNode.java b/hibernate-core/src/main/java/org/hibernate/hql/internal/ast/tree/MethodNode.java index e2d6df5b3b21..a62a48566ec0 100644 --- a/hibernate-core/src/main/java/org/hibernate/hql/internal/ast/tree/MethodNode.java +++ b/hibernate-core/src/main/java/org/hibernate/hql/internal/ast/tree/MethodNode.java @@ -41,6 +41,7 @@ import antlr.SemanticException; import antlr.collections.AST; +import java.util.Locale; /** * Represents a method call. @@ -109,7 +110,7 @@ public void initializeMethodNode(AST name, boolean inSelect) { name.setType( SqlTokenTypes.METHOD_NAME ); String text = name.getText(); // Use the lower case function name. - methodName = text.toLowerCase(); + methodName = text.toLowerCase(Locale.ROOT); // Remember whether we're in a SELECT clause or not. this.inSelect = inSelect; } diff --git a/hibernate-core/src/main/java/org/hibernate/hql/internal/ast/util/LiteralProcessor.java b/hibernate-core/src/main/java/org/hibernate/hql/internal/ast/util/LiteralProcessor.java index 669403495b68..ef00b2c0d0fb 100644 --- a/hibernate-core/src/main/java/org/hibernate/hql/internal/ast/util/LiteralProcessor.java +++ b/hibernate-core/src/main/java/org/hibernate/hql/internal/ast/util/LiteralProcessor.java @@ -51,6 +51,7 @@ import antlr.SemanticException; import antlr.collections.AST; +import java.util.Locale; /** * A delegate that handles literals and constants for HqlSqlWalker, performing the token replacement functions and @@ -207,7 +208,7 @@ public void processBoolean(AST constant) { constant.setText( replacement ); } else { - boolean bool = "true".equals( constant.getText().toLowerCase() ); + boolean bool = "true".equals( constant.getText().toLowerCase(Locale.ROOT) ); Dialect dialect = walker.getSessionFactoryHelper().getFactory().getDialect(); constant.setText( dialect.toBooleanValueString( bool ) ); } diff --git a/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/ClauseParser.java b/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/ClauseParser.java index de3319fa8c28..8f692dce1bff 100644 --- a/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/ClauseParser.java +++ b/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/ClauseParser.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Locale; import org.hibernate.QueryException; @@ -40,7 +41,7 @@ public class ClauseParser implements Parser { @Override public void token(String token, QueryTranslatorImpl q) throws QueryException { - String lcToken = token.toLowerCase(); + String lcToken = token.toLowerCase(Locale.ROOT); if ( "(".equals( token ) ) { parenCount++; diff --git a/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/FromParser.java b/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/FromParser.java index ae7a3b174458..bc736eb2659c 100644 --- a/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/FromParser.java +++ b/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/FromParser.java @@ -24,6 +24,7 @@ */ package org.hibernate.hql.internal.classic; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import org.hibernate.QueryException; @@ -70,7 +71,7 @@ public class FromParser implements Parser { public void token(String token, QueryTranslatorImpl q) throws QueryException { // start by looking for HQL keywords... - String lcToken = token.toLowerCase(); + String lcToken = token.toLowerCase(Locale.ROOT); if ( lcToken.equals( "," ) ) { if ( !( expectingJoin | expectingAs ) ) throw new QueryException( "unexpected token: ," ); expectingJoin = false; diff --git a/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/PreprocessingParser.java b/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/PreprocessingParser.java index 9a73da7f1f4f..9dc99864d351 100644 --- a/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/PreprocessingParser.java +++ b/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/PreprocessingParser.java @@ -25,6 +25,7 @@ package org.hibernate.hql.internal.classic; import java.util.HashSet; +import java.util.Locale; import java.util.Map; import java.util.Set; @@ -107,7 +108,7 @@ else if ( ")".equals( token ) ) { } } else { - String prop = CollectionProperties.getNormalizedPropertyName( token.toLowerCase() ); + String prop = CollectionProperties.getNormalizedPropertyName( token.toLowerCase(Locale.ROOT) ); if ( prop != null ) { currentCollectionProp = prop; return; @@ -123,7 +124,7 @@ else if ( ")".equals( token ) ) { String doubleToken = ( token.length() > 1 ) ? lastToken + ' ' + token : lastToken + token; - if ( HQL_OPERATORS.contains( doubleToken.toLowerCase() ) ) { + if ( HQL_OPERATORS.contains( doubleToken.toLowerCase(Locale.ROOT) ) ) { parser.token( doubleToken, q ); lastToken = null; } diff --git a/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/QueryTranslatorImpl.java b/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/QueryTranslatorImpl.java index ab47f4c1f6a6..a4002548a3f5 100644 --- a/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/QueryTranslatorImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/QueryTranslatorImpl.java @@ -37,6 +37,7 @@ import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; @@ -750,7 +751,7 @@ else if ( ")".equals( token ) ) { parenCount--; } - String lc = token.toLowerCase(); + String lc = token.toLowerCase(Locale.ROOT); if ( lc.equals( ", " ) ) { if ( nolast ) { nolast = false; diff --git a/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/SelectParser.java b/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/SelectParser.java index f5819addc7c2..b47583070942 100644 --- a/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/SelectParser.java +++ b/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/SelectParser.java @@ -26,6 +26,7 @@ import java.util.HashSet; import java.util.LinkedList; import java.util.List; +import java.util.Locale; import java.util.Set; import org.hibernate.QueryException; @@ -75,7 +76,7 @@ public class SelectParser implements Parser { public void token(String token, QueryTranslatorImpl q) throws QueryException { - String lctoken = token.toLowerCase(); + String lctoken = token.toLowerCase(Locale.ROOT); if ( first ) { first = false; diff --git a/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/WhereParser.java b/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/WhereParser.java index 6f557529d647..16c90faf7919 100644 --- a/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/WhereParser.java +++ b/hibernate-core/src/main/java/org/hibernate/hql/internal/classic/WhereParser.java @@ -27,6 +27,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.StringTokenizer; @@ -210,7 +211,7 @@ private String getElementName(PathExpressionParser.CollectionElement element, Qu public void token(String token, QueryTranslatorImpl q) throws QueryException { - String lcToken = token.toLowerCase(); + String lcToken = token.toLowerCase(Locale.ROOT); //Cope with [,] if ( token.equals( "[" ) && !expectingPathContinuation ) { @@ -441,7 +442,7 @@ else if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) { //named query } else { //anything else - String negatedToken = negated ? ( String ) NEGATIONS.get( token.toLowerCase() ) : null; + String negatedToken = negated ? ( String ) NEGATIONS.get( token.toLowerCase(Locale.ROOT) ) : null; if ( negatedToken != null && ( !betweenSpecialCase || !"or".equals( negatedToken ) ) ) { appendToken( q, negatedToken ); } diff --git a/hibernate-core/src/main/java/org/hibernate/internal/util/StringHelper.java b/hibernate-core/src/main/java/org/hibernate/internal/util/StringHelper.java index 471758fa8e19..25afd412e84d 100644 --- a/hibernate-core/src/main/java/org/hibernate/internal/util/StringHelper.java +++ b/hibernate-core/src/main/java/org/hibernate/internal/util/StringHelper.java @@ -357,7 +357,7 @@ public static String unroot(String qualifiedName) { } public static boolean booleanValue(String tfString) { - String trimmed = tfString.trim().toLowerCase(); + String trimmed = tfString.trim().toLowerCase(Locale.ROOT); return trimmed.equals( "true" ) || trimmed.equals( "t" ); } @@ -558,7 +558,7 @@ private static String generateAliasRoot(String description) { String result = truncate( unqualifyEntityName(description), ALIAS_TRUNCATE_LENGTH ) // Important to use Locale.ENGLISH. See HHH-8579. #toLowerCase() uses the default Locale. Certain DBs // do not like non-ascii characters in aliases, etc., so ensure consistency/portability here. - .toLowerCase(Locale.ENGLISH) + .toLowerCase(Locale.ROOT) .replace( '/', '_' ) // entityNames may now include slashes for the representations .replace( '$', '_' ); //classname may be an inner class result = cleanAlias( result ); @@ -602,13 +602,13 @@ public static String unqualifyEntityName(String entityName) { } public static String toUpperCase(String str) { - return str==null ? null : str.toUpperCase(); + return str==null ? null : str.toUpperCase(Locale.ROOT); } public static String toLowerCase(String str) { // Important to use Locale.ENGLISH. See HHH-8579. #toLowerCase() uses the default Locale. Certain DBs do not // like non-ascii characters in aliases, etc., so ensure consistency/portability here. - return str == null ? null : str.toLowerCase(Locale.ENGLISH); + return str == null ? null : str.toLowerCase(Locale.ROOT); } public static String moveAndToBeginning(String filter) { diff --git a/hibernate-core/src/main/java/org/hibernate/loader/BatchFetchStyle.java b/hibernate-core/src/main/java/org/hibernate/loader/BatchFetchStyle.java index a429408cec5a..a892d0725bd8 100644 --- a/hibernate-core/src/main/java/org/hibernate/loader/BatchFetchStyle.java +++ b/hibernate-core/src/main/java/org/hibernate/loader/BatchFetchStyle.java @@ -23,6 +23,7 @@ */ package org.hibernate.loader; +import java.util.Locale; import org.jboss.logging.Logger; /** @@ -60,7 +61,7 @@ public enum BatchFetchStyle { private static final Logger log = Logger.getLogger( BatchFetchStyle.class ); public static BatchFetchStyle byName(String name) { - return valueOf( name.toUpperCase() ); + return valueOf( name.toUpperCase(Locale.ROOT) ); } public static BatchFetchStyle interpret(Object setting) { diff --git a/hibernate-core/src/main/java/org/hibernate/mapping/Column.java b/hibernate-core/src/main/java/org/hibernate/mapping/Column.java index 6ef249f91d6e..539f8feb3f2e 100644 --- a/hibernate-core/src/main/java/org/hibernate/mapping/Column.java +++ b/hibernate-core/src/main/java/org/hibernate/mapping/Column.java @@ -23,6 +23,7 @@ */ package org.hibernate.mapping; import java.io.Serializable; +import java.util.Locale; import org.hibernate.HibernateException; import org.hibernate.MappingException; @@ -122,7 +123,7 @@ else if ( name.length() > lastLetter + 1 ) { } boolean useRawName = name.length() + suffix.length() <= dialect.getMaxAliasLength() - && !quoted && !name.toLowerCase().equals( "rowid" ); + && !quoted && !name.toLowerCase(Locale.ROOT).equals( "rowid" ); if ( !useRawName ) { if ( suffix.length() >= dialect.getMaxAliasLength() ) { throw new MappingException( String.format( @@ -168,7 +169,7 @@ public int hashCode() { //used also for generation of FK names! return isQuoted() ? name.hashCode() : - name.toLowerCase().hashCode(); + name.toLowerCase(Locale.ROOT).hashCode(); } @Override @@ -345,7 +346,7 @@ public void setCustomRead(String customRead) { } public String getCanonicalName() { - return quoted ? name : name.toLowerCase(); + return quoted ? name : name.toLowerCase(Locale.ROOT); } /** diff --git a/hibernate-core/src/main/java/org/hibernate/mapping/Table.java b/hibernate-core/src/main/java/org/hibernate/mapping/Table.java index 8fd8974a71cf..93d3b4a1f9db 100644 --- a/hibernate-core/src/main/java/org/hibernate/mapping/Table.java +++ b/hibernate-core/src/main/java/org/hibernate/mapping/Table.java @@ -29,6 +29,7 @@ import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.hibernate.HibernateException; @@ -407,15 +408,15 @@ public void validateColumns(Dialect dialect, Mapping mapping, TableMetadata tabl throw new HibernateException( "Missing column: " + col.getName() + " in " + Table.qualify( tableInfo.getCatalog(), tableInfo.getSchema(), tableInfo.getName())); } else { - final boolean typesMatch = col.getSqlType( dialect, mapping ).toLowerCase() - .startsWith( columnInfo.getTypeName().toLowerCase() ) + final boolean typesMatch = col.getSqlType( dialect, mapping ).toLowerCase(Locale.ROOT) + .startsWith( columnInfo.getTypeName().toLowerCase(Locale.ROOT) ) || columnInfo.getTypeCode() == col.getSqlTypeCode( mapping ); if ( !typesMatch ) { throw new HibernateException( "Wrong column type in " + Table.qualify( tableInfo.getCatalog(), tableInfo.getSchema(), tableInfo.getName()) + " for column " + col.getName() + - ". Found: " + columnInfo.getTypeName().toLowerCase() + + ". Found: " + columnInfo.getTypeName().toLowerCase(Locale.ROOT) + ", expected: " + col.getSqlType( dialect, mapping ) ); } diff --git a/hibernate-core/src/main/java/org/hibernate/sql/Template.java b/hibernate-core/src/main/java/org/hibernate/sql/Template.java index baca2b2fee55..060c72f0e212 100644 --- a/hibernate-core/src/main/java/org/hibernate/sql/Template.java +++ b/hibernate-core/src/main/java/org/hibernate/sql/Template.java @@ -27,6 +27,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Set; import java.util.StringTokenizer; @@ -165,7 +166,7 @@ public static String renderWhereStringTemplate(String sqlWhereString, String pla String nextToken = hasMore ? tokens.nextToken() : null; while ( hasMore ) { String token = nextToken; - String lcToken = token.toLowerCase(); + String lcToken = token.toLowerCase(Locale.ROOT); hasMore = tokens.hasMoreTokens(); nextToken = hasMore ? tokens.nextToken() : null; @@ -378,7 +379,7 @@ else if ( inFromClause && ",".equals(lcToken) ) { // String nextToken = hasMore ? tokens.nextToken() : null; // while ( hasMore ) { // String token = nextToken; -// String lcToken = token.toLowerCase(); +// String lcToken = token.toLowerCase(Locale.ROOT); // hasMore = tokens.hasMoreTokens(); // nextToken = hasMore ? tokens.nextToken() : null; // diff --git a/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/UniqueConstraintSchemaUpdateStrategy.java b/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/UniqueConstraintSchemaUpdateStrategy.java index 2e861780a30b..0737ab412ba9 100644 --- a/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/UniqueConstraintSchemaUpdateStrategy.java +++ b/hibernate-core/src/main/java/org/hibernate/tool/hbm2ddl/UniqueConstraintSchemaUpdateStrategy.java @@ -20,6 +20,7 @@ */ package org.hibernate.tool.hbm2ddl; +import java.util.Locale; import org.jboss.logging.Logger; /** @@ -56,7 +57,7 @@ public enum UniqueConstraintSchemaUpdateStrategy { private static final Logger log = Logger.getLogger( UniqueConstraintSchemaUpdateStrategy.class ); public static UniqueConstraintSchemaUpdateStrategy byName(String name) { - return valueOf( name.toUpperCase() ); + return valueOf( name.toUpperCase(Locale.ROOT) ); } public static UniqueConstraintSchemaUpdateStrategy interpret(Object setting) { diff --git a/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaValidatorImpl.java b/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaValidatorImpl.java index c0a32c41ccec..894829fb2792 100644 --- a/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaValidatorImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaValidatorImpl.java @@ -24,6 +24,7 @@ package org.hibernate.tool.schema.internal; import java.util.Iterator; +import java.util.Locale; import org.hibernate.boot.Metadata; import org.hibernate.boot.model.naming.Identifier; @@ -115,7 +116,7 @@ protected void validateColumnType( ColumnInformation columnInformation, Metadata metadata) { boolean typesMatch = column.getSqlTypeCode( metadata ) == columnInformation.getTypeCode() - || column.getSqlType( dialect, metadata ).toLowerCase().startsWith( columnInformation.getTypeName().toLowerCase() ); + || column.getSqlType( dialect, metadata ).toLowerCase(Locale.ROOT).startsWith( columnInformation.getTypeName().toLowerCase(Locale.ROOT) ); if ( !typesMatch ) { throw new SchemaManagementException( String.format( @@ -123,9 +124,9 @@ protected void validateColumnType( "table [%s]; found [%s (Types#%s)], but expecting [%s (Types#%s)]", column.getName(), table.getName(), - columnInformation.getTypeName().toLowerCase(), + columnInformation.getTypeName().toLowerCase(Locale.ROOT), JdbcTypeNameMapper.getTypeName( columnInformation.getTypeCode() ), - column.getSqlType().toLowerCase(), + column.getSqlType().toLowerCase(Locale.ROOT), JdbcTypeNameMapper.getTypeName( column.getSqlTypeCode( metadata ) ) ) ); diff --git a/hibernate-core/src/test/java/org/hibernate/dialect/SQLServer2005DialectTestCase.java b/hibernate-core/src/test/java/org/hibernate/dialect/SQLServer2005DialectTestCase.java index 5dbc6cfc49d5..fbc2cf0fc2c5 100644 --- a/hibernate-core/src/test/java/org/hibernate/dialect/SQLServer2005DialectTestCase.java +++ b/hibernate-core/src/test/java/org/hibernate/dialect/SQLServer2005DialectTestCase.java @@ -23,6 +23,7 @@ */ package org.hibernate.dialect; +import java.util.Locale; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -60,7 +61,7 @@ public void testGetLimitString() { "with query as (select inner_query.*, row_number() over (order by current_timestamp) as __hibernate_row_nr__ from ( " + "select distinct top(?) f1 as f53245 from table849752 order by f234, f67 desc ) inner_query )" + " select f53245 from query where __hibernate_row_nr__ >= ? and __hibernate_row_nr__ < ?", - dialect.getLimitHandler().processSql( input, toRowSelection( 10, 15 ) ).toLowerCase() ); + dialect.getLimitHandler().processSql( input, toRowSelection( 10, 15 ) ).toLowerCase(Locale.ROOT) ); } @Test diff --git a/hibernate-core/src/test/java/org/hibernate/test/annotations/dataTypes/BasicOperationsTest.java b/hibernate-core/src/test/java/org/hibernate/test/annotations/dataTypes/BasicOperationsTest.java index 990bcd872820..ae871bddc795 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/annotations/dataTypes/BasicOperationsTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/annotations/dataTypes/BasicOperationsTest.java @@ -29,6 +29,7 @@ import java.sql.SQLException; import java.sql.Statement; import java.util.Date; +import java.util.Locale; import org.junit.Test; @@ -142,7 +143,7 @@ private void validateColumn(Connection connection, String columnName, int expect private String generateFinalNamePattern(DatabaseMetaData meta, String name) throws SQLException { if ( meta.storesLowerCaseIdentifiers() ) { - return name.toLowerCase(); + return name.toLowerCase(Locale.ROOT); } else { return name; diff --git a/hibernate-core/src/test/java/org/hibernate/test/annotations/entity/BasicHibernateAnnotationsTest.java b/hibernate-core/src/test/java/org/hibernate/test/annotations/entity/BasicHibernateAnnotationsTest.java index 8fbbafc92266..d39ed298a3ed 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/annotations/entity/BasicHibernateAnnotationsTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/annotations/entity/BasicHibernateAnnotationsTest.java @@ -35,6 +35,7 @@ import java.util.Date; import java.util.HashSet; import java.util.Iterator; +import java.util.Locale; import java.util.Set; import org.hibernate.dialect.TeradataDialect; import org.hibernate.testing.SkipForDialect; @@ -528,8 +529,8 @@ public void testParameterizedType() throws Exception { s = openSession(); tx = s.beginTransaction(); Forest f2 = (Forest) s.get( Forest.class, f.getId() ); - assertEquals( f.getSmallText().toLowerCase(), f2.getSmallText() ); - assertEquals( f.getBigText().toUpperCase(), f2.getBigText() ); + assertEquals( f.getSmallText().toLowerCase(Locale.ROOT), f2.getSmallText() ); + assertEquals( f.getBigText().toUpperCase(Locale.ROOT), f2.getBigText() ); tx.commit(); s.close(); } diff --git a/hibernate-core/src/test/java/org/hibernate/test/annotations/entity/CasterStringType.java b/hibernate-core/src/test/java/org/hibernate/test/annotations/entity/CasterStringType.java index 37f32503f35d..d2fe9942d21d 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/annotations/entity/CasterStringType.java +++ b/hibernate-core/src/test/java/org/hibernate/test/annotations/entity/CasterStringType.java @@ -5,6 +5,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; +import java.util.Locale; import java.util.Properties; import org.hibernate.HibernateException; @@ -41,10 +42,10 @@ public Object nullSafeGet(ResultSet rs, String[] names, SessionImplementor sessi String result = rs.getString( names[0] ); if ( rs.wasNull() ) return null; if ( parameters.getProperty( CAST ).equals( "lower" ) ) { - return result.toLowerCase(); + return result.toLowerCase(Locale.ROOT); } else { - return result.toUpperCase(); + return result.toUpperCase(Locale.ROOT); } } @@ -55,10 +56,10 @@ public void nullSafeSet(PreparedStatement st, Object value, int index, SessionIm else { String string = (String) value; if ( parameters.getProperty( CAST ).equals( "lower" ) ) { - string = string.toLowerCase(); + string = string.toLowerCase(Locale.ROOT); } else { - string = string.toUpperCase(); + string = string.toUpperCase(Locale.ROOT); } st.setString( index, string ); } diff --git a/hibernate-core/src/test/java/org/hibernate/test/annotations/join/JoinTest.java b/hibernate-core/src/test/java/org/hibernate/test/annotations/join/JoinTest.java index 8643bc0a9363..30e17baae233 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/annotations/join/JoinTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/annotations/join/JoinTest.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.Date; +import java.util.Locale; import org.hibernate.Criteria; import org.hibernate.HibernateException; @@ -218,7 +219,7 @@ public void testCustomSQL() throws Exception { s.clear(); Cat c = (Cat) s.get( Cat.class, cat.getId() ); - assertEquals( storyPart2.toUpperCase(), c.getStoryPart2() ); + assertEquals( storyPart2.toUpperCase(Locale.ROOT), c.getStoryPart2() ); tx.rollback(); s.close(); diff --git a/hibernate-core/src/test/java/org/hibernate/test/annotations/namingstrategy/NamingStrategyTest.java b/hibernate-core/src/test/java/org/hibernate/test/annotations/namingstrategy/NamingStrategyTest.java index 2a578e7af1d6..805298b6509c 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/annotations/namingstrategy/NamingStrategyTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/annotations/namingstrategy/NamingStrategyTest.java @@ -1,6 +1,7 @@ // $Id$ package org.hibernate.test.annotations.namingstrategy; +import java.util.Locale; import org.hibernate.boot.Metadata; import org.hibernate.boot.MetadataSources; import org.hibernate.boot.model.naming.ImplicitNamingStrategyJpaCompliantImpl; @@ -62,7 +63,7 @@ public void testWithJpaCompliantNamingStrategy() throws Exception { assertEquals( "Expecting A#address collection table name (implicit) to be [A_address] per JPA spec (section 11.1.8)", "A_ADDRESS", - collectionBinding.getCollectionTable().getQuotedName().toUpperCase() + collectionBinding.getCollectionTable().getQuotedName().toUpperCase(Locale.ROOT) ); } diff --git a/hibernate-core/src/test/java/org/hibernate/test/annotations/query/QueryAndSQLTest.java b/hibernate-core/src/test/java/org/hibernate/test/annotations/query/QueryAndSQLTest.java index 9d6445230453..af41af1f66bc 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/annotations/query/QueryAndSQLTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/annotations/query/QueryAndSQLTest.java @@ -28,6 +28,7 @@ import java.util.Date; import java.util.GregorianCalendar; import java.util.List; +import java.util.Locale; import org.hibernate.MappingException; import org.hibernate.Query; @@ -398,7 +399,7 @@ public void testEntitySQLOverriding() { chaos.setId( 1l ); String lowerName = "hello"; - String upperName = lowerName.toUpperCase(); + String upperName = lowerName.toUpperCase(Locale.ROOT); assertFalse( lowerName.equals( upperName ) ); chaos.setName( "hello" ); diff --git a/hibernate-core/src/test/java/org/hibernate/test/interceptor/InterceptorTest.java b/hibernate-core/src/test/java/org/hibernate/test/interceptor/InterceptorTest.java index 590691265bba..7eadae16828d 100755 --- a/hibernate-core/src/test/java/org/hibernate/test/interceptor/InterceptorTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/interceptor/InterceptorTest.java @@ -25,6 +25,7 @@ import java.io.Serializable; import java.util.LinkedList; import java.util.List; +import java.util.Locale; import java.util.Queue; import org.junit.Test; @@ -296,8 +297,8 @@ public void testPrepareStatementIntercept() { @Override public String onPrepareStatement(String sql) { assertNotNull( sql ); - String expectedSql = expectedSQLs.poll().toLowerCase(); - assertTrue("sql:\n " + sql.toLowerCase() +"\n doesn't start with \n"+expectedSql+"\n", sql.toLowerCase().startsWith( expectedSql ) ); + String expectedSql = expectedSQLs.poll().toLowerCase(Locale.ROOT); + assertTrue("sql:\n " + sql.toLowerCase(Locale.ROOT) +"\n doesn't start with \n"+expectedSql+"\n", sql.toLowerCase(Locale.ROOT).startsWith( expectedSql ) ); return sql; } }; diff --git a/hibernate-core/src/test/java/org/hibernate/test/lazycache/Document.java b/hibernate-core/src/test/java/org/hibernate/test/lazycache/Document.java index 8910391b1326..9bb20c6ac6b6 100755 --- a/hibernate-core/src/test/java/org/hibernate/test/lazycache/Document.java +++ b/hibernate-core/src/test/java/org/hibernate/test/lazycache/Document.java @@ -1,6 +1,7 @@ //$Id: Document.java 7772 2005-08-05 23:03:46Z oneovthafew $ package org.hibernate.test.lazycache; import java.util.Date; +import java.util.Locale; /** * @author Gavin King @@ -17,7 +18,7 @@ public class Document { public Document(String name, String summary, String text) { lastTextModification = new Date(); this.name = name; - upperCaseName = name.toUpperCase(); + upperCaseName = name.toUpperCase(Locale.ROOT); this.summary = summary; this.text = text; } diff --git a/hibernate-core/src/test/java/org/hibernate/test/legacy/FooBarTest.java b/hibernate-core/src/test/java/org/hibernate/test/legacy/FooBarTest.java index 842d76a320f1..c49c2c1c529a 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/legacy/FooBarTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/legacy/FooBarTest.java @@ -1951,7 +1951,7 @@ public void testFindByCriteria() throws Exception { List list = s.createCriteria(Foo.class) .add( Restrictions.eq( "integer", f.getInteger() ) ) .add( Restrictions.eqProperty("integer", "integer") ) - .add( Restrictions.like( "string", f.getString().toUpperCase() ).ignoreCase() ) + .add( Restrictions.like( "string", f.getString().toUpperCase(Locale.ROOT) ).ignoreCase() ) .add( Restrictions.in( "boolean", new Boolean[] { f.getBoolean(), f.getBoolean() } ) ) .setFetchMode("foo", FetchMode.JOIN) .setFetchMode("baz", FetchMode.SELECT) diff --git a/hibernate-core/src/test/java/org/hibernate/test/legacy/StringComparator.java b/hibernate-core/src/test/java/org/hibernate/test/legacy/StringComparator.java index 960de0cb72b1..405a8c84e3e1 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/legacy/StringComparator.java +++ b/hibernate-core/src/test/java/org/hibernate/test/legacy/StringComparator.java @@ -1,11 +1,12 @@ package org.hibernate.test.legacy; import java.io.Serializable; import java.util.Comparator; +import java.util.Locale; public class StringComparator implements Comparator, Serializable { public int compare(Object o1, Object o2) { - return ( (String) o1 ).toLowerCase().compareTo( ( (String) o2 ).toLowerCase() ); + return ( (String) o1 ).toLowerCase(Locale.ROOT).compareTo( ( (String) o2 ).toLowerCase(Locale.ROOT) ); } } diff --git a/hibernate-core/src/test/java/org/hibernate/test/manytomany/batchload/BatchedManyToManyTest.java b/hibernate-core/src/test/java/org/hibernate/test/manytomany/batchload/BatchedManyToManyTest.java index 5ee397b82bb3..811a8f97262a 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/manytomany/batchload/BatchedManyToManyTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/manytomany/batchload/BatchedManyToManyTest.java @@ -24,6 +24,7 @@ package org.hibernate.test.manytomany.batchload; import java.util.List; +import java.util.Locale; import org.hibernate.EmptyInterceptor; import org.hibernate.Hibernate; @@ -97,7 +98,7 @@ public String onPrepareStatement(String sql) { // of dialects... Assert.assertFalse( "batch load of many-to-many should use inner join", - sql.toLowerCase().contains( "left outer join" ) + sql.toLowerCase(Locale.ROOT).contains( "left outer join" ) ); return super.onPrepareStatement( sql ); } diff --git a/hibernate-core/src/test/java/org/hibernate/test/sql/hand/query/NativeSQLQueriesTest.java b/hibernate-core/src/test/java/org/hibernate/test/sql/hand/query/NativeSQLQueriesTest.java index 62a7d4cd587b..7baa44651abd 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/sql/hand/query/NativeSQLQueriesTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/sql/hand/query/NativeSQLQueriesTest.java @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; import org.hibernate.Hibernate; @@ -906,7 +907,7 @@ public Object transformTuple(Object[] tuple, String[] aliases) { for ( int i = 0; i < tuple.length; i++ ) { String alias = aliases[i]; if ( alias != null ) { - result.put( alias.toUpperCase(), tuple[i] ); + result.put( alias.toUpperCase(Locale.ROOT), tuple[i] ); } } return result; diff --git a/hibernate-core/src/test/java/org/hibernate/test/stateless/fetching/StatelessSessionFetchingTest.java b/hibernate-core/src/test/java/org/hibernate/test/stateless/fetching/StatelessSessionFetchingTest.java index ac9ff39d75f8..95706f0e3085 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/stateless/fetching/StatelessSessionFetchingTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/stateless/fetching/StatelessSessionFetchingTest.java @@ -24,6 +24,7 @@ package org.hibernate.test.stateless.fetching; import java.util.Date; +import java.util.Locale; import org.hibernate.Hibernate; import org.hibernate.Session; @@ -74,7 +75,7 @@ public Identifier toPhysicalTableName(Identifier name, JdbcEnvironment jdbcEnvir } private String determineUniquePrefix() { - return StringHelper.collapseQualifier( getClass().getName(), false ).toUpperCase(); + return StringHelper.collapseQualifier( getClass().getName(), false ).toUpperCase(Locale.ROOT); } } diff --git a/hibernate-entitymanager/src/main/java/org/hibernate/jpa/criteria/expression/function/ParameterizedFunctionExpression.java b/hibernate-entitymanager/src/main/java/org/hibernate/jpa/criteria/expression/function/ParameterizedFunctionExpression.java index 2027a3cdb94d..138d325fc221 100644 --- a/hibernate-entitymanager/src/main/java/org/hibernate/jpa/criteria/expression/function/ParameterizedFunctionExpression.java +++ b/hibernate-entitymanager/src/main/java/org/hibernate/jpa/criteria/expression/function/ParameterizedFunctionExpression.java @@ -25,6 +25,7 @@ import java.util.Arrays; import java.util.List; +import java.util.Locale; import javax.persistence.criteria.Expression; import org.hibernate.jpa.criteria.CriteriaBuilderImpl; @@ -73,7 +74,7 @@ public ParameterizedFunctionExpression( List> argumentExpressions) { super( criteriaBuilder, javaType, functionName ); this.argumentExpressions = argumentExpressions; - this.isStandardJpaFunction = STANDARD_JPA_FUNCTION_NAMES.contains( functionName.toUpperCase() ); + this.isStandardJpaFunction = STANDARD_JPA_FUNCTION_NAMES.contains( functionName.toUpperCase(Locale.ROOT) ); } public ParameterizedFunctionExpression( @@ -83,7 +84,7 @@ public ParameterizedFunctionExpression( Expression... argumentExpressions) { super( criteriaBuilder, javaType, functionName ); this.argumentExpressions = Arrays.asList( argumentExpressions ); - this.isStandardJpaFunction = STANDARD_JPA_FUNCTION_NAMES.contains( functionName.toUpperCase() ); + this.isStandardJpaFunction = STANDARD_JPA_FUNCTION_NAMES.contains( functionName.toUpperCase(Locale.ROOT) ); } protected boolean isStandardJpaFunction() { diff --git a/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/util/ConfigurationHelper.java b/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/util/ConfigurationHelper.java index c8050625e8ea..be4f5b9902a3 100644 --- a/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/util/ConfigurationHelper.java +++ b/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/util/ConfigurationHelper.java @@ -23,6 +23,7 @@ */ package org.hibernate.jpa.internal.util; +import java.util.Locale; import java.util.Map; import java.util.Properties; import javax.persistence.FlushModeType; @@ -65,7 +66,7 @@ private static FlushMode getFlushMode(String flushMode) { if (flushMode == null) { return null; } - flushMode = flushMode.toUpperCase(); + flushMode = flushMode.toUpperCase(Locale.ROOT); return FlushMode.valueOf( flushMode ); } diff --git a/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/util/XmlHelper.java b/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/util/XmlHelper.java index ad3a48138956..af6046cd8d9e 100644 --- a/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/util/XmlHelper.java +++ b/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/util/XmlHelper.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.Iterator; +import java.util.Locale; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -192,7 +193,7 @@ public static String getOptionalChildContent(Element element, String tagName) th public static boolean getOptionalChildBooleanContent(Element element, String name) throws Exception { Element child = getOptionalChild( element, name ); if ( child != null ) { - String value = getElementContent( child ).toLowerCase(); + String value = getElementContent( child ).toLowerCase(Locale.ROOT); return value.equals( "true" ) || value.equals( "yes" ); } diff --git a/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/metadata/MetadataTest.java b/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/metadata/MetadataTest.java index 1aa2523bcc51..1e2e3d58ea23 100644 --- a/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/metadata/MetadataTest.java +++ b/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/metadata/MetadataTest.java @@ -24,6 +24,7 @@ package org.hibernate.jpa.test.metadata; import java.util.Collections; +import java.util.Locale; import java.util.Set; import javax.persistence.EntityManagerFactory; import javax.persistence.metamodel.Attribute; @@ -413,7 +414,7 @@ private void ensureProperMember(Set attributes) { for (Attribute attribute : safeAttributes ) { final String name = attribute.getJavaMember().getName(); assertNotNull( attribute.getJavaMember() ); - assertTrue( name.toLowerCase().endsWith( attribute.getName().toLowerCase() ) ); + assertTrue( name.toLowerCase(Locale.ROOT).endsWith( attribute.getName().toLowerCase(Locale.ROOT) ) ); } } diff --git a/hibernate-envers/src/main/java/org/hibernate/envers/query/criteria/internal/IlikeAuditExpression.java b/hibernate-envers/src/main/java/org/hibernate/envers/query/criteria/internal/IlikeAuditExpression.java index a188e1f14bbb..0583d185fa4f 100644 --- a/hibernate-envers/src/main/java/org/hibernate/envers/query/criteria/internal/IlikeAuditExpression.java +++ b/hibernate-envers/src/main/java/org/hibernate/envers/query/criteria/internal/IlikeAuditExpression.java @@ -1,5 +1,6 @@ package org.hibernate.envers.query.criteria.internal; +import java.util.Locale; import org.hibernate.envers.boot.internal.EnversService; import org.hibernate.envers.internal.reader.AuditReaderImplementor; import org.hibernate.envers.internal.tools.query.Parameters; @@ -30,7 +31,7 @@ public void addToQuery( ); CriteriaTools.checkPropertyNotARelation( enversService, entityName, propertyName ); - parameters.addWhereWithFunction( propertyName, " lower ", " like ", value.toLowerCase() ); + parameters.addWhereWithFunction( propertyName, " lower ", " like ", value.toLowerCase(Locale.ROOT) ); } } diff --git a/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/util/StringUtil.java b/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/util/StringUtil.java index 6eaaf2c58660..dad3f40c152e 100644 --- a/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/util/StringUtil.java +++ b/tooling/metamodel-generator/src/main/java/org/hibernate/jpamodelgen/util/StringUtil.java @@ -23,6 +23,8 @@ */ package org.hibernate.jpamodelgen.util; +import java.util.Locale; + /** * @author Hardy Ferentschik */ @@ -104,7 +106,7 @@ public static String decapitalize(String string) { return string; } else { - return string.substring( 0, 1 ).toLowerCase() + string.substring( 1 ); + return string.substring( 0, 1 ).toLowerCase(Locale.ROOT) + string.substring( 1 ); } }