Fix realm removal when orgs are enabled
Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
This commit is contained in:
parent
f0620353a4
commit
3186b6db8e
1 changed files with 13 additions and 9 deletions
|
@ -107,13 +107,14 @@ public class JpaOrganizationProvider implements OrganizationProvider {
|
|||
@Override
|
||||
public boolean remove(OrganizationModel organization) {
|
||||
OrganizationEntity entity = getEntity(organization.getId());
|
||||
GroupModel group = getOrganizationGroup(entity);
|
||||
|
||||
GroupModel group = getOrganizationGroup(organization);
|
||||
|
||||
//TODO: won't scale, requires a better mechanism for bulk deleting users
|
||||
userProvider.getGroupMembersStream(realm, group).forEach(userModel -> removeMember(organization, userModel));
|
||||
groupProvider.removeGroup(realm, group);
|
||||
organization.getIdentityProviders().forEach((model) -> removeIdentityProvider(organization, model));
|
||||
if (group != null) {
|
||||
//TODO: won't scale, requires a better mechanism for bulk deleting users
|
||||
userProvider.getGroupMembersStream(realm, group).forEach(userModel -> removeMember(organization, userModel));
|
||||
groupProvider.removeGroup(realm, group);
|
||||
organization.getIdentityProviders().forEach((model) -> removeIdentityProvider(organization, model));
|
||||
}
|
||||
|
||||
em.remove(entity);
|
||||
|
||||
|
@ -132,7 +133,7 @@ public class JpaOrganizationProvider implements OrganizationProvider {
|
|||
throwExceptionIfObjectIsNull(user, "User");
|
||||
|
||||
OrganizationEntity entity = getEntity(organization.getId());
|
||||
GroupModel group = groupProvider.getGroupById(realm, entity.getGroupId());
|
||||
GroupModel group = getOrganizationGroup(entity);
|
||||
|
||||
if (user.isMemberOf(group)) {
|
||||
return false;
|
||||
|
@ -384,8 +385,7 @@ public class JpaOrganizationProvider implements OrganizationProvider {
|
|||
private GroupModel getOrganizationGroup(OrganizationModel organization) {
|
||||
throwExceptionIfObjectIsNull(organization, "Organization");
|
||||
OrganizationEntity entity = getEntity(organization.getId());
|
||||
|
||||
GroupModel group = groupProvider.getGroupById(realm, entity.getGroupId());
|
||||
GroupModel group = getOrganizationGroup(entity);
|
||||
|
||||
if (group == null) {
|
||||
throw new ModelException("Organization group " + entity.getGroupId() + " not found");
|
||||
|
@ -394,6 +394,10 @@ public class JpaOrganizationProvider implements OrganizationProvider {
|
|||
return group;
|
||||
}
|
||||
|
||||
private GroupModel getOrganizationGroup(OrganizationEntity entity) {
|
||||
return groupProvider.getGroupById(realm, entity.getGroupId());
|
||||
}
|
||||
|
||||
private void throwExceptionIfObjectIsNull(Object object, String objectName) {
|
||||
if (object == null) {
|
||||
throw new ModelException(String.format("%s cannot be null", objectName));
|
||||
|
|
Loading…
Reference in a new issue