group ui
This commit is contained in:
1 parent
151c56a304
commit
e25157655b
45 files changed
+1882
-302
No files matched your search
@@ -87,6 +87,13 @@ public class GroupAdapter implements GroupModel {
|
||||
return realm.getGroupById(parent.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getParentId() {
|
||||
GroupEntity parent = group.getParent();
|
||||
if (parent == null) return null;
|
||||
return parent.getId();
|
||||
}
|
||||
|
||||
public static GroupEntity toEntity(GroupModel model, EntityManager em) {
|
||||
if (model instanceof GroupAdapter) {
|
||||
return ((GroupAdapter)model).getGroup();
|
||||
@@ -95,21 +102,22 @@ public class GroupAdapter implements GroupModel {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setParent(GroupModel group) {
|
||||
GroupEntity parent = toEntity(group, em);
|
||||
group.setParent(group);
|
||||
public void setParent(GroupModel parent) {
|
||||
if (parent == null) group.setParent(null);
|
||||
else {
|
||||
GroupEntity parentEntity = toEntity(parent, em);
|
||||
group.setParent(parentEntity);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addChild(GroupModel subGroup) {
|
||||
subGroup.setParent(this);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeChild(GroupModel subGroup) {
|
||||
subGroup.setParent(null);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -131,7 +131,7 @@ public class JpaRealmProvider implements RealmProvider {
|
||||
public GroupModel getGroupById(String id, RealmModel realm) {
|
||||
GroupEntity groupEntity = em.find(GroupEntity.class, id);
|
||||
if (groupEntity == null) return null;
|
||||
if (groupEntity.getRealm().getId().equals(realm.getId())) return null;
|
||||
if (!groupEntity.getRealm().getId().equals(realm.getId())) return null;
|
||||
return new GroupAdapter(realm, em, groupEntity);
|
||||
}
|
||||
|
||||
|
||||
@@ -1947,12 +1947,19 @@ public class RealmAdapter implements RealmModel {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveGroup(GroupModel group, GroupModel toParent) {
|
||||
if (group.getParentId() != null) {
|
||||
group.getParent().removeChild(group);
|
||||
}
|
||||
group.setParent(toParent);
|
||||
if (toParent != null) toParent.addChild(group);
|
||||
else addTopLevelGroup(group);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GroupModel getGroupById(String id) {
|
||||
GroupEntity groupEntity = em.find(GroupEntity.class, id);
|
||||
if (groupEntity == null) return null;
|
||||
if (groupEntity.getRealm().getId().equals(getId())) return null;
|
||||
return new GroupAdapter(this, em, groupEntity);
|
||||
return session.realms().getGroupById(id, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1994,12 +2001,29 @@ public class RealmAdapter implements RealmModel {
|
||||
|
||||
|
||||
session.users().preRemove(this, group);
|
||||
moveGroup(group, null);
|
||||
realm.getGroups().remove(groupEntity);
|
||||
em.createNamedQuery("deleteGroupAttributesByGroup").setParameter("group", group).executeUpdate();
|
||||
em.createNamedQuery("deleteGroupRoleMappingsByGroup").setParameter("group", group).executeUpdate();
|
||||
em.createNamedQuery("deleteGroupAttributesByGroup").setParameter("group", groupEntity).executeUpdate();
|
||||
em.createNamedQuery("deleteGroupRoleMappingsByGroup").setParameter("group", groupEntity).executeUpdate();
|
||||
em.remove(groupEntity);
|
||||
return true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public GroupModel createGroup(String name) {
|
||||
GroupEntity groupEntity = new GroupEntity();
|
||||
groupEntity.setId(KeycloakModelUtils.generateId());
|
||||
groupEntity.setName(name);
|
||||
groupEntity.setRealm(realm);
|
||||
em.persist(groupEntity);
|
||||
|
||||
return new GroupAdapter(this, em, groupEntity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addTopLevelGroup(GroupModel subGroup) {
|
||||
subGroup.setParent(null);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user