Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java,v diff -u -r1.34 -r1.35 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java 2 Feb 2009 03:21:24 -0000 1.34 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java 3 Feb 2010 06:50:31 -0000 1.35 @@ -173,18 +173,20 @@ if (!(o instanceof Message)) return false; - final Message genericEntity = (Message) o; + Message genericEntity = (Message) o; + // uses same attributes to determine equality as + // ConditionTopicComparator.compare() return new EqualsBuilder() - .append(this.uid,genericEntity.uid) - .append(this.subject,genericEntity.subject) - .append(this.body,genericEntity.body) - .append(this.replyNumber,genericEntity.replyNumber) - .append(this.lastReplyDate,genericEntity.lastReplyDate) - .append(this.created,genericEntity.created) - .append(this.updated,genericEntity.updated) - .append(this.createdBy,genericEntity.createdBy) - .append(this.modifiedBy,genericEntity.modifiedBy) + //.append(this.uid,genericEntity.getUid()) + .append(this.subject,genericEntity.getSubject()) + .append(this.body,genericEntity.getBody()) + .append(this.replyNumber,genericEntity.getReplyNumber()) + //.append(this.lastReplyDate,genericEntity.lastReplyDate) + //.append(this.created,genericEntity.created) + //.append(this.updated,genericEntity.updated) + .append(this.createdBy,genericEntity.getCreatedBy()) + .append(this.modifiedBy,genericEntity.getModifiedBy()) .isEquals(); } Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ConditionTopicComparator.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ConditionTopicComparator.java,v diff -u -r1.1 -r1.2 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ConditionTopicComparator.java 27 Oct 2008 00:53:02 -0000 1.1 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ConditionTopicComparator.java 3 Feb 2010 06:50:31 -0000 1.2 @@ -27,6 +27,7 @@ import java.util.Comparator; +import org.apache.commons.lang.builder.EqualsBuilder; import org.lamsfoundation.lams.tool.forum.persistence.Message; /** @@ -39,6 +40,20 @@ public int compare(Message o1, Message o2) { if (o1 != null && o2 != null) { + // use same attributes to determine equality as Message.equals() method + if (new EqualsBuilder() + //.append(o1.getUid(),o2.getUid()) + .append(o1.getSubject(),o2.getSubject()) + .append(o1.getBody(),o2.getBody()) + .append(o1.getReplyNumber(),o2.getReplyNumber()) + //.append(this.lastReplyDate,genericEntity.lastReplyDate) + //.append(this.created,genericEntity.created) + //.append(this.updated,genericEntity.updated) + .append(o1.getCreatedBy(),o2.getCreatedBy()) + .append(o1.getModifiedBy(),o2.getModifiedBy()) + .isEquals()) { + return 0; + } return new DateComparator().compare(o1.getCreated(), o2.getCreated()); } else if (o1 != null) { return 1;