diff --git a/cs656/lab2/src/Makefile b/cs656/lab2/src/Makefile new file mode 100644 index 0000000..511c06b --- /dev/null +++ b/cs656/lab2/src/Makefile @@ -0,0 +1,6 @@ + +all: + javac *.java + +clean: + -rm -f *.class *~ diff --git a/cs656/lab2/src/PresenceServiceImpl.java b/cs656/lab2/src/PresenceServiceImpl.java index 851526d..e892fdd 100644 --- a/cs656/lab2/src/PresenceServiceImpl.java +++ b/cs656/lab2/src/PresenceServiceImpl.java @@ -1,9 +1,13 @@ + +import java.util.HashMap; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.rmi.server.UnicastRemoteObject; public class PresenceServiceImpl implements PresenceService { + private HashMap myRegisteredUsers; + public PresenceServiceImpl() { super(); @@ -11,20 +15,23 @@ public class PresenceServiceImpl implements PresenceService public void register(RegistrationInfo reg) { + if (!myRegisteredUsers.containsKey(reg.getUserName())) + myRegisteredUsers.put(reg.getUserName(), reg); } public void unregister(String userName) { + myRegisteredUsers.remove(userName); } public RegistrationInfo lookup(String name) { - return null; + return myRegisteredUsers.get(name); } public RegistrationInfo[] listRegisteredUsers() { - return null; + return myRegisteredUsers.values().toArray(new RegistrationInfo[0]); } public static void main(String[] args)