Skip to content

Commit ed2cad3

Browse files
committed
Merge branch '6.2.x'
2 parents 4bb191d + 5e338ef commit ed2cad3

File tree

7 files changed

+47
-26
lines changed

7 files changed

+47
-26
lines changed

spring-context/src/main/java/org/springframework/context/MessageSource.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public interface MessageSource {
5454
* @see #getMessage(MessageSourceResolvable, Locale)
5555
* @see java.text.MessageFormat
5656
*/
57-
@Nullable String getMessage(String code, Object @Nullable [] args, @Nullable String defaultMessage, Locale locale);
57+
@Nullable String getMessage(String code, Object @Nullable [] args, @Nullable String defaultMessage, @Nullable Locale locale);
5858

5959
/**
6060
* Try to resolve the message. Treat as an error if the message can't be found.
@@ -70,7 +70,7 @@ public interface MessageSource {
7070
* @see #getMessage(MessageSourceResolvable, Locale)
7171
* @see java.text.MessageFormat
7272
*/
73-
String getMessage(String code, Object @Nullable [] args, Locale locale) throws NoSuchMessageException;
73+
String getMessage(String code, Object @Nullable [] args, @Nullable Locale locale) throws NoSuchMessageException;
7474

7575
/**
7676
* Try to resolve the message using all the attributes contained within the
@@ -90,6 +90,6 @@ public interface MessageSource {
9090
* @see MessageSourceResolvable#getDefaultMessage()
9191
* @see java.text.MessageFormat
9292
*/
93-
String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException;
93+
String getMessage(MessageSourceResolvable resolvable, @Nullable Locale locale) throws NoSuchMessageException;
9494

9595
}

spring-context/src/main/java/org/springframework/context/support/AbstractApplicationContext.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1486,17 +1486,17 @@ public boolean containsLocalBean(String name) {
14861486
//---------------------------------------------------------------------
14871487

14881488
@Override
1489-
public @Nullable String getMessage(String code, Object @Nullable [] args, @Nullable String defaultMessage, Locale locale) {
1489+
public @Nullable String getMessage(String code, Object @Nullable [] args, @Nullable String defaultMessage, @Nullable Locale locale) {
14901490
return getMessageSource().getMessage(code, args, defaultMessage, locale);
14911491
}
14921492

14931493
@Override
1494-
public String getMessage(String code, Object @Nullable [] args, Locale locale) throws NoSuchMessageException {
1494+
public String getMessage(String code, Object @Nullable [] args, @Nullable Locale locale) throws NoSuchMessageException {
14951495
return getMessageSource().getMessage(code, args, locale);
14961496
}
14971497

14981498
@Override
1499-
public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException {
1499+
public String getMessage(MessageSourceResolvable resolvable, @Nullable Locale locale) throws NoSuchMessageException {
15001500
return getMessageSource().getMessage(resolvable, locale);
15011501
}
15021502

spring-context/src/main/java/org/springframework/context/support/AbstractMessageSource.java

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ protected boolean isUseCodeAsDefaultMessage() {
134134

135135

136136
@Override
137-
public final @Nullable String getMessage(String code, Object @Nullable [] args, @Nullable String defaultMessage, Locale locale) {
137+
public final @Nullable String getMessage(String code, Object @Nullable [] args, @Nullable String defaultMessage, @Nullable Locale locale) {
138138
String msg = getMessageInternal(code, args, locale);
139139
if (msg != null) {
140140
return msg;
@@ -146,7 +146,7 @@ protected boolean isUseCodeAsDefaultMessage() {
146146
}
147147

148148
@Override
149-
public final String getMessage(String code, Object @Nullable [] args, Locale locale) throws NoSuchMessageException {
149+
public final String getMessage(String code, Object @Nullable [] args, @Nullable Locale locale) throws NoSuchMessageException {
150150
String msg = getMessageInternal(code, args, locale);
151151
if (msg != null) {
152152
return msg;
@@ -155,11 +155,16 @@ public final String getMessage(String code, Object @Nullable [] args, Locale loc
155155
if (fallback != null) {
156156
return fallback;
157157
}
158-
throw new NoSuchMessageException(code, locale);
158+
if (locale == null ) {
159+
throw new NoSuchMessageException(code);
160+
}
161+
else {
162+
throw new NoSuchMessageException(code, locale);
163+
}
159164
}
160165

161166
@Override
162-
public final String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException {
167+
public final String getMessage(MessageSourceResolvable resolvable, @Nullable Locale locale) throws NoSuchMessageException {
163168
String[] codes = resolvable.getCodes();
164169
if (codes != null) {
165170
for (String code : codes) {
@@ -173,7 +178,13 @@ public final String getMessage(MessageSourceResolvable resolvable, Locale locale
173178
if (defaultMessage != null) {
174179
return defaultMessage;
175180
}
176-
throw new NoSuchMessageException(!ObjectUtils.isEmpty(codes) ? codes[codes.length - 1] : "", locale);
181+
String code = !ObjectUtils.isEmpty(codes) ? codes[codes.length - 1] : "";
182+
if (locale == null ) {
183+
throw new NoSuchMessageException(code);
184+
}
185+
else {
186+
throw new NoSuchMessageException(code, locale);
187+
}
177188
}
178189

179190

@@ -277,7 +288,7 @@ public final String getMessage(MessageSourceResolvable resolvable, Locale locale
277288
* @see #renderDefaultMessage(String, Object[], Locale)
278289
* @see #getDefaultMessage(String)
279290
*/
280-
protected @Nullable String getDefaultMessage(MessageSourceResolvable resolvable, Locale locale) {
291+
protected @Nullable String getDefaultMessage(MessageSourceResolvable resolvable, @Nullable Locale locale) {
281292
String defaultMessage = resolvable.getDefaultMessage();
282293
String[] codes = resolvable.getCodes();
283294
if (defaultMessage != null) {
@@ -323,7 +334,7 @@ public final String getMessage(MessageSourceResolvable resolvable, Locale locale
323334
* @return an array of arguments with any MessageSourceResolvables resolved
324335
*/
325336
@Override
326-
protected Object[] resolveArguments(Object @Nullable [] args, Locale locale) {
337+
protected Object[] resolveArguments(Object @Nullable [] args, @Nullable Locale locale) {
327338
if (ObjectUtils.isEmpty(args)) {
328339
return super.resolveArguments(args, locale);
329340
}

spring-context/src/main/java/org/springframework/context/support/DelegatingMessageSource.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public void setParentMessageSource(@Nullable MessageSource parent) {
5353

5454

5555
@Override
56-
public @Nullable String getMessage(String code, Object @Nullable [] args, @Nullable String defaultMessage, Locale locale) {
56+
public @Nullable String getMessage(String code, Object @Nullable [] args, @Nullable String defaultMessage, @Nullable Locale locale) {
5757
if (this.parentMessageSource != null) {
5858
return this.parentMessageSource.getMessage(code, args, defaultMessage, locale);
5959
}
@@ -66,17 +66,22 @@ else if (defaultMessage != null) {
6666
}
6767

6868
@Override
69-
public String getMessage(String code, Object @Nullable [] args, Locale locale) throws NoSuchMessageException {
69+
public String getMessage(String code, Object @Nullable [] args, @Nullable Locale locale) throws NoSuchMessageException {
7070
if (this.parentMessageSource != null) {
7171
return this.parentMessageSource.getMessage(code, args, locale);
7272
}
7373
else {
74-
throw new NoSuchMessageException(code, locale);
74+
if (locale == null) {
75+
throw new NoSuchMessageException(code);
76+
}
77+
else {
78+
throw new NoSuchMessageException(code, locale);
79+
}
7580
}
7681
}
7782

7883
@Override
79-
public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException {
84+
public String getMessage(MessageSourceResolvable resolvable, @Nullable Locale locale) throws NoSuchMessageException {
8085
if (this.parentMessageSource != null) {
8186
return this.parentMessageSource.getMessage(resolvable, locale);
8287
}
@@ -86,7 +91,12 @@ public String getMessage(MessageSourceResolvable resolvable, Locale locale) thro
8691
}
8792
String[] codes = resolvable.getCodes();
8893
String code = (codes != null && codes.length > 0 ? codes[0] : "");
89-
throw new NoSuchMessageException(code, locale);
94+
if (locale == null) {
95+
throw new NoSuchMessageException(code);
96+
}
97+
else {
98+
throw new NoSuchMessageException(code, locale);
99+
}
90100
}
91101
}
92102

spring-context/src/main/java/org/springframework/context/support/MessageSourceSupport.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ protected boolean isAlwaysUseMessageFormat() {
9898
* @return the rendered default message (with resolved arguments)
9999
* @see #formatMessage(String, Object[], java.util.Locale)
100100
*/
101-
protected String renderDefaultMessage(String defaultMessage, Object @Nullable [] args, Locale locale) {
101+
protected String renderDefaultMessage(String defaultMessage, Object @Nullable [] args, @Nullable Locale locale) {
102102
return formatMessage(defaultMessage, args, locale);
103103
}
104104

@@ -112,7 +112,7 @@ protected String renderDefaultMessage(String defaultMessage, Object @Nullable []
112112
* @param locale the Locale used for formatting
113113
* @return the formatted message (with resolved arguments)
114114
*/
115-
protected String formatMessage(String msg, Object @Nullable [] args, Locale locale) {
115+
protected String formatMessage(String msg, Object @Nullable [] args, @Nullable Locale locale) {
116116
if (!isAlwaysUseMessageFormat() && ObjectUtils.isEmpty(args)) {
117117
return msg;
118118
}
@@ -146,7 +146,7 @@ protected String formatMessage(String msg, Object @Nullable [] args, Locale loca
146146
* @param locale the Locale to create a {@code MessageFormat} for
147147
* @return the {@code MessageFormat} instance
148148
*/
149-
protected MessageFormat createMessageFormat(String msg, Locale locale) {
149+
protected MessageFormat createMessageFormat(String msg, @Nullable Locale locale) {
150150
return new MessageFormat(msg, locale);
151151
}
152152

@@ -158,7 +158,7 @@ protected MessageFormat createMessageFormat(String msg, Locale locale) {
158158
* @param locale the Locale to resolve against
159159
* @return the resolved argument array
160160
*/
161-
protected Object[] resolveArguments(Object @Nullable [] args, Locale locale) {
161+
protected Object[] resolveArguments(Object @Nullable [] args, @Nullable Locale locale) {
162162
return (args != null ? args : new Object[0]);
163163
}
164164

spring-test/src/main/java/org/springframework/test/web/servlet/setup/StubWebApplicationContext.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -350,17 +350,17 @@ public boolean containsLocalBean(String name) {
350350
//---------------------------------------------------------------------
351351

352352
@Override
353-
public @Nullable String getMessage(String code, Object @Nullable [] args, @Nullable String defaultMessage, Locale locale) {
353+
public @Nullable String getMessage(String code, Object @Nullable [] args, @Nullable String defaultMessage, @Nullable Locale locale) {
354354
return this.messageSource.getMessage(code, args, defaultMessage, locale);
355355
}
356356

357357
@Override
358-
public String getMessage(String code, Object @Nullable [] args, Locale locale) throws NoSuchMessageException {
358+
public String getMessage(String code, Object @Nullable [] args, @Nullable Locale locale) throws NoSuchMessageException {
359359
return this.messageSource.getMessage(code, args, locale);
360360
}
361361

362362
@Override
363-
public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException {
363+
public String getMessage(MessageSourceResolvable resolvable, @Nullable Locale locale) throws NoSuchMessageException {
364364
return this.messageSource.getMessage(resolvable, locale);
365365
}
366366

spring-web/src/main/java/org/springframework/web/util/BindErrorUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ private static class MethodArgumentErrorMessageSource extends StaticMessageSourc
116116
}
117117

118118
@Override
119-
protected @Nullable String getDefaultMessage(MessageSourceResolvable resolvable, Locale locale) {
119+
protected @Nullable String getDefaultMessage(MessageSourceResolvable resolvable, @Nullable Locale locale) {
120120
String message = super.getDefaultMessage(resolvable, locale);
121121
return (resolvable instanceof FieldError error ? error.getField() + ": " + message : message);
122122
}

0 commit comments

Comments
 (0)