aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/parser/IqParser.java
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2014-11-09 15:20:06 +0100
committerDaniel Gultsch <daniel@gultsch.de>2014-11-09 15:20:06 +0100
commitf65a2188cc8618ff155264ca0b85ed1a1dfa5491 (patch)
tree35cd4d707025252b36f5adcbc6af61545e4f03ec /src/main/java/eu/siacs/conversations/parser/IqParser.java
parent8c325dacf4be4028fbfdc1e175170237227c7e7e (diff)
parent53c7905631a9cee618157d15b06775c5d633f7a5 (diff)
Merge pull request #639 from SamWhited/issue631
Use JID class instead of strings
Diffstat (limited to 'src/main/java/eu/siacs/conversations/parser/IqParser.java')
-rw-r--r--src/main/java/eu/siacs/conversations/parser/IqParser.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/main/java/eu/siacs/conversations/parser/IqParser.java b/src/main/java/eu/siacs/conversations/parser/IqParser.java
index df6754f2..b864329e 100644
--- a/src/main/java/eu/siacs/conversations/parser/IqParser.java
+++ b/src/main/java/eu/siacs/conversations/parser/IqParser.java
@@ -5,6 +5,8 @@ import eu.siacs.conversations.entities.Contact;
import eu.siacs.conversations.services.XmppConnectionService;
import eu.siacs.conversations.xml.Element;
import eu.siacs.conversations.xmpp.OnIqPacketReceived;
+import eu.siacs.conversations.xmpp.jid.InvalidJidException;
+import eu.siacs.conversations.xmpp.jid.Jid;
import eu.siacs.conversations.xmpp.stanzas.IqPacket;
public class IqParser extends AbstractParser implements OnIqPacketReceived {
@@ -20,8 +22,14 @@ public class IqParser extends AbstractParser implements OnIqPacketReceived {
}
for (Element item : query.getChildren()) {
if (item.getName().equals("item")) {
- String jid = item.getAttribute("jid");
- String name = item.getAttribute("name");
+ Jid jid;
+ try {
+ jid = Jid.fromString(item.getAttribute("jid"));
+ } catch (final InvalidJidException e) {
+ // TODO: Handle this?
+ jid = null;
+ }
+ String name = item.getAttribute("name");
String subscription = item.getAttribute("subscription");
Contact contact = account.getRoster().getContact(jid);
if (!contact.getOption(Contact.Options.DIRTY_PUSH)) {
@@ -59,8 +67,8 @@ public class IqParser extends AbstractParser implements OnIqPacketReceived {
@Override
public void onIqPacketReceived(Account account, IqPacket packet) {
if (packet.hasChild("query", "jabber:iq:roster")) {
- String from = packet.getFrom();
- if ((from == null) || (from.equals(account.getJid()))) {
+ final Jid from = packet.getFrom();
+ if ((from == null) || (from.equals(account.getJid()))) {
Element query = packet.findChild("query");
this.rosterItems(account, query);
}