Browse Source

Nullability refinements

See gh-32475
pull/32481/head
Juergen Hoeller 2 years ago
parent
commit
2f2c4188e5
  1. 56
      spring-core/src/main/java/org/springframework/core/SimpleAliasRegistry.java
  2. 2
      spring-core/src/main/java/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java

56
spring-core/src/main/java/org/springframework/core/SimpleAliasRegistry.java

@ -163,35 +163,37 @@ public class SimpleAliasRegistry implements AliasRegistry { @@ -163,35 +163,37 @@ public class SimpleAliasRegistry implements AliasRegistry {
List<String> aliasNamesCopy = new ArrayList<>(this.aliasNames);
aliasNamesCopy.forEach(alias -> {
String registeredName = this.aliasMap.get(alias);
String resolvedAlias = valueResolver.resolveStringValue(alias);
String resolvedName = valueResolver.resolveStringValue(registeredName);
if (resolvedAlias == null || resolvedName == null || resolvedAlias.equals(resolvedName)) {
this.aliasMap.remove(alias);
this.aliasNames.remove(alias);
}
else if (!resolvedAlias.equals(alias)) {
String existingName = this.aliasMap.get(resolvedAlias);
if (existingName != null) {
if (existingName.equals(resolvedName)) {
// Pointing to existing alias - just remove placeholder
this.aliasMap.remove(alias);
this.aliasNames.remove(alias);
return;
if (registeredName != null) {
String resolvedAlias = valueResolver.resolveStringValue(alias);
String resolvedName = valueResolver.resolveStringValue(registeredName);
if (resolvedAlias == null || resolvedName == null || resolvedAlias.equals(resolvedName)) {
this.aliasMap.remove(alias);
this.aliasNames.remove(alias);
}
else if (!resolvedAlias.equals(alias)) {
String existingName = this.aliasMap.get(resolvedAlias);
if (existingName != null) {
if (existingName.equals(resolvedName)) {
// Pointing to existing alias - just remove placeholder
this.aliasMap.remove(alias);
this.aliasNames.remove(alias);
return;
}
throw new IllegalStateException(
"Cannot register resolved alias '" + resolvedAlias + "' (original: '" + alias +
"') for name '" + resolvedName + "': It is already registered for name '" +
existingName + "'.");
}
throw new IllegalStateException(
"Cannot register resolved alias '" + resolvedAlias + "' (original: '" + alias +
"') for name '" + resolvedName + "': It is already registered for name '" +
existingName + "'.");
checkForAliasCircle(resolvedName, resolvedAlias);
this.aliasMap.remove(alias);
this.aliasNames.remove(alias);
this.aliasMap.put(resolvedAlias, resolvedName);
this.aliasNames.add(resolvedAlias);
}
else if (!registeredName.equals(resolvedName)) {
this.aliasMap.put(alias, resolvedName);
this.aliasNames.add(alias);
}
checkForAliasCircle(resolvedName, resolvedAlias);
this.aliasMap.remove(alias);
this.aliasNames.remove(alias);
this.aliasMap.put(resolvedAlias, resolvedName);
this.aliasNames.add(resolvedAlias);
}
else if (!registeredName.equals(resolvedName)) {
this.aliasMap.put(alias, resolvedName);
this.aliasNames.add(alias);
}
});
}

2
spring-core/src/main/java/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java

@ -754,7 +754,7 @@ public class PathMatchingResourcePatternResolver implements ResourcePatternResol @@ -754,7 +754,7 @@ public class PathMatchingResourcePatternResolver implements ResourcePatternResol
throws IOException {
String jarFileUrl = null;
String rootEntryPath = null;
String rootEntryPath = "";
String urlFile = rootDirUrl.getFile();
int separatorIndex = urlFile.indexOf(ResourceUtils.WAR_URL_SEPARATOR);

Loading…
Cancel
Save