Use a hashmap to map strings to rooms. So now we can have an unbounded number of...
authorbdemsky <bdemsky>
Sat, 4 Nov 2006 09:35:35 +0000 (09:35 +0000)
committerbdemsky <bdemsky>
Sat, 4 Nov 2006 09:35:35 +0000 (09:35 +0000)
Robust/src/Benchmarks/Chat/ChatSocket.java
Robust/src/Benchmarks/Chat/Room.java
Robust/src/Benchmarks/Chat/RoomObject.java

index f278c10bddbc9300a6c290d3d46204274c4eb7dc..e7252f3bc8e8afdf43b202968189775fa043e3d5 100644 (file)
@@ -25,7 +25,6 @@ public class ChatSocket extends Socket {
         return false;
     }
     public void processRoom(RoomObject ro) {
-       int i=Integer.parseInt(roomrequest);
-       ro.getChatRoom(i).addParticipant(this);
+       ro.getChatRoom(roomrequest).addParticipant(this);
     }
 }
index c644b523f835706d22fce2350480e7554ff24cea..938137c208d4c80f5b667642b6ac6c12d49de539 100644 (file)
@@ -1,8 +1,8 @@
 public class Room {
     String name;
     HashSet participants;
-    public Room(int i) {
-       name=String.valueOf(i);
+    public Room(String n) {
+       name=n;
        participants=new HashSet();
     }
     
index 9844d3f622dbd96539597e358caa945177dd3d5e..dd0028130a55e58218a7dc4b446f95a2d76689c2 100644 (file)
@@ -1,13 +1,15 @@
 public class RoomObject {
     flag Initialized;
-    Room[] rooms;
+    HashMap rooms;
     public RoomObject() {
-       rooms=new Room[10];
-       for(int i=0;i<rooms.length;i++)
-           rooms[i]=new Room(i);
+       rooms=new HashMap();
     }
 
-    Room getChatRoom(int i) {
-       return rooms[i];
+    Room getChatRoom(String name) {
+       if (rooms.containsKey(name))
+           return (Room) rooms.get(name);
+       Room r=new Room(name);
+       rooms.put(name, r);
+       return r;
     }
 }