summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Clayton <alex.clayton@isode.com>2016-01-18 12:30:15 (GMT)
committerAlex Clayton <alex.clayton@isode.com>2016-01-18 15:45:59 (GMT)
commitfa1633e3b4d75a8217459cdc5fe64e9ee5ace65a (patch)
treeb07c9ba91604541db47620f599bced17fdeccc48 /src/com/isode/stroke/jingle/JingleSessionManager.java
parent72249383639858b1a7947b1afc6b9491ebd82bf8 (diff)
downloadstroke-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.java40
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>();