Fix getConfigurersInInitializing Semantics
A getter should not mutate state. This removes getConfigurersInInitializing in favor of inline code since this is just used once. Issue gh-17020 gh-17011 Signed-off-by: Rob Winch <362503+rwinch@users.noreply.github.com>
This commit is contained in:
parent
ea9dd2728e
commit
fca704e61f
|
@ -60,7 +60,7 @@ public abstract class AbstractConfiguredSecurityBuilder<O, B extends SecurityBui
|
||||||
|
|
||||||
private final LinkedHashMap<Class<? extends SecurityConfigurer<O, B>>, List<SecurityConfigurer<O, B>>> configurers = new LinkedHashMap<>();
|
private final LinkedHashMap<Class<? extends SecurityConfigurer<O, B>>, List<SecurityConfigurer<O, B>>> configurers = new LinkedHashMap<>();
|
||||||
|
|
||||||
private final List<SecurityConfigurer<O, B>> configurersAddedInInitializing = new ArrayList<>();
|
private List<SecurityConfigurer<O, B>> configurersAddedInInitializing = new ArrayList<>();
|
||||||
|
|
||||||
private final Map<Class<?>, Object> sharedObjects = new HashMap<>();
|
private final Map<Class<?>, Object> sharedObjects = new HashMap<>();
|
||||||
|
|
||||||
|
@ -388,7 +388,9 @@ public abstract class AbstractConfiguredSecurityBuilder<O, B extends SecurityBui
|
||||||
configurer.init((B) this);
|
configurer.init((B) this);
|
||||||
}
|
}
|
||||||
while (!this.configurersAddedInInitializing.isEmpty()) {
|
while (!this.configurersAddedInInitializing.isEmpty()) {
|
||||||
for (SecurityConfigurer<O, B> configurer : getConfigurersInInitializing()) {
|
List<SecurityConfigurer<O, B>> toInit = this.configurersAddedInInitializing;
|
||||||
|
this.configurersAddedInInitializing = new ArrayList<>();
|
||||||
|
for (SecurityConfigurer<O, B> configurer : toInit) {
|
||||||
configurer.init((B) this);
|
configurer.init((B) this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -410,12 +412,6 @@ public abstract class AbstractConfiguredSecurityBuilder<O, B extends SecurityBui
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<SecurityConfigurer<O, B>> getConfigurersInInitializing() {
|
|
||||||
List<SecurityConfigurer<O, B>> result = new ArrayList<>(this.configurersAddedInInitializing);
|
|
||||||
this.configurersAddedInInitializing.clear();
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines if the object is unbuilt.
|
* Determines if the object is unbuilt.
|
||||||
* @return true, if unbuilt else false
|
* @return true, if unbuilt else false
|
||||||
|
|
Loading…
Reference in New Issue