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