package tudu.domain.model.comparator; import tudu.domain.model.Todo; import java.util.Comparator; /** * Comparator used to sort todos by their assigned user, in ascending order. * * @author Julien Dubois */ public class TodoByAssignedUserAscComparator implements Comparator<Todo> { public int compare(Todo first, Todo second) { if (first.isCompleted() && !second.isCompleted()) { return 1; } else if (!first.isCompleted() && second.isCompleted()) { return -1; } if (first.getAssignedUser() != null && second.getAssignedUser() == null) { return 1; } else if (first.getAssignedUser() == null && second.getAssignedUser() != null) { return -1; } int order = 0; if (first.getAssignedUser() != null && second.getAssignedUser() != null) { order = second.getAssignedUser().getLogin().compareTo( first.getAssignedUser().getLogin()); } if (order == 0) { order = second.compareTo(first); } return order; } }