Skip to content
Snippets Groups Projects

Resolve "Indicate an active filter"

Files

@@ -20,6 +20,7 @@ package nl.tudelft.queue.dto.util;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Stream;
import javax.validation.constraints.NotNull;
@@ -50,10 +51,27 @@ public class RequestTableFilterDTO extends Validated implements Serializable {
private Set<RequestType> requestTypes = new HashSet<>();
public boolean isEmpty() {
return labs.isEmpty() &&
assignments.isEmpty() && rooms.isEmpty() &&
assigned.isEmpty() && requestStatuses.isEmpty() &&
requestTypes.isEmpty();
return getAllFiltersAsStream().filter(s -> !s.isEmpty()).toList().isEmpty();
}
/**
* Counts the number of filters which are active.
*
* @return The number of lists which contain at least 1 element to filter on.
*/
public long countActiveFilters() {
return Stream.of(labs, assigned, rooms, assigned, assignments, requestStatuses,
requestTypes).filter(s -> !s.isEmpty()).count();
}
/**
* Get all existing filters as a stream.
*
* @return A stream of Sets.
*/
private Stream<Set<?>> getAllFiltersAsStream() {
return Stream.of(labs, assigned, rooms, assigned, assignments, requestStatuses,
requestTypes);
}
@Override
Loading