@Override public RoleModel addRole(String id, String name) { getDelegateForUpdate(); RoleModel role = updated.addRole(id, name); cacheSession.registerRoleInvalidation(role.getId()); return role; }
@Override protected void bindModelToEntity() { Role editedRole = model.getEditedEntity(); editedRole.setName(model.getName()); editedRole.setDescription(model.getDescription()); editedRole.getPermissions().clear(); editedRole .getPermissions() .addAll(model.getPermissionSelectionListener().getSelectedElements()); }
@Override protected void bindEntityToModel() { Role editedRole = model.getEditedEntity(); model.setName(editedRole.getName()); model.setDescription(editedRole.getDescription()); DefaultSelectionDataModelListener<Permission> selectionListener = new DefaultSelectionDataModelListener<Permission>( new HashSet<Permission>(editedRole.getPermissions())); SelectableDataModel<Permission> permissionDataModel = new SelectableDataModel<Permission>(service.getAllPermissions(), selectionListener); model.setPermissionsDataModel(permissionDataModel); model.setPermissionSelectionListener(selectionListener); }
public Set<RoleModel> getRealmScopeMappings() { Set<RoleModel> roleMappings = getScopeMappings(); Set<RoleModel> appRoles = new HashSet<RoleModel>(); for (RoleModel role : roleMappings) { RoleContainerModel container = role.getContainer(); if (container instanceof RealmModel) { if (((RealmModel) container).getId().equals(cachedRealm.getId())) { appRoles.add(role); } } } return appRoles; }
@Override public Set<RoleModel> getClientScopeMappings(ClientModel client) { Set<RoleModel> roleMappings = client.getScopeMappings(); Set<RoleModel> appRoles = new HashSet<RoleModel>(); for (RoleModel role : roleMappings) { RoleContainerModel container = role.getContainer(); if (container instanceof RealmModel) { } else { ClientModel app = (ClientModel) container; if (app.getId().equals(getId())) { appRoles.add(role); } } } return appRoles; }
@Override public boolean hasScope(RoleModel role) { if (updated != null) return updated.hasScope(role); if (cached.isFullScopeAllowed() || cached.getScope().contains(role.getId())) return true; Set<RoleModel> roles = getScopeMappings(); for (RoleModel mapping : roles) { if (mapping.hasRole(role)) return true; } roles = getRoles(); if (roles.contains(role)) return true; for (RoleModel mapping : roles) { if (mapping.hasRole(role)) return true; } return false; }
@Override public void init() { super.init(); model.setFilter(new RoleFilter()); }
@Override public boolean removeRole(RoleModel role) { cacheSession.registerRoleInvalidation(role.getId()); getDelegateForUpdate(); return updated.removeRole(role); }