/** * Removes a given role from this manager. * * @param role the role to remove, cannot be <code>null</code>. * @return <code>true</code> if the role was removed (i.e., it was managed by this manager), or * <code>false</code> if it was not found. */ public boolean removeRole(String name) { if (name == null) { throw new IllegalArgumentException("Name cannot be null!"); } checkPermissions(); // Cannot remove predefined roles... if (isPredefinedRole(name)) { return false; } try { Role result = m_store.removeRole(name); if (result != null) { // FELIX-3755: Remove the role as (required)member from all groups... removeRoleFromAllGroups(result); unwireChangeListener(result); m_roleChangeReflector.roleRemoved(result); return true; } return false; } catch (Exception e) { throw new BackendException("Failed to remove role " + name + "!", e); } }