Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java =================================================================== diff -u -r59e4b8d442ec5f40e2e7a5bef1bda2059953b59a -r0ebd509f53c24710b2039233892e689bde3ac87c --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java (.../Message.java) (revision 59e4b8d442ec5f40e2e7a5bef1bda2059953b59a) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Message.java (.../Message.java) (revision 0ebd509f53c24710b2039233892e689bde3ac87c) @@ -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 =================================================================== diff -u -rc081e2b0c9c82fc97d2d39fb7109c9c2f10ff224 -r0ebd509f53c24710b2039233892e689bde3ac87c --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ConditionTopicComparator.java (.../ConditionTopicComparator.java) (revision c081e2b0c9c82fc97d2d39fb7109c9c2f10ff224) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ConditionTopicComparator.java (.../ConditionTopicComparator.java) (revision 0ebd509f53c24710b2039233892e689bde3ac87c) @@ -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;