Author: bdonlan
Date: 2005-11-14 17:01:32 -0500 (Mon, 14 Nov 2005)
New Revision: 921

Added:
   trunk/clients/javer3/Javer3/src/javer3/message/
   trunk/clients/javer3/Javer3/src/javer3/message/ConnectFailed.java
   trunk/clients/javer3/Javer3/src/javer3/message/ConnectIOException.java
   trunk/clients/javer3/Javer3/src/javer3/message/ConnectMessage.java
   trunk/clients/javer3/Javer3/src/javer3/message/ConnectRejected.java
   trunk/clients/javer3/Javer3/src/javer3/message/DisconnectMessage.java
   trunk/clients/javer3/Javer3/src/javer3/message/ExceptionDisconnect.java
   trunk/clients/javer3/Javer3/src/javer3/message/GracefulDisconnect.java
   trunk/clients/javer3/Javer3/src/javer3/message/JoinedChannel.java
   trunk/clients/javer3/Javer3/src/javer3/message/Message.java
   trunk/clients/javer3/Javer3/src/javer3/message/PartedChannel.java
   trunk/clients/javer3/Javer3/src/javer3/message/PrivateChat.java
   trunk/clients/javer3/Javer3/src/javer3/message/PublicChat.java
   trunk/clients/javer3/Javer3/src/javer3/message/ServerDisconnect.java
Removed:
   trunk/clients/javer3/Javer3/src/javer3/Message.java
Modified:
   trunk/clients/javer3/Javer3/src/javer3/HaverClient.java
   trunk/clients/javer3/Javer3/src/javer3/Main.java
   trunk/clients/javer3/Javer3/src/javer3/Receiver.java
Log:
source reorganization, also public/private msg

Modified: trunk/clients/javer3/Javer3/src/javer3/HaverClient.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/HaverClient.java     2005-11-14 
21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/HaverClient.java     2005-11-14 
22:01:32 UTC (rev 921)
@@ -13,6 +13,7 @@
 import java.net.*;
 import java.util.*;
 import java.lang.reflect.*;
+import javer3.message.*;
 
 /**
  *
@@ -20,8 +21,6 @@
  */
 public class HaverClient {
     
-    protected final HaverClient _me = this;
-    
     private Object lock = new Object();
     static final int ST_IDLE  = 0; // Not connected, not connecting
     static final int ST_CONN  = 1; // Connecting
@@ -75,7 +74,7 @@
                     if (e_ == null)
                         e_ = ex;
                     ex = null;
-                    dispatch(new ExceptionDisconnect(_me, e_));
+                    dispatch(new ExceptionDisconnect(e_));
                     if (current_writer != null)
                         current_writer.close();
                     current_writer = null;
@@ -116,7 +115,7 @@
                 new Thread(new Reader(s)).start();
             }
             catch (IOException e) {
-                dispatch(new ConnectIOException(_me, e));
+                dispatch(new ConnectIOException(e));
                 synchronized (lock) { state = ST_IDLE; }
                 return;
             }
@@ -318,7 +317,7 @@
         synchronized (lock) {
             state = ST_READY;
         }
-        dispatch(new ConnectMessage(this));
+        dispatch(new ConnectMessage());
     }
     
     void JOIN_handler(String[] args) {
@@ -326,7 +325,7 @@
         String who  = args[2];
         boolean me  = who.equals(uid);
         
-        dispatch(new JoinedChannel(this, who, chan, me));
+        dispatch(new JoinedChannel(who, chan, me));
     }
     
     public void join(String channel) {
@@ -338,7 +337,7 @@
         String who  = args[2];
         boolean me  = who.equals(uid);
         
-        dispatch(new PartedChannel(this, who, chan, me));
+        dispatch(new PartedChannel(who, chan, me));
     }
     
     public void part(String channel) {
@@ -349,4 +348,37 @@
         String[] response = { "PONG", args[1] };
         sendLine(response);
     }
+    
+    void IN_handler(String[] args) {
+        String channel = args[1];
+        String sender  = args[2];
+        String[] mesg  = new String[args.length - 3];
+        System.arraycopy(mesg, 0, args, 3, args.length - 3);
+        
+        dispatch(new PublicChat(sender, channel, mesg));
+    }
+    
+    void FROM_handler(String[] args) {
+        String sender  = args[1];
+        String[] mesg  = new String[args.length - 2];
+        System.arraycopy(mesg, 0, args, 2, args.length - 2);
+        
+        dispatch(new PrivateChat(sender, mesg));
+    }
+    
+    public void sendPublicMessage(String destination, String[] args) {
+        String[] mesg = new String[args.length + 2];
+        mesg[0] = "IN";
+        mesg[1] = destination;
+        System.arraycopy(mesg, 2, args, 0, args.length);
+        sendLine(mesg);
+    }
+    
+    public void sendPrivateMessage(String destination, String[] args) {
+        String[] mesg = new String[args.length + 2];
+        mesg[0] = "TO";
+        mesg[1] = destination;
+        System.arraycopy(mesg, 2, args, 0, args.length);
+        sendLine(mesg);
+    }
 }

Modified: trunk/clients/javer3/Javer3/src/javer3/Main.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/Main.java    2005-11-14 21:28:46 UTC 
(rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/Main.java    2005-11-14 22:01:32 UTC 
(rev 921)
@@ -10,6 +10,8 @@
 
 package javer3;
 
+import javer3.message.*;
+
 /**
  *
  * @author bdonlan
@@ -22,6 +24,18 @@
         System.out.println("MSG: " + m.toString());
         if (m instanceof ConnectMessage) {
             cli.join("lobby");
+        } else if (m instanceof PublicChat) {
+            PublicChat chat = (PublicChat)m;
+            String[] mesg = chat.getMessage();
+            cli.sendPublicMessage(chat.getChannel(),
+                    new String[] { mesg[0], chat.getSender() + ": " + mesg[1] }
+            );
+        } else if (m instanceof PrivateChat) {
+            PrivateChat chat = (PrivateChat)m;
+            String[] mesg = chat.getMessage();
+            cli.sendPrivateMessage(chat.getSender(),
+                    new String[] { mesg[0], chat.getSender() + ": " + mesg[1] }
+            );
         }
     }
     

Deleted: trunk/clients/javer3/Javer3/src/javer3/Message.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/Message.java 2005-11-14 21:28:46 UTC 
(rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/Message.java 2005-11-14 22:01:32 UTC 
(rev 921)
@@ -1,111 +0,0 @@
-/*
- * Message.java
- *
- * Created on November 13, 2005, 11:31 PM
- *
- * To change this template, choose Tools | Options and locate the template 
under
- * the Source Creation and Management node. Right-click the template and choose
- * Open. You can then make changes to the template in the Source Editor.
- */
-
-package javer3;
-import java.io.IOException;
-
-/**
- *
- * @author bdonlan
- */
-public abstract class Message {
-    private HaverClient _src;
-    Message(HaverClient src) { _src = src; }
-    
-    public final HaverClient getMessageSource() { return _src; }
-}
-
-class ConnectMessage extends Message {
-    ConnectMessage(HaverClient src) { super(src); }
-}
-
-class ConnectFailed extends Message {
-    ConnectFailed(HaverClient src) { super(src); }
-}
-
-class ConnectIOException extends ConnectFailed {
-    private IOException _e;
-    
-    ConnectIOException(HaverClient src, IOException e) {
-        super(src); _e = e;
-    }
-    
-    public IOException getException() { return _e; }
-}
-
-class ConnectRejected extends ConnectFailed {
-    private String _type;
-    ConnectRejected(HaverClient src, String type) {
-        super(src); _type = type;
-    }
-    
-    public String getType() { return _type; }
-}
-
-class DisconnectMessage extends Message {
-    DisconnectMessage(HaverClient src) { super(src); }
-}
-
-class GracefulDisconnect extends DisconnectMessage {
-    GracefulDisconnect(HaverClient src) { super(src); }
-}
-
-class ServerDisconnect extends DisconnectMessage {
-    private String _type, _detail;
-    
-    ServerDisconnect(HaverClient src, String type, String detail) {
-        super(src);
-        _type = type;
-        _detail = detail;
-    }
-    
-    public String getType() { return _type; }
-    public String getDetail() { return _detail; }
-}
-
-class ExceptionDisconnect extends DisconnectMessage {
-    IOException _e;
-    
-    ExceptionDisconnect(HaverClient src, IOException e) { super(src); _e = e; }
-    public IOException getException() { return _e; }
-}
-
-
-class JoinedChannel extends Message {
-    String who, where;
-    boolean me;
-    
-    JoinedChannel(HaverClient src, String _who, String _where, boolean _me) {
-        super(src);
-        who = _who;
-        where = _where;
-        me = _me;
-    }
-    
-    public String getWho() { return who; }
-    public String getWhere() { return where; }
-    public boolean isMe() { return me; }
-}
-
-class PartedChannel extends Message {
-    String who, where;
-    boolean me;
-    
-    PartedChannel(HaverClient src, String _who, String _where, boolean _me) {
-        super(src);
-        who = _who;
-        where = _where;
-        me = _me;
-    }
-    
-    public String getWho() { return who; }
-    public String getWhere() { return where; }
-    public boolean isMe() { return me; }
-}
\ No newline at end of file

Modified: trunk/clients/javer3/Javer3/src/javer3/Receiver.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/Receiver.java        2005-11-14 
21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/Receiver.java        2005-11-14 
22:01:32 UTC (rev 921)
@@ -10,6 +10,8 @@
 
 package javer3;
 
+import javer3.message.Message;
+
 /**
  *
  * @author bdonlan

Added: trunk/clients/javer3/Javer3/src/javer3/message/ConnectFailed.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/ConnectFailed.java   
2005-11-14 21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/ConnectFailed.java   
2005-11-14 22:01:32 UTC (rev 921)
@@ -0,0 +1,6 @@
+
+package javer3.message;
+import javer3.*;
+
+public class ConnectFailed extends Message {
+}


Property changes on: 
trunk/clients/javer3/Javer3/src/javer3/message/ConnectFailed.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/clients/javer3/Javer3/src/javer3/message/ConnectIOException.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/ConnectIOException.java      
2005-11-14 21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/ConnectIOException.java      
2005-11-14 22:01:32 UTC (rev 921)
@@ -0,0 +1,14 @@
+
+package javer3.message;
+import javer3.*;
+import java.io.IOException;
+
+public class ConnectIOException extends ConnectFailed {
+    private IOException _e;
+    
+    public ConnectIOException(IOException e) {
+        _e = e;
+    }
+    
+    public IOException getException() { return _e; }
+}
\ No newline at end of file


Property changes on: 
trunk/clients/javer3/Javer3/src/javer3/message/ConnectIOException.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/clients/javer3/Javer3/src/javer3/message/ConnectMessage.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/ConnectMessage.java  
2005-11-14 21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/ConnectMessage.java  
2005-11-14 22:01:32 UTC (rev 921)
@@ -0,0 +1,6 @@
+
+package javer3.message;
+import javer3.*;
+
+public class ConnectMessage extends Message {
+}
\ No newline at end of file


Property changes on: 
trunk/clients/javer3/Javer3/src/javer3/message/ConnectMessage.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/clients/javer3/Javer3/src/javer3/message/ConnectRejected.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/ConnectRejected.java 
2005-11-14 21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/ConnectRejected.java 
2005-11-14 22:01:32 UTC (rev 921)
@@ -0,0 +1,12 @@
+
+package javer3.message;
+import javer3.*;
+
+public class ConnectRejected extends ConnectFailed {
+    private String _type;
+    public ConnectRejected(String type) {
+        _type = type;
+    }
+    
+    public String getType() { return _type; }
+}


Property changes on: 
trunk/clients/javer3/Javer3/src/javer3/message/ConnectRejected.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/clients/javer3/Javer3/src/javer3/message/DisconnectMessage.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/DisconnectMessage.java       
2005-11-14 21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/DisconnectMessage.java       
2005-11-14 22:01:32 UTC (rev 921)
@@ -0,0 +1,6 @@
+
+package javer3.message;
+import javer3.*;
+
+public class DisconnectMessage extends Message {
+}


Property changes on: 
trunk/clients/javer3/Javer3/src/javer3/message/DisconnectMessage.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/clients/javer3/Javer3/src/javer3/message/ExceptionDisconnect.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/ExceptionDisconnect.java     
2005-11-14 21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/ExceptionDisconnect.java     
2005-11-14 22:01:32 UTC (rev 921)
@@ -0,0 +1,11 @@
+
+package javer3.message;
+import javer3.*;
+import java.io.IOException;
+
+public class ExceptionDisconnect extends DisconnectMessage {
+    IOException _e;
+    
+    public ExceptionDisconnect(IOException e) { _e = e; }
+    public IOException getException() { return _e; }
+}


Property changes on: 
trunk/clients/javer3/Javer3/src/javer3/message/ExceptionDisconnect.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/clients/javer3/Javer3/src/javer3/message/GracefulDisconnect.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/GracefulDisconnect.java      
2005-11-14 21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/GracefulDisconnect.java      
2005-11-14 22:01:32 UTC (rev 921)
@@ -0,0 +1,6 @@
+
+package javer3.message;
+import javer3.*;
+
+public class GracefulDisconnect extends DisconnectMessage {
+}


Property changes on: 
trunk/clients/javer3/Javer3/src/javer3/message/GracefulDisconnect.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/clients/javer3/Javer3/src/javer3/message/JoinedChannel.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/JoinedChannel.java   
2005-11-14 21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/JoinedChannel.java   
2005-11-14 22:01:32 UTC (rev 921)
@@ -0,0 +1,17 @@
+package javer3.message;
+import javer3.*;
+
+public class JoinedChannel extends Message {
+    String who, where;
+    boolean me;
+    
+    public JoinedChannel(String _who, String _where, boolean _me) {
+        who = _who;
+        where = _where;
+        me = _me;
+    }
+    
+    public String getWho() { return who; }
+    public String getWhere() { return where; }
+    public boolean isMe() { return me; }
+}


Property changes on: 
trunk/clients/javer3/Javer3/src/javer3/message/JoinedChannel.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/clients/javer3/Javer3/src/javer3/message/Message.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/Message.java 2005-11-14 
21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/Message.java 2005-11-14 
22:01:32 UTC (rev 921)
@@ -0,0 +1,21 @@
+/*
+ * Message.java
+ *
+ * Created on November 13, 2005, 11:31 PM
+ *
+ * To change this template, choose Tools | Options and locate the template 
under
+ * the Source Creation and Management node. Right-click the template and choose
+ * Open. You can then make changes to the template in the Source Editor.
+ */
+
+package javer3.message;
+import java.io.IOException;
+import javer3.*;
+
+/**
+ *
+ * @author bdonlan
+ */
+public abstract class Message {
+    // XXX interface
+}


Property changes on: trunk/clients/javer3/Javer3/src/javer3/message/Message.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/clients/javer3/Javer3/src/javer3/message/PartedChannel.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/PartedChannel.java   
2005-11-14 21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/PartedChannel.java   
2005-11-14 22:01:32 UTC (rev 921)
@@ -0,0 +1,17 @@
+package javer3.message;
+import javer3.*;
+
+public class PartedChannel extends Message {
+    String who, where;
+    boolean me;
+    
+    public PartedChannel(String _who, String _where, boolean _me) {
+        who = _who;
+        where = _where;
+        me = _me;
+    }
+    
+    public String getWho() { return who; }
+    public String getWhere() { return where; }
+    public boolean isMe() { return me; }
+}


Property changes on: 
trunk/clients/javer3/Javer3/src/javer3/message/PartedChannel.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/clients/javer3/Javer3/src/javer3/message/PrivateChat.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/PrivateChat.java     
2005-11-14 21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/PrivateChat.java     
2005-11-14 22:01:32 UTC (rev 921)
@@ -0,0 +1,20 @@
+package javer3.message;
+import javer3.*;
+
+public class PrivateChat extends Message {
+    String who;
+    String what[];
+    
+    public PrivateChat(String who, String[] what) {
+        this.who = who;
+        this.what = new String[what.length];
+        System.arraycopy(this.what, 0, what, 0, what.length);
+    }
+    
+    public String getSender() { return who; }
+    public String[] getMessage() {
+        String[] arr = new String[what.length];
+        System.arraycopy(arr, 0, what, 0, what.length);
+        return arr;
+    }
+}


Property changes on: 
trunk/clients/javer3/Javer3/src/javer3/message/PrivateChat.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/clients/javer3/Javer3/src/javer3/message/PublicChat.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/PublicChat.java      
2005-11-14 21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/PublicChat.java      
2005-11-14 22:01:32 UTC (rev 921)
@@ -0,0 +1,22 @@
+package javer3.message;
+import javer3.*;
+
+public class PublicChat extends Message {
+    String who, where;
+    String[] what;
+    
+    public PublicChat(String who, String where, String[] what) {
+        this.who = who;
+        this.where = where;
+        this.what = new String[what.length];
+        System.arraycopy(this.what, 0, what, 0, what.length);
+    }
+    
+    public String getSender() { return who; }
+    public String getChannel() { return where; }
+    public String[] getMessage() {
+        String[] arr = new String[what.length];
+        System.arraycopy(arr, 0, what, 0, what.length);
+        return arr;
+    }
+}


Property changes on: 
trunk/clients/javer3/Javer3/src/javer3/message/PublicChat.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/clients/javer3/Javer3/src/javer3/message/ServerDisconnect.java
===================================================================
--- trunk/clients/javer3/Javer3/src/javer3/message/ServerDisconnect.java        
2005-11-14 21:28:46 UTC (rev 920)
+++ trunk/clients/javer3/Javer3/src/javer3/message/ServerDisconnect.java        
2005-11-14 22:01:32 UTC (rev 921)
@@ -0,0 +1,15 @@
+
+package javer3.message;
+import javer3.*;
+
+public class ServerDisconnect extends DisconnectMessage {
+    private String _type, _detail;
+    
+    public ServerDisconnect(String type, String detail) {
+        _type = type;
+        _detail = detail;
+    }
+    
+    public String getType() { return _type; }
+    public String getDetail() { return _detail; }
+}


Property changes on: 
trunk/clients/javer3/Javer3/src/javer3/message/ServerDisconnect.java
___________________________________________________________________
Name: svn:eol-style
   + native


Reply via email to