diff options
author | Vitaly Takmazov | 2018-05-18 15:33:38 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2018-07-24 14:35:02 +0300 |
commit | 8a0fbbd35c13054a947ea0d27ca117542bc452b9 (patch) | |
tree | 4266fbfaac3f1e268e780bc1cfa3cdc23ccd955c /juick-server/src/main/java/com/juick/server/XMPPConnection.java | |
parent | 3fa18888d5ca53b59c778de3f829870614d05c27 (diff) |
JPA WIP
Diffstat (limited to 'juick-server/src/main/java/com/juick/server/XMPPConnection.java')
-rw-r--r-- | juick-server/src/main/java/com/juick/server/XMPPConnection.java | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/juick-server/src/main/java/com/juick/server/XMPPConnection.java b/juick-server/src/main/java/com/juick/server/XMPPConnection.java index 12e66d40..32b5a552 100644 --- a/juick-server/src/main/java/com/juick/server/XMPPConnection.java +++ b/juick-server/src/main/java/com/juick/server/XMPPConnection.java @@ -363,7 +363,7 @@ public class XMPPConnection implements StanzaListener, NotificationListener { Message mm = new Message(); mm.setTo(Jid.of(userJid)); mm.setType(Message.Type.CHAT); - boolean inroster = pmQueriesService.havePMinRoster(msg.getUser().getUid(), userJid); + boolean inroster = pmQueriesService.havePMinRoster(msg.getUser(), userJid); if (inroster) { mm.setFrom(Jid.of(msg.getUser().getName(), "juick.com", "Juick")); mm.setBody(msg.getText()); @@ -463,7 +463,7 @@ public class XMPPConnection implements StanzaListener, NotificationListener { private void incomingPresence(Presence p) { final String username = p.getTo().getLocal(); final boolean toJuick = username.equals(jid.getLocal()); - + User toUser = userService.getUserByName(username); if (p.getType() == null) { Presence reply = new Presence(); reply.setFrom(p.getTo().asBareJid()); @@ -471,12 +471,7 @@ public class XMPPConnection implements StanzaListener, NotificationListener { reply.setType(Presence.Type.UNSUBSCRIBE); router.send(ClientPresence.from(reply)); } else if (p.getType().equals(Presence.Type.PROBE)) { - int uid_to = 0; - if (!toJuick) { - uid_to = userService.getUIDbyName(username); - } - - if (toJuick || uid_to > 0) { + if (toJuick || !toUser.isAnonymous()) { Presence reply = new Presence(); reply.setFrom(p.getTo().withResource(jid.getResource())); reply.setTo(p.getFrom()); @@ -499,9 +494,8 @@ public class XMPPConnection implements StanzaListener, NotificationListener { if (toJuick) { canSubscribe = true; } else { - int uid_to = userService.getUIDbyName(username); - if (uid_to > 0) { - pmQueriesService.addPMinRoster(uid_to, p.getFrom().asBareJid().toEscapedString()); + if (!toUser.isAnonymous()) { + pmQueriesService.addPMinRoster(toUser, p.getFrom().asBareJid().toEscapedString()); canSubscribe = true; } } @@ -527,9 +521,8 @@ public class XMPPConnection implements StanzaListener, NotificationListener { } } else if (p.getType().equals(Presence.Type.UNSUBSCRIBE)) { if (!toJuick) { - int uid_to = userService.getUIDbyName(username); - if (uid_to > 0) { - pmQueriesService.removePMinRoster(uid_to, p.getFrom().asBareJid().toEscapedString()); + if (!toUser.isAnonymous()) { + pmQueriesService.removePMinRoster(toUser, p.getFrom().asBareJid().toEscapedString()); } } |