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 List<SecurityConfigurer<O, B>> configurersAddedInInitializing = new ArrayList<>();
|
||||
private List<SecurityConfigurer<O, B>> configurersAddedInInitializing = new ArrayList<>();
|
||||
|
||||
private final Map<Class<?>, Object> sharedObjects = new HashMap<>();
|
||||
|
||||
|
@ -388,7 +388,9 @@ public abstract class AbstractConfiguredSecurityBuilder<O, B extends SecurityBui
|
|||
configurer.init((B) this);
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@ -410,12 +412,6 @@ public abstract class AbstractConfiguredSecurityBuilder<O, B extends SecurityBui
|
|||
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.
|
||||
* @return true, if unbuilt else false
|
||||
|
|
Loading…
Reference in New Issue