Skip to content

Commit 2f2c418

Browse files
committed
Nullability refinements
See gh-32475
1 parent ccebaa6 commit 2f2c418

File tree

2 files changed

+30
-28
lines changed

2 files changed

+30
-28
lines changed

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

+29-27
Original file line numberDiff line numberDiff line change
@@ -163,35 +163,37 @@ public void resolveAliases(StringValueResolver valueResolver) {
163163
List<String> aliasNamesCopy = new ArrayList<>(this.aliasNames);
164164
aliasNamesCopy.forEach(alias -> {
165165
String registeredName = this.aliasMap.get(alias);
166-
String resolvedAlias = valueResolver.resolveStringValue(alias);
167-
String resolvedName = valueResolver.resolveStringValue(registeredName);
168-
if (resolvedAlias == null || resolvedName == null || resolvedAlias.equals(resolvedName)) {
169-
this.aliasMap.remove(alias);
170-
this.aliasNames.remove(alias);
171-
}
172-
else if (!resolvedAlias.equals(alias)) {
173-
String existingName = this.aliasMap.get(resolvedAlias);
174-
if (existingName != null) {
175-
if (existingName.equals(resolvedName)) {
176-
// Pointing to existing alias - just remove placeholder
177-
this.aliasMap.remove(alias);
178-
this.aliasNames.remove(alias);
179-
return;
166+
if (registeredName != null) {
167+
String resolvedAlias = valueResolver.resolveStringValue(alias);
168+
String resolvedName = valueResolver.resolveStringValue(registeredName);
169+
if (resolvedAlias == null || resolvedName == null || resolvedAlias.equals(resolvedName)) {
170+
this.aliasMap.remove(alias);
171+
this.aliasNames.remove(alias);
172+
}
173+
else if (!resolvedAlias.equals(alias)) {
174+
String existingName = this.aliasMap.get(resolvedAlias);
175+
if (existingName != null) {
176+
if (existingName.equals(resolvedName)) {
177+
// Pointing to existing alias - just remove placeholder
178+
this.aliasMap.remove(alias);
179+
this.aliasNames.remove(alias);
180+
return;
181+
}
182+
throw new IllegalStateException(
183+
"Cannot register resolved alias '" + resolvedAlias + "' (original: '" + alias +
184+
"') for name '" + resolvedName + "': It is already registered for name '" +
185+
existingName + "'.");
180186
}
181-
throw new IllegalStateException(
182-
"Cannot register resolved alias '" + resolvedAlias + "' (original: '" + alias +
183-
"') for name '" + resolvedName + "': It is already registered for name '" +
184-
existingName + "'.");
187+
checkForAliasCircle(resolvedName, resolvedAlias);
188+
this.aliasMap.remove(alias);
189+
this.aliasNames.remove(alias);
190+
this.aliasMap.put(resolvedAlias, resolvedName);
191+
this.aliasNames.add(resolvedAlias);
192+
}
193+
else if (!registeredName.equals(resolvedName)) {
194+
this.aliasMap.put(alias, resolvedName);
195+
this.aliasNames.add(alias);
185196
}
186-
checkForAliasCircle(resolvedName, resolvedAlias);
187-
this.aliasMap.remove(alias);
188-
this.aliasNames.remove(alias);
189-
this.aliasMap.put(resolvedAlias, resolvedName);
190-
this.aliasNames.add(resolvedAlias);
191-
}
192-
else if (!registeredName.equals(resolvedName)) {
193-
this.aliasMap.put(alias, resolvedName);
194-
this.aliasNames.add(alias);
195197
}
196198
});
197199
}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -754,7 +754,7 @@ protected Set<Resource> doFindPathMatchingJarResources(Resource rootDirResource,
754754
throws IOException {
755755

756756
String jarFileUrl = null;
757-
String rootEntryPath = null;
757+
String rootEntryPath = "";
758758

759759
String urlFile = rootDirUrl.getFile();
760760
int separatorIndex = urlFile.indexOf(ResourceUtils.WAR_URL_SEPARATOR);

0 commit comments

Comments
 (0)