diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/plugin.xml b/cave/com.raytheon.uf.viz.collaboration.ui/plugin.xml
index 48a9ad1acd..b06bfa7795 100644
--- a/cave/com.raytheon.uf.viz.collaboration.ui/plugin.xml
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/plugin.xml
@@ -176,4 +176,8 @@
class="com.raytheon.uf.viz.collaboration.ui.rsc.rendering.WireframeShapeRenderingHandler">
+
+
+
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/data/CollaborationDataManager.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/data/CollaborationDataManager.java
index 58317f6ef2..8992ca0f11 100644
--- a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/data/CollaborationDataManager.java
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/data/CollaborationDataManager.java
@@ -48,6 +48,7 @@ import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.raytheon.uf.viz.collaboration.comm.identity.CollaborationException;
import com.raytheon.uf.viz.collaboration.comm.identity.IPresence;
+import com.raytheon.uf.viz.collaboration.comm.identity.IPresence.Mode;
import com.raytheon.uf.viz.collaboration.comm.identity.IPresence.Type;
import com.raytheon.uf.viz.collaboration.comm.identity.ISession;
import com.raytheon.uf.viz.collaboration.comm.identity.ISharedDisplaySession;
@@ -63,14 +64,12 @@ import com.raytheon.uf.viz.collaboration.comm.identity.roster.IRosterGroup;
import com.raytheon.uf.viz.collaboration.comm.identity.roster.IRosterItem;
import com.raytheon.uf.viz.collaboration.comm.identity.user.IQualifiedID;
import com.raytheon.uf.viz.collaboration.comm.identity.user.SharedDisplayRole;
-import com.raytheon.uf.viz.collaboration.comm.provider.Presence;
import com.raytheon.uf.viz.collaboration.comm.provider.TextMessage;
import com.raytheon.uf.viz.collaboration.comm.provider.roster.RosterEntry;
import com.raytheon.uf.viz.collaboration.comm.provider.session.CollaborationConnection;
import com.raytheon.uf.viz.collaboration.comm.provider.user.UserId;
import com.raytheon.uf.viz.collaboration.ui.SessionColorManager;
import com.raytheon.uf.viz.collaboration.ui.editor.CollaborationEditor;
-import com.raytheon.uf.viz.collaboration.ui.login.LoginData;
import com.raytheon.uf.viz.collaboration.ui.login.LoginDialog;
import com.raytheon.uf.viz.collaboration.ui.session.CollaborationSessionView;
import com.raytheon.uf.viz.collaboration.ui.session.PeerToPeerView;
@@ -102,11 +101,7 @@ public class CollaborationDataManager implements IRosterEventSubscriber {
/**
* The connection to the server.
*/
- private CollaborationConnection sessionManager;
-
- private UserId loginId;
-
- private LoginData loginData;
+ private CollaborationConnection connection;
Shell shell;
@@ -139,21 +134,6 @@ public class CollaborationDataManager implements IRosterEventSubscriber {
return instance;
}
- public LoginData getLoginData() {
- return loginData;
- }
-
- /**
- * Converts the venu's Id into a string that usable for a view's secondary
- * ID. This is the used as the key in the session Map.
- *
- * @param venueId
- * @return sessionId
- */
- public String venueIdToSessionId(String venueId) {
- return venueId.replace(':', ';');
- }
-
/**
* Private constructor to for singleton class.
*/
@@ -166,7 +146,7 @@ public class CollaborationDataManager implements IRosterEventSubscriber {
}
private void populateGroups() {
- IRoster roster = sessionManager.getRosterManager().getRoster();
+ IRoster roster = connection.getRosterManager().getRoster();
for (IRosterGroup rosterGroup : roster.getGroups()) {
groups.add(rosterGroup);
@@ -179,6 +159,9 @@ public class CollaborationDataManager implements IRosterEventSubscriber {
for (IRosterEntry rosterEntry : roster.getEntries()) {
usersMap.put(rosterEntry.getUser(), rosterEntry);
}
+
+ usersMap.put(connection.getUser(),
+ new RosterEntry(connection.getUser()));
}
/**
@@ -219,10 +202,6 @@ public class CollaborationDataManager implements IRosterEventSubscriber {
return display;
}
- public UserId getLoginId() {
- return loginId;
- }
-
public void setLinkCollaboration(boolean state) {
this.linkCollaboration = state;
}
@@ -258,21 +237,20 @@ public class CollaborationDataManager implements IRosterEventSubscriber {
}
LoginDialog dlg = new LoginDialog(shell,
CollaborationDataManager.this);
- loginData = null;
- loginData = (LoginData) dlg.open();
+ CollaborationConnection newConn = null;
+ newConn = (CollaborationConnection) dlg.open();
dlg.close();
- if (loginData != null) {
- sessionManager = dlg.getSessionManager();
- loginId = loginData.getAccount();
+ if (newConn != null) {
+ connection = newConn;
}
}
});
if (isConnected()) {
// Register handlers and events for the new sessionManager.
- sessionManager.registerEventHandler(this);
+ connection.registerEventHandler(this);
try {
- ISession p2pSession = sessionManager.getPeerToPeerSession();
+ ISession p2pSession = connection.getPeerToPeerSession();
p2pSession.registerEventHandler(this);
} catch (CollaborationException e) {
// TODO Auto-generated catch block. Please revise as
@@ -290,9 +268,9 @@ public class CollaborationDataManager implements IRosterEventSubscriber {
@Override
public void postShutdown(IWorkbench workbench) {
- if (sessionManager != null) {
+ if (connection != null) {
try {
- ISession p2pSession = sessionManager
+ ISession p2pSession = connection
.getPeerToPeerSession();
p2pSession.unRegisterEventHandler(this);
} catch (CollaborationException e) {
@@ -301,32 +279,25 @@ public class CollaborationDataManager implements IRosterEventSubscriber {
statusHandler.handle(Priority.PROBLEM,
e.getLocalizedMessage(), e);
}
- sessionManager.unRegisterEventHandler(this);
- sessionManager.closeManager();
- sessionManager = null;
+ connection.unRegisterEventHandler(this);
+ connection.closeManager();
+ connection = null;
}
}
};
PlatformUI.getWorkbench().addWorkbenchListener(wbListener);
- IPresence presence = sessionManager.getPresence();
- if (sessionManager.getPresence() == null) {
- presence = new Presence();
- presence.setProperty("dummy", "dummy");
- sessionManager.setPresence(presence);
- }
- fireModifiedPresence();
populateGroups();
}
}
- return sessionManager;
+ return connection;
}
synchronized public void closeManager() {
- if (sessionManager != null) {
+ if (connection != null) {
// The close unRegisters the event handler
- sessionManager.closeManager();
- sessionManager = null;
+ connection.closeManager();
+ connection = null;
}
if (wbListener != null) {
PlatformUI.getWorkbench().removeWorkbenchListener(wbListener);
@@ -487,7 +458,7 @@ public class CollaborationDataManager implements IRosterEventSubscriber {
}
public boolean isConnected() {
- return sessionManager != null && sessionManager.isConnected();
+ return connection != null && connection.isConnected();
}
@Subscribe
@@ -530,7 +501,7 @@ public class CollaborationDataManager implements IRosterEventSubscriber {
return;
}
try {
- IVenueSession session = sessionManager
+ IVenueSession session = connection
.joinCollaborationVenue(invitation);
String sessionId = session.getSessionId();
sessionsMap.put(sessionId, session);
@@ -615,14 +586,18 @@ public class CollaborationDataManager implements IRosterEventSubscriber {
});
}
- public void fireModifiedPresence() {
- IPresence presence = sessionManager.getPresence();
- presence.setMode(loginData.getMode());
+ public void fireModifiedPresence(Mode mode, String msg) {
+ IPresence presence = connection.getPresence();
+ if (mode != null) {
+ presence.setMode(mode);
+ }
presence.setType(Type.AVAILABLE);
- presence.setStatusMessage(loginData.getModeMessage());
+ if (msg != null) {
+ presence.setStatusMessage(msg);
+ }
try {
- sessionManager.getAccountManager().sendPresence(presence);
- UserId id = sessionManager.getUser();
+ connection.getAccountManager().sendPresence(presence);
+ UserId id = connection.getUser();
RosterEntry rosterEntry = new RosterEntry(id);
rosterEntry.setPresence(presence);
handleModifiedPresence(rosterEntry);
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/Activator.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/Activator.java
index 0ee9725eb0..89d2c00529 100644
--- a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/Activator.java
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/Activator.java
@@ -20,7 +20,10 @@ package com.raytheon.uf.viz.collaboration.ui;
* further licensing information.
**/
+import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.eclipse.jface.preference.IPersistentPreferenceStore;
import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.ui.preferences.ScopedPreferenceStore;
import org.osgi.framework.BundleContext;
import com.raytheon.uf.common.status.IUFStatusHandler;
@@ -48,11 +51,13 @@ public class Activator extends AbstractUIPlugin {
.getHandler(Activator.class);
// The plug-in ID
- public static final String PLUGIN_ID = "com.raytheon.uf.viz.collaboration"; //$NON-NLS-1$
+ public static final String PLUGIN_ID = "com.raytheon.uf.viz.collaboration.ui"; //$NON-NLS-1$
// The shared instance
private static Activator plugin;
+ private ScopedPreferenceStore prefs;
+
/**
* The constructor
*/
@@ -80,6 +85,7 @@ public class Activator extends AbstractUIPlugin {
*/
public void stop(BundleContext context) throws Exception {
plugin = null;
+ this.prefs.save();
super.stop(context);
}
@@ -92,4 +98,13 @@ public class Activator extends AbstractUIPlugin {
return plugin;
}
+ @Override
+ public IPersistentPreferenceStore getPreferenceStore() {
+ if (prefs == null) {
+ prefs = new ScopedPreferenceStore(new InstanceScope(), PLUGIN_ID);
+ }
+
+ return prefs;
+ }
+
}
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/ChangePasswordDialog.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/ChangePasswordDialog.java
index 183e2935d1..49251fbc8d 100644
--- a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/ChangePasswordDialog.java
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/ChangePasswordDialog.java
@@ -73,7 +73,7 @@ public class ChangePasswordDialog extends CaveSWTDialog {
private Control createDialogArea(Composite parent) {
CollaborationDataManager manager = CollaborationDataManager
.getInstance();
- UserId user = manager.getLoginId();
+ UserId user = manager.getCollaborationConnection().getUser();
Composite body = new Composite(parent, SWT.NONE);
body.setLayout(new GridLayout(2, false));
// body.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/CollaborationGroupView.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/CollaborationGroupView.java
index 42ff820ffa..e05a6a3774 100644
--- a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/CollaborationGroupView.java
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/CollaborationGroupView.java
@@ -20,6 +20,7 @@ package com.raytheon.uf.viz.collaboration.ui;
* further licensing information.
**/
+import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -76,6 +77,7 @@ import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.raytheon.uf.viz.collaboration.comm.identity.CollaborationException;
import com.raytheon.uf.viz.collaboration.comm.identity.IPresence;
+import com.raytheon.uf.viz.collaboration.comm.identity.IPresence.Mode;
import com.raytheon.uf.viz.collaboration.comm.identity.IPresence.Type;
import com.raytheon.uf.viz.collaboration.comm.identity.ISession;
import com.raytheon.uf.viz.collaboration.comm.identity.ISharedDisplaySession;
@@ -98,8 +100,7 @@ import com.raytheon.uf.viz.collaboration.data.SessionGroupContainer;
import com.raytheon.uf.viz.collaboration.data.SharedDisplaySessionMgr;
import com.raytheon.uf.viz.collaboration.ui.editor.CollaborationEditor;
import com.raytheon.uf.viz.collaboration.ui.login.ChangeStatusDialog;
-import com.raytheon.uf.viz.collaboration.ui.login.LoginData;
-import com.raytheon.uf.viz.collaboration.ui.login.LoginDialog;
+import com.raytheon.uf.viz.collaboration.ui.prefs.CollabPrefConstants;
import com.raytheon.uf.viz.collaboration.ui.session.AbstractSessionView;
import com.raytheon.uf.viz.collaboration.ui.session.CollaborationSessionView;
import com.raytheon.uf.viz.collaboration.ui.session.PeerToPeerView;
@@ -350,7 +351,9 @@ public class CollaborationGroupView extends ViewPart implements IPartListener {
changeStatusAction = new Action("Change Status",
Action.AS_DROP_DOWN_MENU) {
public void run() {
- changeStatus(getId());
+ Activator.getDefault().getPreferenceStore()
+ .setValue(CollabPrefConstants.P_STATUS, this.getId());
+ changeStatus();
};
};
changeStatusAction.setEnabled(false);
@@ -433,24 +436,15 @@ public class CollaborationGroupView extends ViewPart implements IPartListener {
ChangeStatusDialog dialog = new ChangeStatusDialog(Display.getCurrent()
.getActiveShell());
dialog.open();
-
- LoginData loginData = (LoginData) dialog.getReturnValue();
- if (loginData != null) {
- CollaborationDataManager.getInstance().fireModifiedPresence();
- }
+ changeStatus();
}
- private void changeStatus(String status) {
- CollaborationDataManager manager = CollaborationDataManager
- .getInstance();
- LoginData loginData = manager.getLoginData();
- int index = Integer.parseInt(status);
- IPresence.Mode mode = CollaborationUtils.statusModes[index];
- if (mode != loginData.getMode()) {
- loginData.setMode(mode);
- manager.fireModifiedPresence();
- LoginDialog.saveUserLoginData(loginData);
- }
+ private void changeStatus() {
+ Mode mode = Mode.valueOf(Activator.getDefault().getPreferenceStore()
+ .getString(CollabPrefConstants.P_STATUS));
+ String msg = Activator.getDefault().getPreferenceStore()
+ .getString(CollabPrefConstants.P_MESSAGE);
+ CollaborationDataManager.getInstance().fireModifiedPresence(mode, msg);
}
/**
@@ -489,6 +483,12 @@ public class CollaborationGroupView extends ViewPart implements IPartListener {
.getActivePage().hideEditor(ref);
}
}
+ try {
+ Activator.getDefault().getPreferenceStore().save();
+ } catch (IOException e) {
+ statusHandler.handle(Priority.WARN,
+ "Unable to save preferences", e);
+ }
CollaborationDataManager.getInstance().closeManager();
}
}
@@ -543,7 +543,7 @@ public class CollaborationGroupView extends ViewPart implements IPartListener {
changeStatusAction.run();
};
};
- action.setId(Integer.toString(index));
+ action.setId(mode.toString());
ActionContributionItem item = new ActionContributionItem(action);
action.setImageDescriptor(IconUtil.getImageDescriptor(Activator
.getDefault().getBundle(), mode.name().toLowerCase()
@@ -934,7 +934,7 @@ public class CollaborationGroupView extends ViewPart implements IPartListener {
// make the first thing to show up in the list, which happens to be the
// user's name and gives the user options to modify status and other
// things
- UserId user = manager.getLoginId();
+ UserId user = manager.getCollaborationConnection().getUser();
topLevel.addObject(user);
activeSessionGroup = new SessionGroupContainer();
@@ -1124,8 +1124,9 @@ public class CollaborationGroupView extends ViewPart implements IPartListener {
IRosterEntry user = (IRosterEntry) node;
if (user.getPresence().getType() == Type.AVAILABLE) {
UserId loginUserId = CollaborationDataManager
- .getInstance().getLoginId();
- if (loginUserId.equals(user) == false) {
+ .getInstance().getCollaborationConnection()
+ .getUser();
+ if (!loginUserId.equals(user)) {
createP2PChat(user.getUser());
}
}
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/CollaborationUtils.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/CollaborationUtils.java
index e893ec5843..17b0e6343d 100644
--- a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/CollaborationUtils.java
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/CollaborationUtils.java
@@ -57,21 +57,6 @@ public class CollaborationUtils {
private static final String PREFIX_CONFERENCE = "conference.";
- /**
- * Get the statusModes' index for desired mode.
- *
- * @param mode
- * @return index - the mode's index or -1 if not in statusModes
- */
- public static int statusModesIndex(IPresence.Mode mode) {
- for (int index = 0; index < statusModes.length; ++index) {
- if (mode.equals(statusModes[index])) {
- return index;
- }
- }
- return -1;
- }
-
/**
* Get an image associated with the node.
*
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/login/ChangeStatusDialog.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/login/ChangeStatusDialog.java
index c0705fe382..b142961abb 100644
--- a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/login/ChangeStatusDialog.java
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/login/ChangeStatusDialog.java
@@ -21,6 +21,7 @@ package com.raytheon.uf.viz.collaboration.ui.login;
**/
import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -35,8 +36,10 @@ import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import com.raytheon.uf.viz.collaboration.comm.identity.IPresence;
-import com.raytheon.uf.viz.collaboration.data.CollaborationDataManager;
+import com.raytheon.uf.viz.collaboration.comm.identity.IPresence.Mode;
+import com.raytheon.uf.viz.collaboration.ui.Activator;
import com.raytheon.uf.viz.collaboration.ui.CollaborationUtils;
+import com.raytheon.uf.viz.collaboration.ui.prefs.CollabPrefConstants;
import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
/**
@@ -120,14 +123,13 @@ public class ChangeStatusDialog extends CaveSWTDialog {
@Override
protected void preOpened() {
super.preOpened();
- LoginData loginData = CollaborationDataManager.getInstance()
- .getLoginData();
- userLabel.setText(loginData.getAccount().getFQName());
- statusCombo.select(CollaborationUtils.statusModesIndex(loginData
- .getMode()));
- statusCombo.select(CollaborationUtils.statusModesIndex(loginData
- .getMode()));
- messageTF.setText(loginData.getModeMessage());
+ IPreferenceStore prefStore = Activator.getDefault()
+ .getPreferenceStore();
+ userLabel.setText(prefStore.getString(CollabPrefConstants.P_USERNAME)
+ + "@" + prefStore.getString(CollabPrefConstants.P_SERVER));
+ statusCombo.select(statusCombo.indexOf(prefStore
+ .getString(CollabPrefConstants.P_STATUS)));
+ messageTF.setText(prefStore.getString(CollabPrefConstants.P_MESSAGE));
messageTF.selectAll();
statusCombo.setFocus();
}
@@ -179,26 +181,15 @@ public class ChangeStatusDialog extends CaveSWTDialog {
if (val != IDialogConstants.OK_ID) {
setReturnValue(null);
} else {
- LoginData loginData = CollaborationDataManager
- .getInstance().getLoginData();
- boolean modified = false;
- IPresence.Mode mode = CollaborationUtils.statusModes[statusCombo
- .getSelectionIndex()];
- if (mode != loginData.getMode()) {
- modified = true;
- }
+ IPresence.Mode mode = Mode.valueOf(statusCombo
+ .getItem(statusCombo.getSelectionIndex()));
String modeMessage = messageTF.getText().trim();
- if (modeMessage.equals(loginData.getModeMessage()) == false) {
- modified = true;
- }
- if (modified) {
- loginData.setMode(mode);
- loginData.setModeMessage(modeMessage);
- LoginDialog.saveUserLoginData(loginData);
- setReturnValue(loginData);
- } else {
- setReturnValue(null);
- }
+ IPreferenceStore prefStore = Activator.getDefault()
+ .getPreferenceStore();
+ prefStore.setValue(CollabPrefConstants.P_STATUS,
+ mode.toString());
+ prefStore.setValue(CollabPrefConstants.P_MESSAGE,
+ modeMessage);
}
ChangeStatusDialog.this.getShell().dispose();
}
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/login/LoginData.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/login/LoginData.java
deleted file mode 100644
index cf3fd4f035..0000000000
--- a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/login/LoginData.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package com.raytheon.uf.viz.collaboration.ui.login;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import com.raytheon.uf.common.serialization.ISerializableObject;
-import com.raytheon.uf.viz.collaboration.comm.identity.IPresence;
-import com.raytheon.uf.viz.collaboration.comm.provider.user.UserId;
-
-/**
- * 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.
- **/
-
-/**
- * Data class that provides log on information. All but the password may be
- * saved in a localized file.
- *
- *
- *
- * SOFTWARE HISTORY
- *
- * Date Ticket# Engineer Description
- * ------------ ---------- ----------- --------------------------
- * Feb 16, 2012 rferrel Initial creation
- *
- *
- *
- * @author rferrel
- * @version 1.0
- */
-@XmlRootElement(name = "CollaborationLogon")
-@XmlAccessorType(XmlAccessType.NONE)
-public class LoginData implements ISerializableObject {
- @XmlElement(name = "user")
- private String user;
-
- @XmlElement(name = "server")
- private String server;
-
- private transient String password;
-
- @XmlElement(name = "mode")
- private IPresence.Mode mode;
-
- @XmlElement(name = "modeMessage")
- private String modeMessage;
-
- public LoginData() {
- this.user = "";
- this.server = "";
- this.password = "";
- this.mode = IPresence.Mode.AVAILABLE;
- this.modeMessage = "";
- }
-
- public String getUser() {
- return user;
- }
-
- public String getPassword() {
- return password;
- }
-
- public void clearPassword() {
- password = null;
- }
-
- public IPresence.Mode getMode() {
- return mode;
- }
-
- public String getServer() {
- return server;
- }
-
- public String getModeMessage() {
- return modeMessage;
- }
-
- public UserId getAccount() {
- return new UserId(user, server);
- }
-
- public void setUser(String user) {
- this.user = user;
- }
-
- public void setServer(String server) {
- this.server = server;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- public void setMode(IPresence.Mode mode) {
- this.mode = mode;
- }
-
- public void setModeMessage(String statusMessage) {
- this.modeMessage = statusMessage;
- }
-
- public String toString() {
- return "userId: \"" + user + "\", server \"" + server + "\", mode:\""
- + mode.toString() + "\", modeMessage: \"" + modeMessage
- + "\", pw: "
- + ((password == null) ? "null" : password.length());
- }
-}
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/login/LoginDialog.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/login/LoginDialog.java
index b24b09992c..abbdead0b6 100644
--- a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/login/LoginDialog.java
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/login/LoginDialog.java
@@ -20,14 +20,12 @@ package com.raytheon.uf.viz.collaboration.ui.login;
* further licensing information.
**/
-import java.io.File;
-import java.io.FileNotFoundException;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.JAXB;
-
import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.preference.IPersistentPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -43,21 +41,18 @@ import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
-import com.raytheon.uf.common.localization.IPathManager;
-import com.raytheon.uf.common.localization.LocalizationContext;
-import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
-import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
-import com.raytheon.uf.common.localization.LocalizationFile;
-import com.raytheon.uf.common.localization.PathManagerFactory;
-import com.raytheon.uf.common.localization.exception.LocalizationException;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.raytheon.uf.viz.collaboration.comm.identity.IPresence;
+import com.raytheon.uf.viz.collaboration.comm.identity.IPresence.Type;
import com.raytheon.uf.viz.collaboration.comm.identity.event.IRosterEventSubscriber;
+import com.raytheon.uf.viz.collaboration.comm.provider.Presence;
import com.raytheon.uf.viz.collaboration.comm.provider.session.CollaborationConnection;
+import com.raytheon.uf.viz.collaboration.comm.provider.user.UserId;
+import com.raytheon.uf.viz.collaboration.ui.Activator;
import com.raytheon.uf.viz.collaboration.ui.CollaborationUtils;
-import com.raytheon.uf.viz.core.localization.LocalizationManager;
+import com.raytheon.uf.viz.collaboration.ui.prefs.CollabPrefConstants;
import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
/**
@@ -77,13 +72,10 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
* @version 1.0
*/
public class LoginDialog extends CaveSWTDialog {
+
private static final transient IUFStatusHandler statusHandler = UFStatus
.getHandler(LoginDialog.class);
- private static final String LOGIN_FILE_NAME = "collaboration"
- + File.separator + "config" + File.separator + "gui"
- + File.separator + "LoginData.xml";
-
private Text userTF;
private Text serverTF;
@@ -98,23 +90,22 @@ public class LoginDialog extends CaveSWTDialog {
private Button logOnButton;
- private String DEFAULT_SERVER = "awipscm.omaha.us.ray.com";
-
private Control[] noServerList;
private Control[] withServerList;
- private LoginData loginData;
-
private IRosterEventSubscriber rosterEventSubscriber;
private CollaborationConnection sessionManager;
+ private IPersistentPreferenceStore prefStore;
+
public LoginDialog(Shell parentShell,
IRosterEventSubscriber rosterEventSubscriber) {
super(parentShell, SWT.DIALOG_TRIM);
setText("Collaboration Server Login");
this.rosterEventSubscriber = rosterEventSubscriber;
+ this.prefStore = Activator.getDefault().getPreferenceStore();
}
/**
@@ -141,7 +132,6 @@ public class LoginDialog extends CaveSWTDialog {
// Set minimum width one time and the fill will handle the other fields.
gd.minimumWidth = 200;
serverTF.setLayoutData(gd);
- serverTF.setText(DEFAULT_SERVER);
serverTF.setEditable(false);
serverTF.setBackground(parent.getBackground());
serverButton = new Button(body, SWT.PUSH);
@@ -160,12 +150,7 @@ public class LoginDialog extends CaveSWTDialog {
serverTF.setEditable(false);
serverTF.setBackground(serverTF.getParent().getBackground());
String server = serverTF.getText().trim();
- if (server.length() == 0) {
- serverTF.setText(DEFAULT_SERVER);
- } else {
- serverTF.setText(server);
- DEFAULT_SERVER = server;
- }
+ serverTF.setText(server);
serverTF.clearSelection();
serverTF.getParent().setTabList(noServerList);
logOnButton.setEnabled(true);
@@ -259,13 +244,12 @@ public class LoginDialog extends CaveSWTDialog {
@Override
protected void preOpened() {
super.preOpened();
- this.loginData = LoginDialog.openUserLoginData();
- userTF.setText(loginData.getUser());
- serverTF.setText(loginData.getServer());
+ userTF.setText(prefStore.getString(CollabPrefConstants.P_USERNAME));
+ serverTF.setText(prefStore.getString(CollabPrefConstants.P_SERVER));
- statusCombo.select(CollaborationUtils.statusModesIndex(loginData
- .getMode()));
- messageTF.setText(loginData.getModeMessage());
+ statusCombo.select(statusCombo.indexOf(prefStore
+ .getString(CollabPrefConstants.P_STATUS)));
+ messageTF.setText(prefStore.getString(CollabPrefConstants.P_MESSAGE));
userTF.selectAll();
userTF.setFocus();
}
@@ -349,38 +333,31 @@ public class LoginDialog extends CaveSWTDialog {
passwordTF.setText("");
}
if (focusField == null) {
- boolean doSaveLoginData = false;
- if (!loginData.getUser().equals(user)) {
- doSaveLoginData = true;
- loginData.setUser(user);
- }
- if (!loginData.getServer().equals(server)) {
- doSaveLoginData = true;
- loginData.setServer(server);
- }
- loginData.setPassword(password);
- if (!loginData.getMode().equals(mode)) {
- doSaveLoginData = true;
- loginData.setMode(mode);
- }
- if (!loginData.getModeMessage().equals(modeMessage)) {
- doSaveLoginData = true;
- loginData.setModeMessage(modeMessage);
- }
- if (doSaveLoginData) {
- LoginDialog.saveUserLoginData(loginData);
+ prefStore
+ .setValue(CollabPrefConstants.P_SERVER, server);
+ prefStore
+ .setValue(CollabPrefConstants.P_USERNAME, user);
+ prefStore.setValue(CollabPrefConstants.P_STATUS,
+ mode.toString());
+ prefStore.setValue(CollabPrefConstants.P_MESSAGE,
+ modeMessage);
+ try {
+ prefStore.save();
+ } catch (IOException e) {
+ statusHandler.handle(Priority.WARN,
+ "Unable to save login preferences", e);
}
- // loginData = new LoginData(user, server, password,
- // CollaborationUtils.statusModes[statusCombo
- // .getSelectionIndex()], messageTF
- // .getText().trim());
+ IPresence initialPres = new Presence();
+ initialPres.setMode(mode);
+ initialPres.setType(Type.AVAILABLE);
+ initialPres.setStatusMessage(modeMessage);
+
try {
sessionManager = new CollaborationConnection(
- loginData.getAccount(), loginData
- .getPassword(),
- rosterEventSubscriber);
- setReturnValue(loginData);
+ new UserId(user, server), password,
+ rosterEventSubscriber, initialPres);
+ setReturnValue(sessionManager);
close();
} catch (Exception e) {
if (focusField == null) {
@@ -421,69 +398,6 @@ public class LoginDialog extends CaveSWTDialog {
return button;
}
- public static LoginData openUserLoginData() {
- LoginData loginData = null;
- IPathManager pm = PathManagerFactory.getPathManager();
- File fname = pm.getStaticFile(LOGIN_FILE_NAME);
- try {
- if (fname != null) {
- loginData = JAXB.unmarshal(fname, LoginData.class);
- }
- } catch (RuntimeException e) {
- statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e);
- } finally {
- if (loginData == null) {
- loginData = new LoginData();
- }
- }
- return loginData;
- }
-
- public static void saveUserLoginData(LoginData loginData) {
- try {
- LocalizationFile lFile = getFile(LOGIN_FILE_NAME);
- File file = lFile.getFile(false);
- file.getParentFile().mkdirs();
- JAXB.marshal(loginData, file);
- lFile.save();
- } catch (FileNotFoundException ex) {
- statusHandler
- .handle(Priority.PROBLEM, ex.getLocalizedMessage(), ex);
- } catch (LocalizationException e) {
- // TODO Auto-generated catch block. Please revise as appropriate.
- statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e);
- }
- }
-
- /**
- * Obtains a localization file for desired file name.
- *
- * @param filename
- * @return lFile
- * @throws FileNotFoundException
- */
- private static LocalizationFile getFile(String filename)
- throws FileNotFoundException {
- IPathManager pm = PathManagerFactory.getPathManager();
- LocalizationContext context = pm.getContext(
- LocalizationType.CAVE_STATIC, LocalizationLevel.USER);
- LocalizationFile lFile = pm.getLocalizationFile(context, filename);
- if (lFile == null) {
- String user = LocalizationManager.getInstance().getCurrentUser();
- throw new FileNotFoundException("Unable to find \"" + filename
- + "\" under the directory for user " + user + ".");
-
- }
- return lFile;
- }
-
- /**
- * @return the loginData
- */
- public LoginData getLoginData() {
- return loginData;
- }
-
/**
* @return the sessionManager
*/
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/prefs/CollabPrefConstants.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/prefs/CollabPrefConstants.java
new file mode 100644
index 0000000000..c5dbff7f73
--- /dev/null
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/prefs/CollabPrefConstants.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.ui.prefs;
+
+/**
+ * TODO Add Description
+ *
+ *
+ *
+ * SOFTWARE HISTORY
+ *
+ * Date Ticket# Engineer Description
+ * ------------ ---------- ----------- --------------------------
+ * Apr 24, 2012 njensen Initial creation
+ *
+ *
+ *
+ * @author njensen
+ * @version 1.0
+ */
+
+public class CollabPrefConstants {
+
+ public static final String P_SERVER = "collaborationServer";
+
+ public static final String P_USERNAME = "username";
+
+ public static final String P_STATUS = "status";
+
+ public static final String P_MESSAGE = "message";
+
+}
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/prefs/CollabPrefInitializer.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/prefs/CollabPrefInitializer.java
new file mode 100644
index 0000000000..e3b1eaf82e
--- /dev/null
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/prefs/CollabPrefInitializer.java
@@ -0,0 +1,68 @@
+/**
+ * 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.ui.prefs;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.jface.preference.IPreferenceStore;
+
+import com.raytheon.uf.viz.collaboration.comm.identity.IPresence.Mode;
+import com.raytheon.uf.viz.collaboration.ui.Activator;
+
+/**
+ * TODO Add Description
+ *
+ *
+ *
+ * SOFTWARE HISTORY
+ *
+ * Date Ticket# Engineer Description
+ * ------------ ---------- ----------- --------------------------
+ * Apr 24, 2012 njensen Initial creation
+ *
+ *
+ *
+ * @author njensen
+ * @version 1.0
+ */
+
+public class CollabPrefInitializer extends AbstractPreferenceInitializer {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#
+ * initializeDefaultPreferences()
+ */
+ @Override
+ public void initializeDefaultPreferences() {
+ IPreferenceStore store = Activator.getDefault().getPreferenceStore();
+
+ store.setDefault(CollabPrefConstants.P_SERVER, "");
+
+ // TODO better default?
+ store.setDefault(CollabPrefConstants.P_USERNAME,
+ System.getProperty("user.name"));
+
+ store.setDefault(CollabPrefConstants.P_STATUS,
+ Mode.AVAILABLE.toString());
+ store.setDefault(CollabPrefConstants.P_MESSAGE, "");
+ }
+
+}
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/role/DataProviderEventController.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/role/DataProviderEventController.java
index 497bb518dc..25c09bad26 100644
--- a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/role/DataProviderEventController.java
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/role/DataProviderEventController.java
@@ -95,11 +95,12 @@ public class DataProviderEventController extends AbstractRoleEventController {
@Subscribe
public void participantChanged(IVenueParticipantEvent event) {
- if (event.getEventType().equals(ParticipantEventType.ARRIVED)) {
- // TODO this seems to trigger when you create the room, in which
- // case you don't need to send it for yourself
- // TODO instead of going to active editor, should get ones
- // specifically shared with this session
+ if (event.getEventType().equals(ParticipantEventType.ARRIVED)
+ && !event.getParticipant().equals(session.getUserID())) {
+ // TODO send over the one that is currently active, not the one
+ SharedDisplaySessionMgr
+ .getSessionContainer(this.session.getSessionId())
+ .getSharedEditors().get(0);
AbstractEditor editor = EditorUtil
.getActiveEditorAs(AbstractEditor.class);
SharedEditorData se = EditorSetup.extractSharedEditorData(editor);
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/session/PeerToPeerView.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/session/PeerToPeerView.java
index a88b931ce3..f06ae89b4e 100644
--- a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/session/PeerToPeerView.java
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/session/PeerToPeerView.java
@@ -115,8 +115,8 @@ public class PeerToPeerView extends AbstractSessionView {
IPeerToPeer p2p = (IPeerToPeer) manager
.getCollaborationConnection().getPeerToPeerSession();
p2p.sendPeerToPeer(peer, message);
- appendMessage(manager.getLoginId(), System.currentTimeMillis(),
- message);
+ appendMessage(manager.getCollaborationConnection().getUser(),
+ System.currentTimeMillis(), message);
} catch (CollaborationException e) {
statusHandler.handle(Priority.PROBLEM,
"Unable to send message to " + peer.getName(), e);
@@ -127,7 +127,8 @@ public class PeerToPeerView extends AbstractSessionView {
protected void styleAndAppendText(StringBuilder sb, int offset,
String name, UserId userId, List ranges) {
Color color = null;
- if (!userId.equals(CollaborationDataManager.getInstance().getLoginId())) {
+ if (!userId.equals(CollaborationDataManager.getInstance()
+ .getCollaborationConnection().getUser())) {
color = chatterColor;
} else {
color = userColor;
diff --git a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/telestrator/CollaborationDrawingLayer.java b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/telestrator/CollaborationDrawingLayer.java
index 8075ce85c9..c6537235e5 100644
--- a/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/telestrator/CollaborationDrawingLayer.java
+++ b/cave/com.raytheon.uf.viz.collaboration.ui/src/com/raytheon/uf/viz/collaboration/ui/telestrator/CollaborationDrawingLayer.java
@@ -38,7 +38,6 @@ import com.raytheon.uf.viz.collaboration.data.CollaborationDataManager;
import com.raytheon.uf.viz.collaboration.data.SharedDisplaySessionMgr;
import com.raytheon.uf.viz.collaboration.ui.ColorChangeEvent;
import com.raytheon.uf.viz.collaboration.ui.SessionColorManager;
-import com.raytheon.uf.viz.collaboration.ui.login.LoginData;
import com.raytheon.uf.viz.collaboration.ui.telestrator.event.CollaborationDrawingEvent;
import com.raytheon.uf.viz.collaboration.ui.telestrator.event.CollaborationDrawingEvent.CollaborationEventType;
import com.raytheon.uf.viz.core.IGraphicsTarget;
@@ -89,6 +88,8 @@ public class CollaborationDrawingLayer extends DrawingLayer {
private String sessionId;
+ private UserId userId;
+
private SessionColorManager colorManager;
private IWireframeShape tempRemoteShape = null;
@@ -109,6 +110,8 @@ public class CollaborationDrawingLayer extends DrawingLayer {
for (String str : mgr.getSessions().keySet()) {
mgr.getSession(str).registerEventHandler(this);
}
+ userId = mgr.getCollaborationConnection().getUser();
+ ;
}
/*
@@ -134,9 +137,7 @@ public class CollaborationDrawingLayer extends DrawingLayer {
.synchronizedMultimap(this.deletedCollaboratorShapes);
colorManager = SharedDisplaySessionMgr.getSessionContainer(sessionId)
.getColorManager();
- LoginData data = CollaborationDataManager.getInstance().getLoginData();
- UserId id = new UserId(data.getUser(), data.getServer());
- color = colorManager.getColors().get(id);
+ color = colorManager.getColors().get(userId);
}
/*
@@ -367,8 +368,6 @@ public class CollaborationDrawingLayer extends DrawingLayer {
super.undoAdd();
CollaborationDrawingEvent event = new CollaborationDrawingEvent();
event.setType(CollaborationEventType.UNDO);
- LoginData data = CollaborationDataManager.getInstance().getLoginData();
- UserId userId = new UserId(data.getUser(), data.getServer());
event.setUserName(userId);
sendGenericEvent(event);
}
@@ -383,8 +382,6 @@ public class CollaborationDrawingLayer extends DrawingLayer {
super.redoAdd();
CollaborationDrawingEvent event = new CollaborationDrawingEvent();
event.setType(CollaborationEventType.REDO);
- LoginData data = CollaborationDataManager.getInstance().getLoginData();
- UserId userId = new UserId(data.getUser(), data.getServer());
event.setUserName(userId);
sendGenericEvent(event);
}
@@ -401,8 +398,6 @@ public class CollaborationDrawingLayer extends DrawingLayer {
CollaborationDrawingEvent eObject = new CollaborationDrawingEvent();
eObject.setType(CollaborationEventType.ERASE);
eObject.setContainer(container);
- LoginData data = CollaborationDataManager.getInstance().getLoginData();
- UserId userId = new UserId(data.getUser(), data.getServer());
eObject.setUserName(userId);
sendGenericEvent(eObject);
}
@@ -413,8 +408,6 @@ public class CollaborationDrawingLayer extends DrawingLayer {
CollaborationDrawingEvent tObject = new CollaborationDrawingEvent();
tObject.setType(CollaborationEventType.DRAW);
tObject.setContainer(container);
- LoginData data = CollaborationDataManager.getInstance().getLoginData();
- UserId userId = new UserId(data.getUser(), data.getServer());
tObject.setUserName(userId);
sendGenericEvent(tObject);
}
@@ -429,8 +422,6 @@ public class CollaborationDrawingLayer extends DrawingLayer {
super.reset();
CollaborationDrawingEvent event = new CollaborationDrawingEvent();
event.setType(CollaborationEventType.CLEAR);
- LoginData data = CollaborationDataManager.getInstance().getLoginData();
- UserId userId = new UserId(data.getUser(), data.getServer());
event.setUserName(userId);
sendGenericEvent(event);
}
diff --git a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/session/CollaborationConnection.java b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/session/CollaborationConnection.java
index 65fde32fe9..896cf3b19b 100644
--- a/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/session/CollaborationConnection.java
+++ b/cave/com.raytheon.uf.viz.collaboration/src/com/raytheon/uf/viz/collaboration/comm/provider/session/CollaborationConnection.java
@@ -147,40 +147,10 @@ public class CollaborationConnection implements IEventPublisher {
private IRosterEventSubscriber rosterEventSubscriber = null;
// Debug -- event viewer ----------------
- private IRosterEventSubscriber rosterEventHandler = null;
+ // private IRosterEventSubscriber rosterEventHandler = null;
// Debug -- event viewer ----------------
- /**
- * @throws CollaborationException
- * @throws ContainerCreateException
- *
- */
- public CollaborationConnection(UserId account, String password)
- throws CollaborationException {
- this(account, password, (IRosterEventSubscriber) null);
- }
-
- /**
- *
- * @param account
- * The account name to connect to.
- * @param password
- * The password to use for connection.
- * @param initialPresence
- * The initial presence for the account name.
- * @throws ContainerCreateException
- *
- */
- public CollaborationConnection(UserId account, String password,
- IPresence initialPresence) throws Exception {
- this(account, password, (IRosterEventSubscriber) null);
- if (accountManager != null) {
- userPresence = initialPresence;
- accountManager.sendPresence(initialPresence);
- }
- }
-
/**
*
* The roster event subscriber must be ready to accept events before this
@@ -192,11 +162,13 @@ public class CollaborationConnection implements IEventPublisher {
* The password to use for connection.
* @param rosterEventSubscriber
* A roster event subscriber.
+ * @param initialPresence
+ * the initial presence
* @throws CollaborationException
*/
public CollaborationConnection(UserId account, String password,
- IRosterEventSubscriber rosterEventSubscriber)
- throws CollaborationException {
+ IRosterEventSubscriber rosterEventSubscriber,
+ IPresence initialPresence) throws CollaborationException {
eventBus = new EventBus();
if (rosterEventSubscriber != null) {
this.rosterEventSubscriber = rosterEventSubscriber;
@@ -253,6 +225,11 @@ public class CollaborationConnection implements IEventPublisher {
setupP2PComm(presenceAdapter);
getPeerToPeerSession();
+ if (accountManager != null && initialPresence != null) {
+ userPresence = initialPresence;
+ accountManager.sendPresence(initialPresence);
+ }
+
}
/**