1 29 30 package echo2example.chatserver; 31 32 37 public class Server { 38 39 private UserManager userManager; 40 private MessageStore messageStore; 41 42 45 public Server() { 46 super(); 47 userManager = new UserManager(); 48 messageStore = new MessageStore(); 49 } 50 51 59 public String addUser(String userName, String remoteHost) { 60 String token = userManager.add(userName); 61 if (token != null) { 62 messageStore.post(null, "User \"" + userName + "\" has joined the chat."); 63 Log.log(Log.ACTION_AUTH, remoteHost, userName, null); 64 } 65 return token; 66 } 67 68 74 public Message[] getMessages(long lastRetrievedId) { 75 return messageStore.getMessages(lastRetrievedId); 76 } 77 78 85 public Message[] getRecentMessages() { 86 return messageStore.getRecentMessages(); 87 } 88 89 98 public boolean removeUser(String userName, String authToken, String remoteHost) { 99 if (userManager.authenticate(userName, authToken)) { 100 userManager.remove(userName); 101 messageStore.post(null, "User \"" + userName + "\" has exited the chat."); 102 Log.log(Log.ACTION_EXIT, remoteHost, userName, null); 103 return true; 104 } else { 105 return false; 106 } 107 } 108 109 119 public boolean postMessage(String userName, String authToken, String remoteHost, String messageContent) { 120 if (userManager.authenticate(userName, authToken)) { 121 messageStore.post(userName, messageContent); 122 Log.log(Log.ACTION_POST, remoteHost, userName, messageContent); 123 return true; 124 } else { 125 return false; 126 } 127 } 128 } 129 | Popular Tags |