aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/jabber/ws/XMPPConnection.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/juick/jabber/ws/XMPPConnection.java')
-rw-r--r--src/main/java/com/juick/jabber/ws/XMPPConnection.java30
1 files changed, 18 insertions, 12 deletions
diff --git a/src/main/java/com/juick/jabber/ws/XMPPConnection.java b/src/main/java/com/juick/jabber/ws/XMPPConnection.java
index 39815da5..df403083 100644
--- a/src/main/java/com/juick/jabber/ws/XMPPConnection.java
+++ b/src/main/java/com/juick/jabber/ws/XMPPConnection.java
@@ -1,5 +1,6 @@
package com.juick.jabber.ws;
+import com.juick.json.MessageSerializer;
import com.juick.server.MessagesQueries;
import com.juick.server.Utils;
import com.juick.xmpp.JID;
@@ -53,7 +54,7 @@ public class XMPPConnection implements Runnable, Stream.StreamListener, Message.
}
@Override
- public void onStreamFail(String msg) {
+ public void onStreamFail(Exception msg) {
System.err.println("Stream failed: " + msg);
}
@@ -61,8 +62,8 @@ public class XMPPConnection implements Runnable, Stream.StreamListener, Message.
public void onMessage(com.juick.xmpp.Message msg) {
JuickMessage jmsg = (JuickMessage) msg.getChild(JuickMessage.XMLNS);
if (jmsg != null) {
- System.err.println("MID=" + jmsg.MID + "; RID=" + jmsg.RID);
- if (jmsg.MID == 0) {
+ System.err.println("MID=" + jmsg.getMID() + "; RID=" + jmsg.getRID());
+ if (jmsg.getMID() == 0) {
int uid_to = 0;
try {
uid_to = Integer.parseInt(msg.to.Username);
@@ -71,7 +72,7 @@ public class XMPPConnection implements Runnable, Stream.StreamListener, Message.
if (uid_to > 0) {
onJuickPM(uid_to, jmsg);
}
- } else if (jmsg.RID == 0) {
+ } else if (jmsg.getRID() == 0) {
onJuickMessagePost(jmsg);
} else {
onJuickMessageReply(jmsg);
@@ -79,8 +80,10 @@ public class XMPPConnection implements Runnable, Stream.StreamListener, Message.
}
}
+ MessageSerializer messageSerializer = new MessageSerializer();
+
private void onJuickPM(int uid_to, com.juick.Message jmsg) {
- String json = com.juick.json.Message.toJSON(jmsg).toString();
+ String json = messageSerializer.serialize(jmsg).toString();
ByteBuffer bbMsg = buildTextFrame(json);
synchronized (Main.clients) {
@@ -96,13 +99,15 @@ public class XMPPConnection implements Runnable, Stream.StreamListener, Message.
}
private void onJuickMessagePost(com.juick.Message jmsg) {
- String json = com.juick.json.Message.toJSON(jmsg).toString();
+ String json = messageSerializer.serialize(jmsg).toString();
ByteBuffer bbMsg = buildTextFrame(json);
ArrayList<Integer> uids = new ArrayList<Integer>();
- String query = "SELECT suser_id FROM subscr_users WHERE user_id=" + jmsg.User.UID + " AND suser_id NOT IN (SELECT user_id FROM bl_tags INNER JOIN messages_tags USING(tag_id) WHERE message_id=" + jmsg.MID + ")";
+ String query = "SELECT suser_id FROM subscr_users WHERE user_id=" + jmsg.getUser().getUID() +
+ " AND suser_id NOT IN (SELECT user_id FROM bl_tags " +
+ "INNER JOIN messages_tags USING(tag_id) WHERE message_id=" + jmsg.getMID() + ")";
if (jmsg.Privacy < 0) {
- query += " AND suser_id IN (SELECT wl_user_id FROM wl_users WHERE user_id=" + jmsg.User.UID + ")";
+ query += " AND suser_id IN (SELECT wl_user_id FROM wl_users WHERE user_id=" + jmsg.getUser().getUID() + ")";
}
Statement stmt = null;
ResultSet rs = null;
@@ -122,7 +127,8 @@ public class XMPPConnection implements Runnable, Stream.StreamListener, Message.
synchronized (Main.clients) {
for (Iterator<SocketSubscribed> i = Main.clients.iterator(); i.hasNext();) {
SocketSubscribed s = i.next();
- if (s.MID == 0 && s.allReplies == false && ((jmsg.Privacy >= 0 && (s.allMessages || s.UID == jmsg.User.UID)) || uids.contains(s.VUID))) {
+ if (s.MID == 0 && s.allReplies == false && ((jmsg.Privacy >= 0
+ && (s.allMessages || s.UID == jmsg.getUser().getUID())) || uids.contains(s.VUID))) {
if (!s.sendByteBuffer(bbMsg)) {
i.remove();
}
@@ -132,15 +138,15 @@ public class XMPPConnection implements Runnable, Stream.StreamListener, Message.
}
private void onJuickMessageReply(com.juick.Message jmsg) {
- String json = com.juick.json.Message.toJSON(jmsg).toString();
+ String json = messageSerializer.serialize(jmsg).toString();
ByteBuffer bbMsg = buildTextFrame(json);
- int privacy = MessagesQueries.getMessagePrivacy(sql, jmsg.MID);
+ int privacy = MessagesQueries.getMessagePrivacy(sql, jmsg.getMID());
synchronized (Main.clients) {
for (Iterator<SocketSubscribed> i = Main.clients.iterator(); i.hasNext();) {
SocketSubscribed s = i.next();
- if ((privacy >= 0 && s.allReplies) || s.MID == jmsg.MID) {
+ if ((privacy >= 0 && s.allReplies) || s.MID == jmsg.getMID()) {
if (!s.sendByteBuffer(bbMsg)) {
i.remove();
}