diff options
author | Christian Schneppe <christian@pix-art.de> | 2018-05-02 20:39:16 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2018-05-02 20:39:16 +0200 |
commit | 41d726ef73a20e7e7ee1ff81c5f8326aa0e6c7d8 (patch) | |
tree | fc1b190df4275cc753bc869c7f137c0486ba2c91 /src/main/java/de/pixart/messenger/parser/AbstractParser.java | |
parent | 419504eaecd538561307d2b10ef08bdc3a47b137 (diff) |
return InvalidJid object instead of null if Jid can not be parsed
Diffstat (limited to 'src/main/java/de/pixart/messenger/parser/AbstractParser.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/parser/AbstractParser.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/parser/AbstractParser.java b/src/main/java/de/pixart/messenger/parser/AbstractParser.java index 50204cb7b..e0a26c18d 100644 --- a/src/main/java/de/pixart/messenger/parser/AbstractParser.java +++ b/src/main/java/de/pixart/messenger/parser/AbstractParser.java @@ -10,6 +10,7 @@ import de.pixart.messenger.entities.Conversation; import de.pixart.messenger.entities.MucOptions; import de.pixart.messenger.services.XmppConnectionService; import de.pixart.messenger.xml.Element; +import de.pixart.messenger.xmpp.InvalidJid; import de.pixart.messenger.xmpp.stanzas.AbstractStanza; import rocks.xmpp.addr.Jid; @@ -36,7 +37,7 @@ public abstract class AbstractParser { } for (Element child : element.getChildren()) { if ("delay".equals(child.getName()) && "urn:xmpp:delay".equals(child.getNamespace())) { - final Jid f = to == null ? null : child.getAttributeAsJid("from"); + final Jid f = to == null ? null : InvalidJid.getNullForInvalid(child.getAttributeAsJid("from")); if (f != null && (to.asBareJid().equals(f) || to.getDomain().equals(f.toString()))) { continue; } @@ -114,7 +115,9 @@ public abstract class AbstractParser { } Jid realJid = item.getAttributeAsJid("jid"); MucOptions.User user = new MucOptions.User(conference.getMucOptions(), fullJid); - user.setRealJid(realJid); + if (InvalidJid.isValid(realJid)) { + user.setRealJid(realJid); + } user.setAffiliation(affiliation); user.setRole(role); return user; |