use of org.eclipse.ecf.core.user.IUser in project ecf by eclipse.
the class EclipseCollabSharedObject method handleLaunchEditorForFile.
/**
* @since 2.0
*/
protected void handleLaunchEditorForFile(final IUser fromuser, final String resourceName) {
final IUser local = getUserForID(fromuser.getID());
if (local != null) {
final Runnable runnable = createOpenEditorForFileRunnable(resourceName);
showEventInChatOutput(fromuser, resourceName, null, runnable);
verifyAndOpenEditorLocally(fromuser, resourceName, runnable);
}
}
use of org.eclipse.ecf.core.user.IUser in project ecf by eclipse.
the class EclipseCollabSharedObject method handleOpenAndSelectForFile.
/**
* @since 2.0
*/
protected void handleOpenAndSelectForFile(final IUser fromuser, final String resourceName, SharedMarker marker) {
final IUser local = getUserForID(fromuser.getID());
if (local != null) {
final Runnable runnable = createOpenEditorAndSelectForFileRunnable(resourceName, marker);
showEventInChatOutput(fromuser, resourceName, marker, runnable);
verifyAndOpenEditorLocally(fromuser, resourceName, runnable);
}
}
use of org.eclipse.ecf.core.user.IUser in project ecf by eclipse.
the class EclipseCollabSharedObject method getFileReceiverUI.
/**
* @since 2.0
*/
public FileReceiverUI getFileReceiverUI(EclipseFileTransfer transfer, FileTransferParams params) {
return new FileReceiverUI() {
public void receiveStart(ID from, File aFile, long length, float rate) {
final IUser user = getUserForID(from);
String nick = Messages.EclipseCollabSharedObject_UNKNOWN_USERNAME;
if (user != null) {
nick = user.getNickname();
}
showRawLine(from, NLS.bind(Messages.EclipseCollabSharedObject_FILE_TRANSFER_RECEIVING, nick, aFile.getName()), null);
}
public void receiveData(ID from, File aFile, int dataLength) {
}
public void receiveDone(ID from, File aFile, Exception e) {
final IUser user = getUserForID(from);
String nick = Messages.EclipseCollabSharedObject_UNKNOWN_USERNAME;
if (user != null) {
nick = user.getNickname();
}
showRawLine(from, NLS.bind(Messages.EclipseCollabSharedObject_FILE_TRANSFER_RECEIVED, new Object[] { aFile.getName(), nick, getLocalFullDownloadPath() }), null);
refreshProject();
}
};
}
use of org.eclipse.ecf.core.user.IUser in project ecf by eclipse.
the class RemotePeerSynchronizeWizard method performFinish.
public boolean performFinish() {
ID containerId = page.getContainerId();
RemoteShare share = TeamSynchronization.getShare(containerId);
IRosterEntry entry = page.getRosterEntry();
IUser remoteUser = entry.getUser();
ID ownId = entry.getRoster().getUser().getID();
IResource[] resources = page.getSelectedResources();
RemoteSubscriberParticipant participant = getSubscriberParticipant(share, ownId, remoteUser.getID());
participant.setResources(resources);
TeamUI.getSynchronizeManager().addSynchronizeParticipants(new ISynchronizeParticipant[] { participant });
if (resources.length == 1) {
participant.refresh(resources, NLS.bind(Messages.SynchronizeWithHandler_RemoteSynchronizationTaskName, remoteUser.getNickname()), NLS.bind(Messages.SynchronizeWithHandler_RemoteSynchronizationResourceDescription, resources[0].getName(), remoteUser.getNickname()), null);
} else {
participant.refresh(resources, NLS.bind(Messages.SynchronizeWithHandler_RemoteSynchronizationTaskName, remoteUser.getNickname()), NLS.bind(Messages.SynchronizeWithHandler_RemoteSynchronizationResourcesDescription, remoteUser.getNickname()), null);
}
return true;
}
use of org.eclipse.ecf.core.user.IUser in project ecf by eclipse.
the class SynchronizeWithHandler method execute.
public Object execute(ExecutionEvent event) throws ExecutionException {
IRosterEntry selectedEntry = getRosterEntry();
IRoster roster = selectedEntry.getRoster();
final IUser remoteUser = roster.getUser();
final ID localId = remoteUser.getID();
final ID remoteId = selectedEntry.getUser().getID();
IContainer container = (IContainer) roster.getPresenceContainerAdapter().getAdapter(IContainer.class);
final IResource[] resources = getResources(event);
final RemoteShare share = TeamSynchronization.getShare(container.getID());
IWorkbenchPart part = HandlerUtil.getActivePart(event);
final IWorkbenchPartSite site = part == null ? null : part.getSite();
final Shell shell = HandlerUtil.getActiveShellChecked(event);
ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);
final boolean[] response = { true };
IRunnableWithProgress runnable = new IRunnableWithProgress() {
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
if (resources.length == 1) {
monitor.beginTask(NLS.bind(Messages.SynchronizeWithHandler_SynchronizeResourceTaskName, resources[0].getName()), IProgressMonitor.UNKNOWN);
} else {
monitor.beginTask(Messages.SynchronizeWithHandler_SynchronizeResourcesTaskName, IProgressMonitor.UNKNOWN);
}
try {
if (share.sendShareRequest(localId, remoteId, resources, monitor)) {
scheduleRefreshJob(share, localId, remoteId, resources, remoteUser, site);
} else {
response[0] = false;
}
} catch (ECFException e) {
throw new InvocationTargetException(e);
} catch (OperationCanceledException e) {
// operation, but check for this just in case
if (!monitor.isCanceled()) {
throw e;
}
}
}
};
try {
dialog.run(true, true, runnable);
if (!response[0]) {
MessageDialog.openInformation(shell, null, Messages.SynchronizeWithHandler_SynchronizeRequestDenial);
}
} catch (InvocationTargetException e) {
Throwable cause = e.getCause();
if (cause instanceof ECFException) {
MessageDialog.openError(shell, null, Messages.SynchronizeWithHandler_SynchronizeRequestError);
}
// $NON-NLS-1$
TeamSynchronization.log("Failed to contact remote peer", cause);
} catch (InterruptedException e) {
Thread.interrupted();
MessageDialog.openError(shell, null, Messages.SynchronizeWithHandler_SynchronizeRequestInterrupted);
// $NON-NLS-1$
TeamSynchronization.log("Synchronization request operation was interrupted", e);
}
return null;
}
Aggregations