package edu.harvard.iq.dataverse.mocks;
import edu.harvard.iq.dataverse.authorization.RoleAssignee;
import edu.harvard.iq.dataverse.authorization.groups.impl.explicit.ExplicitGroup;
import edu.harvard.iq.dataverse.authorization.groups.impl.explicit.ExplicitGroupServiceBean;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import static java.util.stream.Collectors.toSet;
/**
*
* @author michael
*/
public class MockExplicitGroupService extends ExplicitGroupServiceBean {
private Map<Long, ExplicitGroup> groups = new HashMap<>();
public ExplicitGroup registerGroup( ExplicitGroup grp ) {
groups.put(grp.getId(), grp);
return grp;
}
@Override
public Set<ExplicitGroup> findDirectlyContainingGroups(RoleAssignee ra) {
return groups.values().stream()
.filter( g -> g.getDirectMembers().contains(ra) )
.collect(toSet());
}
}