package uk.ac.ox.zoo.seeg.abraid.mp.common.service.workflow.support; import org.apache.commons.lang.builder.CompareToBuilder; import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.AdminUnitReview; import java.io.Serializable; import java.util.Comparator; /** * Custom comparator to sort list of reviews by expert (asc), admin unit gaul code (asc), then date (desc). * Copyright (c) 2014 University of Oxford */ public class AdminUnitReviewComparator implements Comparator<AdminUnitReview>, Serializable { @Override public int compare(AdminUnitReview o1, AdminUnitReview o2) { return new CompareToBuilder() .append(o1.getExpert().getId(), o2.getExpert().getId()) // ascending .append(o1.getAdminUnitGlobalOrTropicalGaulCode(), o2.getAdminUnitGlobalOrTropicalGaulCode()) // ascend. .append(o2.getCreatedDate(), o1.getCreatedDate()) // descending .toComparison(); } }