Browse Source

Honor overridden AcceptHeaderLocaleContextResolver.getDefaultLocale()

Closes gh-24871
pull/25011/head
Juergen Hoeller 6 years ago
parent
commit
4ec2844646
  1. 9
      spring-web/src/main/java/org/springframework/web/server/i18n/AcceptHeaderLocaleContextResolver.java
  2. 3
      spring-webmvc/src/main/java/org/springframework/web/servlet/i18n/AcceptHeaderLocaleResolver.java

9
spring-web/src/main/java/org/springframework/web/server/i18n/AcceptHeaderLocaleContextResolver.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2018 the original author or authors.
* Copyright 2002-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -39,6 +39,7 @@ import org.springframework.web.server.ServerWebExchange; @@ -39,6 +39,7 @@ import org.springframework.web.server.ServerWebExchange;
* @author Sebastien Deleuze
* @author Juergen Hoeller
* @since 5.0
* @see HttpHeaders#getAcceptLanguageAsLocales()
*/
public class AcceptHeaderLocaleContextResolver implements LocaleContextResolver {
@ -76,6 +77,7 @@ public class AcceptHeaderLocaleContextResolver implements LocaleContextResolver @@ -76,6 +77,7 @@ public class AcceptHeaderLocaleContextResolver implements LocaleContextResolver
/**
* The configured default locale, if any.
* <p>This method may be overridden in subclasses.
*/
@Nullable
public Locale getDefaultLocale() {
@ -98,7 +100,7 @@ public class AcceptHeaderLocaleContextResolver implements LocaleContextResolver @@ -98,7 +100,7 @@ public class AcceptHeaderLocaleContextResolver implements LocaleContextResolver
@Nullable
private Locale resolveSupportedLocale(@Nullable List<Locale> requestLocales) {
if (CollectionUtils.isEmpty(requestLocales)) {
return this.defaultLocale; // may be null
return getDefaultLocale(); // may be null
}
List<Locale> supportedLocales = getSupportedLocales();
if (supportedLocales.isEmpty()) {
@ -128,7 +130,8 @@ public class AcceptHeaderLocaleContextResolver implements LocaleContextResolver @@ -128,7 +130,8 @@ public class AcceptHeaderLocaleContextResolver implements LocaleContextResolver
return languageMatch;
}
return (this.defaultLocale != null ? this.defaultLocale : requestLocales.get(0));
Locale defaultLocale = getDefaultLocale();
return (defaultLocale != null ? defaultLocale : requestLocales.get(0));
}
@Override

3
spring-webmvc/src/main/java/org/springframework/web/servlet/i18n/AcceptHeaderLocaleResolver.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2018 the original author or authors.
* Copyright 2002-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -83,6 +83,7 @@ public class AcceptHeaderLocaleResolver implements LocaleResolver { @@ -83,6 +83,7 @@ public class AcceptHeaderLocaleResolver implements LocaleResolver {
/**
* The configured default locale, if any.
* <p>This method may be overridden in subclasses.
* @since 4.3
*/
@Nullable

Loading…
Cancel
Save