mirror of
https://github.com/keycloak/keycloak.git
synced 2026-01-06 06:49:53 -06:00
Fix NPE when accessing group concurrently
Closes #40368 # Conflicts: # tests/base/src/test/java/org/keycloak/tests/admin/group/GroupTest.java Signed-off-by: vramik <vramik@redhat.com>
This commit is contained in:
@@ -259,7 +259,8 @@ public class GroupAdapter implements GroupModel {
|
||||
@Override
|
||||
public Long getSubGroupsCount() {
|
||||
if (isUpdated()) return updated.getSubGroupsCount();
|
||||
return getGroupModel().getSubGroupsCount();
|
||||
GroupModel model = modelSupplier.get();
|
||||
return model == null ? null : model.getSubGroupsCount();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -56,6 +56,7 @@ public class CachedGroup extends AbstractRevisioned implements InRealm {
|
||||
this.type = group.getType();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRealm() {
|
||||
return realm;
|
||||
}
|
||||
|
||||
@@ -90,14 +90,4 @@ public class GroupUtils {
|
||||
rep.setAccess(groupsEvaluator.getAccess(groupTree));
|
||||
return rep;
|
||||
}
|
||||
|
||||
private static boolean groupMatchesSearchOrIsPathElement(GroupModel group, String search) {
|
||||
if (StringUtil.isBlank(search)) {
|
||||
return true;
|
||||
}
|
||||
if (group.getName().contains(search)) {
|
||||
return true;
|
||||
}
|
||||
return group.getSubGroupsStream().findAny().isPresent();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user