diff options
author | Alex Clayton <alex.clayton@isode.com> | 2016-01-18 12:30:15 (GMT) |
---|---|---|
committer | Alex Clayton <alex.clayton@isode.com> | 2016-01-18 15:45:59 (GMT) |
commit | fa1633e3b4d75a8217459cdc5fe64e9ee5ace65a (patch) | |
tree | b07c9ba91604541db47620f599bced17fdeccc48 /src/com/isode/stroke/jingle/JingleSessionManager.java | |
parent | 72249383639858b1a7947b1afc6b9491ebd82bf8 (diff) | |
download | stroke-fa1633e3b4d75a8217459cdc5fe64e9ee5ace65a.zip stroke-fa1633e3b4d75a8217459cdc5fe64e9ee5ace65a.tar.bz2 |
Some Jingle Fixes
Some fixes to the Jingle classes for the previous patch.
Test-information:
By code inspection.
Ran Unit Tests there were no failures.
Change-Id: I61210dd1ec2c7e0dd11d67a45a0ced63952804c7
Diffstat (limited to 'src/com/isode/stroke/jingle/JingleSessionManager.java')
-rw-r--r-- | src/com/isode/stroke/jingle/JingleSessionManager.java | 40 |
1 files changed, 36 insertions, 4 deletions
diff --git a/src/com/isode/stroke/jingle/JingleSessionManager.java b/src/com/isode/stroke/jingle/JingleSessionManager.java index 284e8cd..85d1280 100644 --- a/src/com/isode/stroke/jingle/JingleSessionManager.java +++ b/src/com/isode/stroke/jingle/JingleSessionManager.java @@ -15,6 +15,7 @@ import java.util.logging.Logger; import java.util.Vector; import java.util.Map; import java.util.HashMap; + import com.isode.stroke.queries.IQRouter; import com.isode.stroke.elements.JingleContentPayload; import com.isode.stroke.jid.JID; @@ -26,12 +27,12 @@ public class JingleSessionManager { private Vector<IncomingJingleSessionHandler> incomingSessionHandlers = new Vector<IncomingJingleSessionHandler>(); private Logger logger_ = Logger.getLogger(this.getClass().getName()); - private class JIDSession { + private static class JIDSession { public JIDSession(final JID initiator, final String session) { this.initiator = initiator; this.session = session; } - public int compareTo(JIDSession other) { + public int compareTo(JIDSession other) { if(other == null) { return -1; } @@ -42,8 +43,39 @@ public class JingleSessionManager { return initiator.compareTo(other.initiator); } } - public JID initiator; - public String session; + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + + ((initiator == null) ? 0 : initiator.hashCode()); + result = prime * result + + ((session == null) ? 0 : session.hashCode()); + return result; + } + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + JIDSession other = (JIDSession) obj; + if (initiator == null) { + if (other.initiator != null) + return false; + } else if (!initiator.equals(other.initiator)) + return false; + if (session == null) { + if (other.session != null) + return false; + } else if (!session.equals(other.session)) + return false; + return true; + } + public final JID initiator; + public final String session; }; private Map<JIDSession, JingleSessionImpl> sessions = new HashMap<JIDSession, JingleSessionImpl>(); |