From 144a3d5f7db17a5f27f2441acdeabba1e7f13ebc Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Mon, 17 Mar 2014 22:58:02 +0100
Subject: [PATCH] OO-1022: show the date of instant messages older than today

---
 .../instantMessaging/ui/ChatController.java   | 22 ++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/olat/instantMessaging/ui/ChatController.java b/src/main/java/org/olat/instantMessaging/ui/ChatController.java
index 5c86bba4d65..45c2dbee758 100644
--- a/src/main/java/org/olat/instantMessaging/ui/ChatController.java
+++ b/src/main/java/org/olat/instantMessaging/ui/ChatController.java
@@ -85,6 +85,7 @@ public class ChatController extends BasicController implements GenericEventListe
 	private JSAndCSSComponent jsc;
 	private FloatingResizableDialogController chatPanelCtr;
 	
+	private Date today;
 	private List<String> allChats;
 	private final Formatter formatter;
 
@@ -109,6 +110,7 @@ public class ChatController extends BasicController implements GenericEventListe
 		this.ores = ores;
 		this.privateReceiverKey = privateReceiverKey;
 		this.vip = vip;
+		setToday();
 
 		avatarBaseURL = registerCacheableMapper(ureq, "avatars-members", new AvatarMapper());
 		
@@ -193,6 +195,15 @@ public class ChatController extends BasicController implements GenericEventListe
 		}
 	}
 	
+	private void setToday() {
+		Calendar cal = Calendar.getInstance();
+		cal.set(Calendar.HOUR_OF_DAY, 0);
+		cal.set(Calendar.MINUTE, 0);
+		cal.set(Calendar.SECOND, 0);
+		cal.set(Calendar.MILLISECOND, 0);
+		today = cal.getTime();
+	}
+	
 	private Date getYesterday() {
 		Calendar cal = Calendar.getInstance();
 		cal.add(Calendar.DATE, -1);
@@ -254,6 +265,7 @@ public class ChatController extends BasicController implements GenericEventListe
 	}
 	
 	private void loadModel(Date from, int maxResults) {
+		setToday();
 		messageHistory.clear();
 		List<InstantMessage> lastMessages = imService.getMessages(getIdentity(), getOlatResourceable(), from, 0, maxResults, true);
 		for(int i=lastMessages.size(); i-->0; ) {
@@ -322,7 +334,15 @@ public class ChatController extends BasicController implements GenericEventListe
 		
 		String m = message.getBody().replaceAll("<br/>\n", "\r\n");
 		m = prepareMsgBody(m.replaceAll("<", "&lt;").replaceAll(">", "&gt;")).replaceAll("\r\n", "<br/>\n");
-		String creationDate = formatter.formatTime(message.getCreationDate());
+		
+		Date msgDate = message.getCreationDate();
+		String creationDate;
+		if(today.compareTo(msgDate) < 0) {
+			creationDate = formatter.formatTime(message.getCreationDate());
+		} else {
+			creationDate = formatter.formatDateAndTime(message.getCreationDate());
+		}
+
 		String from = message.getFromNickName();
 		
 		synchronized (messageHistory) {
-- 
GitLab