Introduce filter parameter in Manager

This commit is contained in:
René Pfeuffer
2019-04-09 13:09:16 +02:00
parent f5933cb6d5
commit fbd6f4f3c7
8 changed files with 38 additions and 27 deletions

View File

@@ -59,6 +59,7 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import java.util.function.Predicate;
//~--- JDK imports ------------------------------------------------------------
@@ -250,7 +251,7 @@ public class DefaultGroupManager extends AbstractGroupManager
@Override
public Collection<Group> getAll()
{
return getAll(null);
return getAll(group -> true, null);
}
/**
@@ -262,14 +263,14 @@ public class DefaultGroupManager extends AbstractGroupManager
* @return
*/
@Override
public Collection<Group> getAll(Comparator<Group> comparator)
public Collection<Group> getAll(Predicate<Group> filter, Comparator<Group> comparator)
{
List<Group> groups = new ArrayList<>();
PermissionActionCheck<Group> check = GroupPermissions.read();
for (Group group : groupDAO.getAll())
{
if (check.isPermitted(group)) {
if (filter.test(group) && check.isPermitted(group)) {
groups.add(group.clone());
}
}