From 8a0626ec3f7e1fb0970641016bb9563c66583f3e Mon Sep 17 00:00:00 2001 From: Max Schenkelberg Date: Thu, 14 Jun 2012 14:18:02 -0500 Subject: [PATCH] Issue #697 fixed join issues with GFE Change-Id: Idaaa9782865cd2299ba9fc8e18305df215f1d012 Former-commit-id: dac8374f52ef306c579bf7bd4235f693077219c1 [formerly dac8374f52ef306c579bf7bd4235f693077219c1 [formerly e648206c2e8129b2d63b9309f67e1ce46a1edbf0]] Former-commit-id: 576dbcf340e0ad00a8784c0a591fac5625c98829 Former-commit-id: 475623fe22d7e8fbb5275718910c0403cdbfa45e --- .../dataprovider/SharedEditorsManager.java | 22 +++++++++++++++---- .../ui/editor/CollaborationEditor.java | 10 +++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/cave/com.raytheon.uf.viz.collaboration.display/src/com/raytheon/uf/viz/collaboration/display/roles/dataprovider/SharedEditorsManager.java b/cave/com.raytheon.uf.viz.collaboration.display/src/com/raytheon/uf/viz/collaboration/display/roles/dataprovider/SharedEditorsManager.java index fbd41fe0e4..c0f10cac5a 100644 --- a/cave/com.raytheon.uf.viz.collaboration.display/src/com/raytheon/uf/viz/collaboration/display/roles/dataprovider/SharedEditorsManager.java +++ b/cave/com.raytheon.uf.viz.collaboration.display/src/com/raytheon/uf/viz/collaboration/display/roles/dataprovider/SharedEditorsManager.java @@ -97,19 +97,33 @@ public class SharedEditorsManager implements IRemoteDisplayContainer { for (UserId uid : session.getVenue().getParticipants()) { if (uid.getFQName().equals(userId)) { user = uid; + break; } } if (user != null) { int displayId = event.getDisplayId(); + RemoteDisplay requested = null; for (DisplayData data : displayData.values()) { if (data.displayId == displayId) { - CreateRemoteDisplay creation = new CreateRemoteDisplay(); - creation.setDisplayId(displayId); - creation.setDisplay(createRemoteDisplay(data.display)); - sendEvent(creation); + requested = new RemoteDisplay(data.displayId, + data.display); break; } } + if (requested == null) { + requested = getActiveDisplay(); + if (requested != null) { + ActivateRemoteDisplay activate = new ActivateRemoteDisplay(); + activate.setDisplayId(requested.getDisplayId()); + sendEvent(activate); + } + } else { + CreateRemoteDisplay creation = new CreateRemoteDisplay(); + creation.setDisplayId(requested.getDisplayId()); + creation.setDisplay(createRemoteDisplay(requested + .getDisplay())); + sendEvent(creation); + } } } } diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/editor/CollaborationEditor.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/editor/CollaborationEditor.java index 5a40cb4132..6e0352af09 100644 --- a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/editor/CollaborationEditor.java +++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/editor/CollaborationEditor.java @@ -119,6 +119,16 @@ public class CollaborationEditor extends EditorPart implements @Override public void createPartControl(Composite parent) { paneManager.initializeComponents(paneManager, parent); + + RemoteDisplayRequested request = new RemoteDisplayRequested(); + request.setDisplayId(-1); + request.setUserId(session.getUserID().getFQName()); + try { + session.sendObjectToPeer(session.getCurrentDataProvider(), request); + } catch (CollaborationException e) { + Activator.statusHandler.handle(Priority.PROBLEM, + e.getLocalizedMessage(), e); + } } /*