From 60229154d6005725569b8266522ae49dac3da6d5 Mon Sep 17 00:00:00 2001 From: Terence Sun Date: Mon, 27 Apr 2015 00:05:39 -0400 Subject: [PATCH 1/4] Added necessary getters/setters/fields for serverTimestamp --- .../cmu/cs/cs214/rec15/server/Message.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/main/java/edu/cmu/cs/cs214/rec15/server/Message.java b/src/main/java/edu/cmu/cs/cs214/rec15/server/Message.java index 0035375..6e2e98b 100644 --- a/src/main/java/edu/cmu/cs/cs214/rec15/server/Message.java +++ b/src/main/java/edu/cmu/cs/cs214/rec15/server/Message.java @@ -14,11 +14,9 @@ public class Message implements Serializable { private String content; private Date timestamp; private String sender; + private Date serverTimestamp; - // TODO: Make the message also include a timestamp for when the server - // received the message - /** * Constructor to create a message * @@ -67,6 +65,26 @@ public Date getTimestamp() { } + /** + * + * @return Time at which the server received this message + */ + public Date getServerTimestamp() { + return new Date(serverTimestamp.getTime()); + } + + + /** + * Sets the server timestamp + * + * @param receivedAt + * Time at which the server received this message + */ + public void setServerTimestamp(Date receivedAt) { + this.serverTimestamp = new Date(receivedAt.getTime()); + } + + /** * @return the sender */ From 465bb629c62ae52f978207018d2f54940dde5c5c Mon Sep 17 00:00:00 2001 From: Terence Sun Date: Mon, 27 Apr 2015 00:07:10 -0400 Subject: [PATCH 2/4] Added TODO for adding server timestamps --- src/main/java/edu/cmu/cs/cs214/rec15/gui/ClientPanel.java | 3 --- .../java/edu/cmu/cs/cs214/rec15/server/ChatServerImpl.java | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/java/edu/cmu/cs/cs214/rec15/gui/ClientPanel.java b/src/main/java/edu/cmu/cs/cs214/rec15/gui/ClientPanel.java index 2ca7e6c..aadb64d 100644 --- a/src/main/java/edu/cmu/cs/cs214/rec15/gui/ClientPanel.java +++ b/src/main/java/edu/cmu/cs/cs214/rec15/gui/ClientPanel.java @@ -197,9 +197,6 @@ public void startChat(String username, String port, String ip) { */ @Override public void messageReceived(String username, String message) { - - // TODO: Make the server show the timestamp of the received message - String newText = String.format(" %s: %s%n", username, message); this.chatArea.append(newText); chatArea.setCaretPosition(chatArea.getDocument().getLength()); diff --git a/src/main/java/edu/cmu/cs/cs214/rec15/server/ChatServerImpl.java b/src/main/java/edu/cmu/cs/cs214/rec15/server/ChatServerImpl.java index ca57a78..e037e90 100644 --- a/src/main/java/edu/cmu/cs/cs214/rec15/server/ChatServerImpl.java +++ b/src/main/java/edu/cmu/cs/cs214/rec15/server/ChatServerImpl.java @@ -167,8 +167,6 @@ public void run() { } - // TODO: Notify all clients when a new client joins the chat server - /** * Callback for when a message is received by the server. Notifies all * clients about the new message received @@ -179,6 +177,8 @@ public void run() { * Message sent by the client */ private void onNewMessage(Socket from, Message msg) { + // TODO: Add the server timestamp to the message received. + // Synchronize because we are iterating through all clients in a // thread synchronized (clients) { From 78448f49479e631cb632fbd182bddbf9ff64de05 Mon Sep 17 00:00:00 2001 From: Terence Sun Date: Mon, 27 Apr 2015 01:10:52 -0400 Subject: [PATCH 3/4] Added some instructions about where to see how serverTimestamps were implemented --- .../java/edu/cmu/cs/cs214/rec15/server/ChatServerImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/edu/cmu/cs/cs214/rec15/server/ChatServerImpl.java b/src/main/java/edu/cmu/cs/cs214/rec15/server/ChatServerImpl.java index e037e90..f5e4153 100644 --- a/src/main/java/edu/cmu/cs/cs214/rec15/server/ChatServerImpl.java +++ b/src/main/java/edu/cmu/cs/cs214/rec15/server/ChatServerImpl.java @@ -177,7 +177,9 @@ public void run() { * Message sent by the client */ private void onNewMessage(Socket from, Message msg) { - // TODO: Add the server timestamp to the message received. + // TODO: Add the server timestamp to the message received. Note: + // Message#setServerTimestamp was created for you in the Message + // class. // Synchronize because we are iterating through all clients in a // thread From 5969ef2764f150ac027ed07007a72a3e304a352c Mon Sep 17 00:00:00 2001 From: Matt Gode Date: Wed, 29 Apr 2015 11:12:34 -0400 Subject: [PATCH 4/4] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ce39368..3589526 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ This repository contains a small chat server implementation to be used for Recitation 15. ### Getting Started ------- +------asdlkhjasd;lkja;sldkjad ##### Forking the Repository In order to gain access to this repository, we would like you to **Fork** the repsoitory, and then clone your fork onto your local machine. More information about forking can be found [here](https://help.github.com/articles/fork-a-repo/).