package qa.qcri.aidr.manager.util; import java.util.Comparator; import qa.qcri.aidr.manager.persistence.entities.Collection; /** * @author Kushal * This class sorts the collections on the basis of status i.e. Running or Running_Warning, * after that reverse sort on the basis of start date. */ public class CollectionComparator implements Comparator<Collection> { @Override public int compare(Collection c1, Collection c2) { int result = orderByStatus(c1.getStatus()) - orderByStatus(c2.getStatus()); if(result == 0){ if(c1.getStartDate()==null){ return -1; } if(c2.getStartDate()==null){ return 1; } result = c2.getStartDate().compareTo(c1.getStartDate()); } return result; } //Running or Running_Warning will come first public int orderByStatus(CollectionStatus cs){ switch(cs.getStatus()){ case "RUNNING" : return 0 ; case "RUNNING_WARNING" : return 0; default : return 9; } } }