001
014
015 package com.liferay.portlet.messageboards.util.comparator;
016
017 import com.liferay.portal.kernel.util.DateUtil;
018 import com.liferay.portlet.messageboards.model.MBMessage;
019
020 import java.io.Serializable;
021
022 import java.util.Comparator;
023
024
027 public class MessageThreadComparator
028 implements Comparator<MBMessage>, Serializable {
029
030 public int compare(MBMessage msg1, MBMessage msg2) {
031 Long parentMessageId1 = new Long(msg1.getParentMessageId());
032 Long parentMessageId2 = new Long(msg2.getParentMessageId());
033
034 int value = parentMessageId1.compareTo(parentMessageId2);
035
036 if (value == 0) {
037 value = DateUtil.compareTo(
038 msg1.getCreateDate(), msg2.getCreateDate());
039 }
040
041 if (value == 0) {
042 Long messageId1 = new Long(msg1.getMessageId());
043 Long messageId2 = new Long(msg2.getMessageId());
044
045 value = messageId1.compareTo(messageId2);
046 }
047
048 return value;
049 }
050
051 }