Defensive null check against name parameter in AutowireMode#from

See gh-24285
This commit is contained in:
Juergen Hoeller 2020-05-13 23:35:17 +02:00
parent 3c1ee64b7f
commit 99bd1a1533
1 changed files with 7 additions and 7 deletions

View File

@ -133,12 +133,9 @@ public @interface TestConstructor {
ANNOTATED;
private static final Log logger = LogFactory.getLog(AutowireMode.class);
/**
* Get the {@code AutowireMode} enum constant with the supplied name,
* ignoring case.
*
* @param name the name of the enum constant to retrieve
* @return the corresponding enum constant or {@code null} if not found
* @since 5.3
@ -146,16 +143,19 @@ public @interface TestConstructor {
*/
@Nullable
public static AutowireMode from(@Nullable String name) {
if (name == null) {
return null;
}
try {
return AutowireMode.valueOf(name.trim().toUpperCase());
}
catch (Exception ex) {
catch (IllegalArgumentException ex) {
Log logger = LogFactory.getLog(AutowireMode.class);
if (logger.isDebugEnabled()) {
logger.debug(String.format("Failed to parse autowire mode from '%s': %s", name,
ex.getMessage()));
logger.debug(String.format("Failed to parse autowire mode from '%s': %s", name, ex.getMessage()));
}
return null;
}
return null;
}
}