Issue #427 more cleanup
Change-Id: I82018bb21bed8c2e0d948da915f80ef33061615e Former-commit-id: 1d24813371c2dec40ff90657705048083e03a9db
This commit is contained in:
parent
c33cf2538c
commit
a54660c377
6 changed files with 184 additions and 130 deletions
|
@ -75,7 +75,7 @@ public interface ISession extends IEventPublisher {
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
IQualifiedID getUserID();
|
public IQualifiedID getUserID();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the connection status of the session.
|
* Gets the connection status of the session.
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
**/
|
**/
|
||||||
package com.raytheon.uf.viz.collaboration.comm.identity;
|
package com.raytheon.uf.viz.collaboration.comm.identity;
|
||||||
|
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.event.IEventPublisher;
|
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.user.IQualifiedID;
|
import com.raytheon.uf.viz.collaboration.comm.identity.user.IQualifiedID;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.user.IVenueParticipant;
|
import com.raytheon.uf.viz.collaboration.comm.identity.user.IVenueParticipant;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.user.ParticipantRole;
|
import com.raytheon.uf.viz.collaboration.comm.identity.user.ParticipantRole;
|
||||||
|
@ -61,7 +60,7 @@ import com.raytheon.uf.viz.collaboration.comm.identity.user.ParticipantRole;
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public interface ISharedDisplaySession extends IEventPublisher {
|
public interface ISharedDisplaySession extends IVenueSession {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sends the object to the other collaborators on the session. The object
|
* Sends the object to the other collaborators on the session. The object
|
||||||
|
@ -124,12 +123,6 @@ public interface ISharedDisplaySession extends IEventPublisher {
|
||||||
*/
|
*/
|
||||||
public boolean hasRole(ParticipantRole role);
|
public boolean hasRole(ParticipantRole role);
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public IQualifiedID getUserID();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the connection status of the session.
|
* Gets the connection status of the session.
|
||||||
*
|
*
|
||||||
|
|
|
@ -21,7 +21,6 @@ package com.raytheon.uf.viz.collaboration.comm.identity;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.event.IEventPublisher;
|
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.info.IVenue;
|
import com.raytheon.uf.viz.collaboration.comm.identity.info.IVenue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -55,7 +54,7 @@ import com.raytheon.uf.viz.collaboration.comm.identity.info.IVenue;
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public interface IVenueSession extends ISession, IEventPublisher {
|
public interface IVenueSession extends ISession {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns information about a venue.
|
* Returns information about a venue.
|
||||||
|
|
|
@ -55,6 +55,7 @@ import com.raytheon.uf.viz.collaboration.comm.identity.CollaborationException;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.IAccountManager;
|
import com.raytheon.uf.viz.collaboration.comm.identity.IAccountManager;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.IPresence;
|
import com.raytheon.uf.viz.collaboration.comm.identity.IPresence;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.ISession;
|
import com.raytheon.uf.viz.collaboration.comm.identity.ISession;
|
||||||
|
import com.raytheon.uf.viz.collaboration.comm.identity.ISharedDisplaySession;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.IVenueSession;
|
import com.raytheon.uf.viz.collaboration.comm.identity.IVenueSession;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.event.IEventPublisher;
|
import com.raytheon.uf.viz.collaboration.comm.identity.event.IEventPublisher;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.event.IRosterChangeEvent;
|
import com.raytheon.uf.viz.collaboration.comm.identity.event.IRosterChangeEvent;
|
||||||
|
@ -114,10 +115,6 @@ import com.raytheon.uf.viz.collaboration.comm.provider.user.VenueParticipant;
|
||||||
|
|
||||||
public class SessionManager implements IEventPublisher {
|
public class SessionManager implements IEventPublisher {
|
||||||
|
|
||||||
private enum SessionType {
|
|
||||||
SESSION_P2P, SESSION_CHAT_ONLY, SESSION_COLLABORATION;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||||
.getHandler(SessionManager.class);
|
.getHandler(SessionManager.class);
|
||||||
|
|
||||||
|
@ -153,6 +150,7 @@ public class SessionManager implements IEventPublisher {
|
||||||
|
|
||||||
// Debug -- event viewer ----------------
|
// Debug -- event viewer ----------------
|
||||||
private IRosterEventSubscriber rosterEventHandler = null;
|
private IRosterEventSubscriber rosterEventHandler = null;
|
||||||
|
|
||||||
// Debug -- event viewer ----------------
|
// Debug -- event viewer ----------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -211,7 +209,6 @@ public class SessionManager implements IEventPublisher {
|
||||||
eventBus.register(rosterEventHandler);
|
eventBus.register(rosterEventHandler);
|
||||||
// Debug -- event viewer ----------------
|
// Debug -- event viewer ----------------
|
||||||
|
|
||||||
|
|
||||||
sessions = new HashMap<String, ISession>();
|
sessions = new HashMap<String, ISession>();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -376,7 +373,7 @@ public class SessionManager implements IEventPublisher {
|
||||||
if (rosterEventSubscriber != null) {
|
if (rosterEventSubscriber != null) {
|
||||||
eventBus.unregister(rosterEventSubscriber);
|
eventBus.unregister(rosterEventSubscriber);
|
||||||
}
|
}
|
||||||
if(container != null) {
|
if (container != null) {
|
||||||
|
|
||||||
chatInstance = null;
|
chatInstance = null;
|
||||||
// Get rid of the account and roster managers
|
// Get rid of the account and roster managers
|
||||||
|
@ -385,8 +382,6 @@ public class SessionManager implements IEventPublisher {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -419,13 +414,14 @@ public class SessionManager implements IEventPublisher {
|
||||||
return chatInstance;
|
return chatInstance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IVenueSession joinCollaborationVenue(IVenueInvitationEvent invitation)
|
public ISharedDisplaySession joinCollaborationVenue(
|
||||||
throws CollaborationException {
|
IVenueInvitationEvent invitation) throws CollaborationException {
|
||||||
VenueSession session = null;
|
SharedDisplaySession session = null;
|
||||||
try {
|
try {
|
||||||
String venueName = invitation.getRoomId().getName();
|
String venueName = invitation.getRoomId().getName();
|
||||||
String sessionId = invitation.getInvite().getSessionId();
|
String sessionId = invitation.getInvite().getSessionId();
|
||||||
session = new VenueSession(container, eventBus, this, sessionId);
|
session = new SharedDisplaySession(container, eventBus, this,
|
||||||
|
sessionId);
|
||||||
if (session != null) {
|
if (session != null) {
|
||||||
session.joinVenue(venueName);
|
session.joinVenue(venueName);
|
||||||
|
|
||||||
|
@ -441,7 +437,8 @@ public class SessionManager implements IEventPublisher {
|
||||||
sessions.put(session.getSessionId(), session);
|
sessions.put(session.getSessionId(), session);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
// TODO fix
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return session;
|
return session;
|
||||||
}
|
}
|
||||||
|
@ -464,7 +461,8 @@ public class SessionManager implements IEventPublisher {
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
// TODO
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return session;
|
return session;
|
||||||
}
|
}
|
||||||
|
@ -475,12 +473,12 @@ public class SessionManager implements IEventPublisher {
|
||||||
* @return
|
* @return
|
||||||
* @throws CollaborationException
|
* @throws CollaborationException
|
||||||
*/
|
*/
|
||||||
public IVenueSession createCollaborationVenue(String venueName,
|
public ISharedDisplaySession createCollaborationVenue(String venueName,
|
||||||
String subject) throws CollaborationException {
|
String subject) throws CollaborationException {
|
||||||
VenueSession session = null;
|
SharedDisplaySession session = null;
|
||||||
int errorStatus = -1;
|
int errorStatus = -1;
|
||||||
try {
|
try {
|
||||||
session = new VenueSession(container, eventBus, this);
|
session = new SharedDisplaySession(container, eventBus, this);
|
||||||
if (session != null) {
|
if (session != null) {
|
||||||
errorStatus = session.createVenue(venueName, subject);
|
errorStatus = session.createVenue(venueName, subject);
|
||||||
if (errorStatus == Errors.NO_ERROR) {
|
if (errorStatus == Errors.NO_ERROR) {
|
||||||
|
@ -497,6 +495,7 @@ public class SessionManager implements IEventPublisher {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
// TODO
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
} finally {
|
} finally {
|
||||||
if (errorStatus != Errors.NO_ERROR) {
|
if (errorStatus != Errors.NO_ERROR) {
|
||||||
|
|
|
@ -0,0 +1,151 @@
|
||||||
|
/**
|
||||||
|
* 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.provider.session;
|
||||||
|
|
||||||
|
import org.eclipse.ecf.core.IContainer;
|
||||||
|
|
||||||
|
import com.google.common.eventbus.EventBus;
|
||||||
|
import com.raytheon.uf.viz.collaboration.comm.identity.CollaborationException;
|
||||||
|
import com.raytheon.uf.viz.collaboration.comm.identity.ISharedDisplaySession;
|
||||||
|
import com.raytheon.uf.viz.collaboration.comm.identity.invite.VenueInvite;
|
||||||
|
import com.raytheon.uf.viz.collaboration.comm.identity.user.IVenueParticipant;
|
||||||
|
import com.raytheon.uf.viz.collaboration.comm.identity.user.ParticipantRole;
|
||||||
|
import com.raytheon.uf.viz.collaboration.comm.provider.TextMessage;
|
||||||
|
import com.raytheon.uf.viz.collaboration.comm.provider.Tools;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO Add Description
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
* Apr 18, 2012 njensen Initial creation
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author njensen
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class SharedDisplaySession extends VenueSession implements
|
||||||
|
ISharedDisplaySession {
|
||||||
|
|
||||||
|
private IVenueParticipant sessionLeader = null;
|
||||||
|
|
||||||
|
private IVenueParticipant dataProvider = null;
|
||||||
|
|
||||||
|
public SharedDisplaySession(IContainer container, EventBus externalBus,
|
||||||
|
SessionManager manager) throws CollaborationException {
|
||||||
|
super(container, externalBus, manager);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SharedDisplaySession(IContainer container, EventBus externalBus,
|
||||||
|
SessionManager manager, String sessionId)
|
||||||
|
throws CollaborationException {
|
||||||
|
super(container, externalBus, manager, sessionId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendObjectToVenue(Object obj) throws CollaborationException {
|
||||||
|
if (obj != null) {
|
||||||
|
String message = Tools.marshallData(obj);
|
||||||
|
if (message != null) {
|
||||||
|
sendMessageToVenue(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendObjectToPeer(
|
||||||
|
com.raytheon.uf.viz.collaboration.comm.identity.user.IQualifiedID participant,
|
||||||
|
Object obj) throws CollaborationException {
|
||||||
|
PeerToPeerChat session = getP2PSession();
|
||||||
|
if (session != null) {
|
||||||
|
String message = Tools.marshallData(obj);
|
||||||
|
if (message != null) {
|
||||||
|
|
||||||
|
TextMessage msg = new TextMessage(participant, message);
|
||||||
|
msg.setProperty(Tools.PROP_SESSION_ID, getSessionId());
|
||||||
|
|
||||||
|
session.sendPeerToPeer(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the identification of the user who is the DataProvider.
|
||||||
|
*
|
||||||
|
* @return The DataProvider user identification.
|
||||||
|
* @see com.raytheon.uf.viz.collaboration.comm.identity.ISharedDisplaySession#getCurrentDataProvider()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IVenueParticipant getCurrentDataProvider() {
|
||||||
|
return dataProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the identification of the user who is the Session Leader.
|
||||||
|
*
|
||||||
|
* @return The Session Leader user identification.
|
||||||
|
* @see com.raytheon.uf.viz.collaboration.comm.identity.ISharedDisplaySession#getCurrentSessionLeader()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public IVenueParticipant getCurrentSessionLeader() {
|
||||||
|
return sessionLeader;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see com.raytheon.uf.viz.collaboration.comm.identity.ISharedDisplaySession#hasRole(com.raytheon.uf.viz.collaboration.comm.identity.user.ParticipantRole)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean hasRole(ParticipantRole role) {
|
||||||
|
boolean result = true;
|
||||||
|
if (role.equals(ParticipantRole.DATA_PROVIDER)
|
||||||
|
&& !this.getUserID().equals(this.getCurrentDataProvider())) {
|
||||||
|
result = false;
|
||||||
|
} else if (role.equals(ParticipantRole.SESSION_LEADER)
|
||||||
|
&& !this.getUserID().equals(this.getCurrentSessionLeader())) {
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCurrentSessionLeader(IVenueParticipant id) {
|
||||||
|
sessionLeader = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCurrentDataProvider(IVenueParticipant id) {
|
||||||
|
dataProvider = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected VenueInvite buildInvite(String msg) {
|
||||||
|
VenueInvite invite = super.buildInvite(msg);
|
||||||
|
invite.setDataProvider(this.getCurrentDataProvider());
|
||||||
|
invite.setSessionLeader(this.getCurrentSessionLeader());
|
||||||
|
return invite;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -44,7 +44,6 @@ import com.google.common.eventbus.EventBus;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.CollaborationException;
|
import com.raytheon.uf.viz.collaboration.comm.identity.CollaborationException;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.IMessage;
|
import com.raytheon.uf.viz.collaboration.comm.identity.IMessage;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.IPresence;
|
import com.raytheon.uf.viz.collaboration.comm.identity.IPresence;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.ISharedDisplaySession;
|
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.IVenueSession;
|
import com.raytheon.uf.viz.collaboration.comm.identity.IVenueSession;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.event.IVenueParticipantEvent;
|
import com.raytheon.uf.viz.collaboration.comm.identity.event.IVenueParticipantEvent;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.event.ParticipantEventType;
|
import com.raytheon.uf.viz.collaboration.comm.identity.event.ParticipantEventType;
|
||||||
|
@ -52,7 +51,6 @@ import com.raytheon.uf.viz.collaboration.comm.identity.info.IVenue;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.invite.VenueInvite;
|
import com.raytheon.uf.viz.collaboration.comm.identity.invite.VenueInvite;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.user.IQualifiedID;
|
import com.raytheon.uf.viz.collaboration.comm.identity.user.IQualifiedID;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.user.IVenueParticipant;
|
import com.raytheon.uf.viz.collaboration.comm.identity.user.IVenueParticipant;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.identity.user.ParticipantRole;
|
|
||||||
import com.raytheon.uf.viz.collaboration.comm.provider.CollaborationMessage;
|
import com.raytheon.uf.viz.collaboration.comm.provider.CollaborationMessage;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.provider.Errors;
|
import com.raytheon.uf.viz.collaboration.comm.provider.Errors;
|
||||||
import com.raytheon.uf.viz.collaboration.comm.provider.Presence;
|
import com.raytheon.uf.viz.collaboration.comm.provider.Presence;
|
||||||
|
@ -96,8 +94,7 @@ import com.raytheon.uf.viz.collaboration.comm.provider.user.VenueParticipant;
|
||||||
* @see com.raytheon.uf.viz.collaboration.comm.provider.CollaborationMessage
|
* @see com.raytheon.uf.viz.collaboration.comm.provider.CollaborationMessage
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class VenueSession extends BaseSession implements IVenueSession,
|
public class VenueSession extends BaseSession implements IVenueSession {
|
||||||
ISharedDisplaySession {
|
|
||||||
|
|
||||||
private static final String SEND_CMD = "[[COMMAND";
|
private static final String SEND_CMD = "[[COMMAND";
|
||||||
|
|
||||||
|
@ -115,10 +112,6 @@ public class VenueSession extends BaseSession implements IVenueSession,
|
||||||
|
|
||||||
private IQualifiedID userID = null;
|
private IQualifiedID userID = null;
|
||||||
|
|
||||||
private IVenueParticipant sessionLeader = null;
|
|
||||||
|
|
||||||
private IVenueParticipant dataProvider = null;
|
|
||||||
|
|
||||||
private String subject;
|
private String subject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -244,12 +237,7 @@ public class VenueSession extends BaseSession implements IVenueSession,
|
||||||
IChatRoomInvitationSender sender = getConnectionPresenceAdapter()
|
IChatRoomInvitationSender sender = getConnectionPresenceAdapter()
|
||||||
.getChatRoomManager().getInvitationSender();
|
.getChatRoomManager().getInvitationSender();
|
||||||
if (sender != null) {
|
if (sender != null) {
|
||||||
VenueInvite invite = new VenueInvite();
|
VenueInvite invite = buildInvite(body);
|
||||||
invite.setDataProvider(this.getCurrentDataProvider());
|
|
||||||
invite.setSessionLeader(this.getCurrentSessionLeader());
|
|
||||||
invite.setMessage(body);
|
|
||||||
invite.setSessionId(this.sessionId);
|
|
||||||
invite.setSubject(this.getSubject());
|
|
||||||
String msgBody = Tools.marshallData(invite);
|
String msgBody = Tools.marshallData(invite);
|
||||||
|
|
||||||
ID roomId = venueInfo.getConnectedID();
|
ID roomId = venueInfo.getConnectedID();
|
||||||
|
@ -299,81 +287,6 @@ public class VenueSession extends BaseSession implements IVenueSession,
|
||||||
return sessionId;
|
return sessionId;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************
|
|
||||||
// ISharedDisplaySession
|
|
||||||
// ***************************
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void sendObjectToVenue(Object obj) throws CollaborationException {
|
|
||||||
if (obj != null) {
|
|
||||||
String message = Tools.marshallData(obj);
|
|
||||||
if (message != null) {
|
|
||||||
sendMessageToVenue(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void sendObjectToPeer(
|
|
||||||
com.raytheon.uf.viz.collaboration.comm.identity.user.IQualifiedID participant,
|
|
||||||
Object obj) throws CollaborationException {
|
|
||||||
PeerToPeerChat session = getP2PSession();
|
|
||||||
if (session != null) {
|
|
||||||
String message = Tools.marshallData(obj);
|
|
||||||
if (message != null) {
|
|
||||||
|
|
||||||
TextMessage msg = new TextMessage(participant, message);
|
|
||||||
msg.setProperty(Tools.PROP_SESSION_ID, getSessionId());
|
|
||||||
|
|
||||||
session.sendPeerToPeer(msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the identification of the user who is the DataProvider.
|
|
||||||
*
|
|
||||||
* @return The DataProvider user identification.
|
|
||||||
* @see com.raytheon.uf.viz.collaboration.comm.identity.ISharedDisplaySession#getCurrentDataProvider()
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public IVenueParticipant getCurrentDataProvider() {
|
|
||||||
return dataProvider;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the identification of the user who is the Session Leader.
|
|
||||||
*
|
|
||||||
* @return The Session Leader user identification.
|
|
||||||
* @see com.raytheon.uf.viz.collaboration.comm.identity.ISharedDisplaySession#getCurrentSessionLeader()
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public IVenueParticipant getCurrentSessionLeader() {
|
|
||||||
return sessionLeader;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see com.raytheon.uf.viz.collaboration.comm.identity.ISharedDisplaySession#hasRole(com.raytheon.uf.viz.collaboration.comm.identity.user.ParticipantRole)
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean hasRole(ParticipantRole role) {
|
|
||||||
boolean result = true;
|
|
||||||
if (role.equals(ParticipantRole.DATA_PROVIDER)
|
|
||||||
&& !this.getUserID().equals(this.getCurrentDataProvider())) {
|
|
||||||
result = false;
|
|
||||||
} else if (role.equals(ParticipantRole.SESSION_LEADER)
|
|
||||||
&& !this.getUserID().equals(this.getCurrentSessionLeader())) {
|
|
||||||
result = false;
|
|
||||||
}
|
|
||||||
System.out
|
|
||||||
.println(this.getUserID() + " hasRole " + role + " " + result);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ***************************
|
|
||||||
// ISharedDisplaySession
|
|
||||||
// ***************************
|
|
||||||
|
|
||||||
public void sendChatMessage(String message) throws CollaborationException {
|
public void sendChatMessage(String message) throws CollaborationException {
|
||||||
this.sendMessageToVenue(message);
|
this.sendMessageToVenue(message);
|
||||||
}
|
}
|
||||||
|
@ -396,16 +309,6 @@ public class VenueSession extends BaseSession implements IVenueSession,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setCurrentSessionLeader(IVenueParticipant id) {
|
|
||||||
sessionLeader = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setCurrentDataProvider(IVenueParticipant id) {
|
|
||||||
dataProvider = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void setUserId(IVenueParticipant id) {
|
protected void setUserId(IVenueParticipant id) {
|
||||||
this.userID = id;
|
this.userID = id;
|
||||||
}
|
}
|
||||||
|
@ -431,6 +334,7 @@ public class VenueSession extends BaseSession implements IVenueSession,
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
// TODO fix
|
||||||
System.out.println(String.format("joinVenue(%s)", venueName));
|
System.out.println(String.format("joinVenue(%s)", venueName));
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -640,4 +544,12 @@ public class VenueSession extends BaseSession implements IVenueSession,
|
||||||
}
|
}
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected VenueInvite buildInvite(String msg) {
|
||||||
|
VenueInvite invite = new VenueInvite();
|
||||||
|
invite.setMessage(msg);
|
||||||
|
invite.setSessionId(this.sessionId);
|
||||||
|
invite.setSubject(this.getSubject());
|
||||||
|
return invite;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue