diff --git a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/ISession.java b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/ISession.java
index 3089c3b0b4..ede5bc889c 100644
--- a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/ISession.java
+++ b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/ISession.java
@@ -90,19 +90,4 @@ public interface ISession extends IEventPublisher {
* @return The session identifier.
*/
String getSessionId();
-
- /**
- * Get the session identifier of a remote session this session is following.
- *
- * @return The remote session id.
- */
- String getFollowingSessionId();
-
- /**
- * Set the session identifier of a remote session this session is following.
- *
- * @param id
- * The remote session identifier.
- */
- void setFollowingSessionId(String id);
}
diff --git a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/ISharedDisplaySession.java b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/ISharedDisplaySession.java
index 806ffa648f..1867f8f7f7 100644
--- a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/ISharedDisplaySession.java
+++ b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/ISharedDisplaySession.java
@@ -80,14 +80,14 @@ public interface ISharedDisplaySession extends IEventPublisher {
*
* @param subscriber
*/
- void subscribeToInitData(Object subscriber) throws CollaborationException;
+ void subscribeToPeerToPeerData(Object subscriber) throws CollaborationException;
/**
*
* @param subscriber
* @throws CollaborationException
*/
- void unSubscribeToInitData(Object subscriber) throws CollaborationException;
+ void unSubscribeToPeerToPeerData(Object subscriber) throws CollaborationException;
/**
*
diff --git a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/event/IVenueInvitationEvent.java b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/event/IVenueInvitationEvent.java
index a0060e3dd1..47bb337a48 100644
--- a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/event/IVenueInvitationEvent.java
+++ b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/event/IVenueInvitationEvent.java
@@ -51,7 +51,7 @@ public interface IVenueInvitationEvent {
*
* @return
*/
- IQualifiedID getInvitor();
+ IQualifiedID getInviter();
/**
*
@@ -64,4 +64,8 @@ public interface IVenueInvitationEvent {
*/
String getBody();
+ /**
+ * @return The sessionId of the inviter.
+ */
+ String getSessionId();
}
diff --git a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/user/IVenueId.java b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/user/IVenueId.java
new file mode 100644
index 0000000000..de9a5b002f
--- /dev/null
+++ b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/identity/user/IVenueId.java
@@ -0,0 +1,49 @@
+/**
+ * This software was developed and / or modified by Raytheon Company,
+ * pursuant to Contract DG133W-05-CQ-1067 with the US Government.
+ *
+ * U.S. EXPORT CONTROLLED TECHNICAL DATA
+ * This software product contains export-restricted data whose
+ * export/transfer/disclosure is restricted by U.S. law. Dissemination
+ * to non-U.S. persons whether in the United States or abroad requires
+ * an export license or other authorization.
+ *
+ * Contractor Name: Raytheon Company
+ * Contractor Address: 6825 Pine Street, Suite 340
+ * Mail Stop B8
+ * Omaha, NE 68106
+ * 402.291.0100
+ *
+ * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
+ * further licensing information.
+ **/
+package com.raytheon.uf.viz.collaboration.comm.identity.user;
+
+/**
+ * TODO Add Description
+ *
+ *
+ *
+ * SOFTWARE HISTORY
+ *
+ * Date Ticket# Engineer Description
+ * ------------ ---------- ----------- --------------------------
+ * Mar 29, 2012 jkorman Initial creation
+ *
+ *
+ *
+ * @author jkorman
+ * @version 1.0
+ */
+
+public interface IVenueId extends IQualifiedID {
+
+ String getVenueName();
+
+
+ String getDomain();
+
+
+
+
+}
diff --git a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/Tools.java b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/Tools.java
index 66d661b106..1964eda26e 100644
--- a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/Tools.java
+++ b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/Tools.java
@@ -48,7 +48,9 @@ import com.raytheon.uf.viz.collaboration.comm.identity.IPresence;
public abstract class Tools {
- public static final String TAG_INVITE_ID = "[[INVITEID#%s]]%s";
+ public static final String TAG_INVITE = "[[INVITEID#";
+
+ public static final String TAG_INVITE_ID = TAG_INVITE + "%s]]%s";
public static final String PROP_SESSION_ID = "sessionId";
diff --git a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/event/VenueInvitationEvent.java b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/event/VenueInvitationEvent.java
index 69abe946f2..5c81e0b3c4 100644
--- a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/event/VenueInvitationEvent.java
+++ b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/event/VenueInvitationEvent.java
@@ -21,6 +21,7 @@ package com.raytheon.uf.viz.collaboration.comm.provider.event;
import com.raytheon.uf.viz.collaboration.comm.identity.event.IVenueInvitationEvent;
import com.raytheon.uf.viz.collaboration.comm.identity.user.IQualifiedID;
+import com.raytheon.uf.viz.collaboration.comm.provider.Tools;
/**
* TODO Add Description
@@ -49,6 +50,8 @@ public class VenueInvitationEvent implements IVenueInvitationEvent {
private String body;
+ private String sessionId;
+
/**
*
* @param roomId
@@ -62,6 +65,7 @@ public class VenueInvitationEvent implements IVenueInvitationEvent {
this.invitor = invitor;
this.subject = subject;
this.body = body;
+ extractSessionId();
}
/**
@@ -75,10 +79,10 @@ public class VenueInvitationEvent implements IVenueInvitationEvent {
}
/**
- * @see com.raytheon.uf.viz.collaboration.comm.identity.event.IVenueInvitationEvent#getInvitor()
+ * @see com.raytheon.uf.viz.collaboration.comm.identity.event.IVenueInvitationEvent#getInviter()
*/
@Override
- public IQualifiedID getInvitor() {
+ public IQualifiedID getInviter() {
return invitor;
}
@@ -97,5 +101,29 @@ public class VenueInvitationEvent implements IVenueInvitationEvent {
public String getBody() {
return body;
}
+
+ /**
+ * @return the sessionId
+ */
+ public String getSessionId() {
+ return sessionId;
+ }
+ /**
+ * Extract the session identifier from the body of the invitation.
+ */
+ private void extractSessionId() {
+ if (body != null) {
+ if (body.startsWith(Tools.TAG_INVITE)) {
+ int start = Tools.TAG_INVITE.length();
+ // find the end of the invite tag
+ int tagEnd = body.indexOf("]]");
+ if (tagEnd > start) {
+
+ sessionId = body.substring(start, tagEnd);
+ body = body.substring(tagEnd + 2);
+ }
+ }
+ }
+ }
}
diff --git a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/session/BaseSession.java b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/session/BaseSession.java
index 94da96cd79..e0741210ab 100644
--- a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/session/BaseSession.java
+++ b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/session/BaseSession.java
@@ -56,8 +56,6 @@ public abstract class BaseSession implements ISession {
protected final String sessionId;
- private String followingId;
-
private EventBus managerEventBus;
private EventBus eventBus;
@@ -81,8 +79,20 @@ public abstract class BaseSession implements ISession {
*/
protected BaseSession(IContainer container, EventBus externalBus,
SessionManager manager) throws CollaborationException {
+ this(container, externalBus, manager, UUID.randomUUID().toString());
+ }
+
+ /**
+ *
+ * @param container
+ * @param externalBus
+ * @param manager
+ * @param sessionId
+ */
+ protected BaseSession(IContainer container, EventBus externalBus,
+ SessionManager manager, String sessionId) throws CollaborationException {
// Set the session identifier.
- sessionId = UUID.randomUUID().toString();
+ this.sessionId = sessionId;
managerEventBus = externalBus;
eventBus = new EventBus();
connectionContainer = container;
@@ -90,7 +100,7 @@ public abstract class BaseSession implements ISession {
eventSubscribers = new HashMap