src/main/java/de/uapcore/lightpit/viewmodel/util/IssueSorter.java

changeset 155
3ace475224f7
parent 150
822b7e3d064d
child 167
3f30adba1c63
equal deleted inserted replaced
154:3d10f2a390a1 155:3ace475224f7
35 public IssueSorter(Criteria ... criteria) { 35 public IssueSorter(Criteria ... criteria) {
36 this.criteria = criteria; 36 this.criteria = criteria;
37 } 37 }
38 38
39 private int compare(Issue left, Issue right, Criteria criteria) { 39 private int compare(Issue left, Issue right, Criteria criteria) {
40 if (left.equals(right))
41 return 0;
42
40 int result; 43 int result;
41 switch (criteria.field) { 44 switch (criteria.field) {
42 case DONE: 45 case DONE:
43 result = Boolean.compare( 46 result = Boolean.compare(
44 left.getStatus().getPhase().equals(IssueStatusPhase.Companion.getDone()), 47 left.getStatus().getPhase().equals(IssueStatusPhase.Companion.getDone()),
45 right.getStatus().getPhase().equals(IssueStatusPhase.Companion.getDone())); 48 right.getStatus().getPhase().equals(IssueStatusPhase.Companion.getDone()));
46 break; 49 break;
47 case ETA: 50 case ETA:
48 if (left.getEta() != null && right.getEta() != null) 51 if (left.getEta() != null && right.getEta() != null)
49 result = left.getEta().compareTo(right.getEta()); 52 result = left.getEta().compareTo(right.getEta());
53 else if (left.getEta() == null && right.getEta() == null)
54 result = 0;
50 else 55 else
51 result = left.getEta() != null ? -1 : 1; 56 result = left.getEta() != null ? -1 : 1;
52 break; 57 break;
53 case UPDATED: 58 case UPDATED:
54 result = left.getUpdated().compareTo(right.getUpdated()); 59 result = left.getUpdated().compareTo(right.getUpdated());

mercurial