1.1 --- a/webidor/src/main/java/cz/xelfi/quoridor/webidor/GameId.java Fri Sep 18 23:28:13 2009 +0200
1.2 +++ b/webidor/src/main/java/cz/xelfi/quoridor/webidor/GameId.java Sat Sep 19 07:58:56 2009 +0200
1.3 @@ -26,6 +26,7 @@
1.4
1.5 package cz.xelfi.quoridor.webidor;
1.6
1.7 +import java.util.Comparator;
1.8 import java.util.Date;
1.9 import java.util.UUID;
1.10 import javax.xml.bind.annotation.XmlAccessType;
1.11 @@ -41,6 +42,8 @@
1.12 @XmlRootElement
1.13 @XmlAccessorType(XmlAccessType.FIELD)
1.14 public class GameId {
1.15 + public static final Comparator<GameId> NEWEST_FIRST = new NewestFirst();
1.16 +
1.17 @XmlAttribute
1.18 private String white;
1.19 @XmlAttribute
1.20 @@ -99,4 +102,17 @@
1.21 public GameStatus getStatus() {
1.22 return status;
1.23 }
1.24 +
1.25 + private static final class NewestFirst implements Comparator<GameId> {
1.26 + public int compare(GameId o1, GameId o2) {
1.27 + if (o1 == o2) {
1.28 + return 0;
1.29 + }
1.30 + long diff = o2.getModified() - o1.getModified();
1.31 + if (diff != 0) {
1.32 + return diff < 0 ? -1 : 1;
1.33 + }
1.34 + return o1.getId().compareTo(o2.getId());
1.35 + }
1.36 + }
1.37 }
2.1 --- a/webidor/src/main/java/cz/xelfi/quoridor/webidor/resources/Games.java Fri Sep 18 23:28:13 2009 +0200
2.2 +++ b/webidor/src/main/java/cz/xelfi/quoridor/webidor/resources/Games.java Sat Sep 19 07:58:56 2009 +0200
2.3 @@ -38,6 +38,7 @@
2.4 import java.io.IOException;
2.5 import java.io.PrintWriter;
2.6 import java.util.ArrayList;
2.7 +import java.util.Collections;
2.8 import java.util.Date;
2.9 import java.util.List;
2.10 import java.util.logging.Level;
2.11 @@ -177,6 +178,7 @@
2.12 for (Game g : games) {
2.13 arr.add(g.getId());
2.14 }
2.15 + Collections.sort(arr, GameId.NEWEST_FIRST);
2.16 return arr;
2.17 }
2.18