return editorClients;
}
@Override
public boolean removeEditorClient(EditorClientId editorClientId) {
PersonSessionDetails details = sessions.remove(editorClientId);
if (details != null) {
String httpSessionId = editorClientId.getHttpSessionId();
Collection<EditorClientId> clientIds =
httpSessionToEditorClientId.get(httpSessionId);
if (clientIds != null) {
clientIds.remove(editorClientId);
// Send GWT Event to clients to update the user list
ExitWorkspace event =
new ExitWorkspace(editorClientId, details.getPerson());
publish(event);
log.info(
"Removed user {} with editorClientId {} from workspace {}",
details.getPerson().getId(), editorClientId,
workspaceContext);
return true;
} else {
log.warn(
"Unable to remove user {} with editorClientId {} from workspace {}",
details.getPerson().getId(), editorClientId,
workspaceContext);
}
} else {
log.debug("EditorClientId {} not found in workspace {}",
editorClientId, workspaceContext);