diff options
Diffstat (limited to 'src/main/java/de/pixart/messenger/xmpp/stanzas')
3 files changed, 23 insertions, 9 deletions
diff --git a/src/main/java/de/pixart/messenger/xmpp/stanzas/AbstractAcknowledgeableStanza.java b/src/main/java/de/pixart/messenger/xmpp/stanzas/AbstractAcknowledgeableStanza.java index 22d035e6e..e795b40fd 100644 --- a/src/main/java/de/pixart/messenger/xmpp/stanzas/AbstractAcknowledgeableStanza.java +++ b/src/main/java/de/pixart/messenger/xmpp/stanzas/AbstractAcknowledgeableStanza.java @@ -1,6 +1,7 @@ package de.pixart.messenger.xmpp.stanzas; import de.pixart.messenger.xml.Element; +import de.pixart.messenger.xmpp.InvalidJid; abstract public class AbstractAcknowledgeableStanza extends AbstractStanza { @@ -28,4 +29,8 @@ abstract public class AbstractAcknowledgeableStanza extends AbstractStanza { } return null; } + + public boolean valid() { + return InvalidJid.isValid(getFrom()) && InvalidJid.isValid(getTo()); + } } diff --git a/src/main/java/de/pixart/messenger/xmpp/stanzas/AbstractStanza.java b/src/main/java/de/pixart/messenger/xmpp/stanzas/AbstractStanza.java index 58d2a8b68..ee0884aa6 100644 --- a/src/main/java/de/pixart/messenger/xmpp/stanzas/AbstractStanza.java +++ b/src/main/java/de/pixart/messenger/xmpp/stanzas/AbstractStanza.java @@ -31,20 +31,23 @@ public class AbstractStanza extends Element { } public boolean fromServer(final Account account) { - return getFrom() == null - || getFrom().equals(Jid.of(account.getServer())) - || getFrom().equals(account.getJid().asBareJid()) - || getFrom().equals(account.getJid()); + final Jid from = getFrom(); + return from == null + || from.equals(Jid.of(account.getServer())) + || from.equals(account.getJid().asBareJid()) + || from.equals(account.getJid()); } public boolean toServer(final Account account) { - return getTo() == null - || getTo().equals(Jid.of(account.getServer())) - || getTo().equals(account.getJid().asBareJid()) - || getTo().equals(account.getJid()); + final Jid to = getTo(); + return to == null + || to.equals(Jid.of(account.getServer())) + || to.equals(account.getJid().asBareJid()) + || to.equals(account.getJid()); } public boolean fromAccount(final Account account) { - return getFrom() != null && getFrom().asBareJid().equals(account.getJid().asBareJid()); + final Jid from = getFrom(); + return from != null && from.asBareJid().equals(account.getJid().asBareJid()); } } diff --git a/src/main/java/de/pixart/messenger/xmpp/stanzas/IqPacket.java b/src/main/java/de/pixart/messenger/xmpp/stanzas/IqPacket.java index 2efc948f4..5f4e39eca 100644 --- a/src/main/java/de/pixart/messenger/xmpp/stanzas/IqPacket.java +++ b/src/main/java/de/pixart/messenger/xmpp/stanzas/IqPacket.java @@ -66,4 +66,10 @@ public class IqPacket extends AbstractAcknowledgeableStanza { return packet; } + @Override + public boolean valid() { + String id = getId(); + return id != null && super.valid(); + } + } |