aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/main/java/com/juick/server/XMPPConnection.java
diff options
context:
space:
mode:
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.java21
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());
}
}