MessageSource.getMessage returns null default message as-is (again)
Issue: SPR-16127
This commit is contained in:
@@ -53,6 +53,7 @@ public interface MessageSource {
|
||||
* otherwise the default message passed as a parameter
|
||||
* @see java.text.MessageFormat
|
||||
*/
|
||||
@Nullable
|
||||
String getMessage(String code, @Nullable Object[] args, @Nullable String defaultMessage, Locale locale);
|
||||
|
||||
/**
|
||||
|
||||
@@ -143,8 +143,7 @@ public abstract class AbstractMessageSource extends MessageSourceSupport impleme
|
||||
return msg;
|
||||
}
|
||||
if (defaultMessage == null) {
|
||||
String fallback = getDefaultMessage(code);
|
||||
return (fallback != null ? fallback : "");
|
||||
return getDefaultMessage(code);
|
||||
}
|
||||
return renderDefaultMessage(defaultMessage, args, locale);
|
||||
}
|
||||
@@ -264,8 +263,7 @@ public abstract class AbstractMessageSource extends MessageSourceSupport impleme
|
||||
else {
|
||||
// Check parent MessageSource, returning null if not found there.
|
||||
// Covers custom MessageSource impls and DelegatingMessageSource.
|
||||
String msg = parent.getMessage(code, args, null, locale);
|
||||
return ("".equals(msg) ? null : msg);
|
||||
return parent.getMessage(code, args, null, locale);
|
||||
}
|
||||
}
|
||||
// Not found in parent either.
|
||||
|
||||
@@ -54,6 +54,7 @@ public class DelegatingMessageSource extends MessageSourceSupport implements Hie
|
||||
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public String getMessage(String code, @Nullable Object[] args, @Nullable String defaultMessage, Locale locale) {
|
||||
if (this.parentMessageSource != null) {
|
||||
return this.parentMessageSource.getMessage(code, args, defaultMessage, locale);
|
||||
@@ -62,7 +63,7 @@ public class DelegatingMessageSource extends MessageSourceSupport implements Hie
|
||||
return renderDefaultMessage(defaultMessage, args, locale);
|
||||
}
|
||||
else {
|
||||
return "";
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -84,7 +84,8 @@ public class MessageSourceAccessor {
|
||||
* @return the message
|
||||
*/
|
||||
public String getMessage(String code, String defaultMessage) {
|
||||
return this.messageSource.getMessage(code, null, defaultMessage, getDefaultLocale());
|
||||
String msg = this.messageSource.getMessage(code, null, defaultMessage, getDefaultLocale());
|
||||
return (msg != null ? msg : "");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -95,7 +96,8 @@ public class MessageSourceAccessor {
|
||||
* @return the message
|
||||
*/
|
||||
public String getMessage(String code, String defaultMessage, Locale locale) {
|
||||
return this.messageSource.getMessage(code, null, defaultMessage, locale);
|
||||
String msg = this.messageSource.getMessage(code, null, defaultMessage, locale);
|
||||
return (msg != null ? msg : "");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -106,7 +108,8 @@ public class MessageSourceAccessor {
|
||||
* @return the message
|
||||
*/
|
||||
public String getMessage(String code, @Nullable Object[] args, String defaultMessage) {
|
||||
return this.messageSource.getMessage(code, args, defaultMessage, getDefaultLocale());
|
||||
String msg = this.messageSource.getMessage(code, args, defaultMessage, getDefaultLocale());
|
||||
return (msg != null ? msg : "");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -118,7 +121,8 @@ public class MessageSourceAccessor {
|
||||
* @return the message
|
||||
*/
|
||||
public String getMessage(String code, @Nullable Object[] args, String defaultMessage, Locale locale) {
|
||||
return this.messageSource.getMessage(code, args, defaultMessage, locale);
|
||||
String msg = this.messageSource.getMessage(code, args, defaultMessage, locale);
|
||||
return (msg != null ? msg : "");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user