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/). 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..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 @@ -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,10 @@ public void run() { * Message sent by the client */ private void onNewMessage(Socket from, Message msg) { + // 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 synchronized (clients) { 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 */