From 7788549911c70dc4c02a499d6fcafc0c6e3c1029 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Fri, 7 Nov 2008 14:13:15 +0000 Subject: [PATCH] [248922] [dnd] display error message when copy operation hits exception --- .../ui/view/SystemDNDTransferRunnable.java | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemDNDTransferRunnable.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemDNDTransferRunnable.java index dc51ae67456..fcba76a1379 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemDNDTransferRunnable.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemDNDTransferRunnable.java @@ -75,7 +75,6 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.ide.undo.CopyResourcesOperation; import org.eclipse.ui.ide.undo.WorkspaceUndoUtil; -import org.eclipse.ui.internal.ide.IDEWorkbenchMessages; import org.eclipse.ui.progress.UIJob; @@ -404,14 +403,16 @@ public class SystemDNDTransferRunnable extends WorkspaceJob PlatformUI.getWorkbench().getOperationSupport() .getOperationHistory().execute(op, monitor,adaptable); } catch (ExecutionException e) { + SystemMessage errorMessage = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_EXCEPTION_OCCURRED); if (e.getCause() instanceof CoreException) { - SystemBasePlugin.logError(e.getMessage(), e); - displayError(e.getCause().getMessage()); + SystemBasePlugin.logError(e.getMessage(), e); + errorMessage.makeSubstitution(e.getCause().getMessage()); } else { SystemBasePlugin.logError(e.getMessage(), e); - displayError(e.getMessage()); + errorMessage.makeSubstitution(e.getMessage()); } + showErrorMessage(errorMessage); operationFailed(monitor); return false; } @@ -420,15 +421,7 @@ public class SystemDNDTransferRunnable extends WorkspaceJob return true; } - private void displayError(final String message) { - PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() { - public void run() { - Shell shell = PlatformUI.getWorkbench().getDisplay().getActiveShell(); - MessageDialog.openError(shell, IDEWorkbenchMessages.CopyFilesAndFoldersOperation_copyFailedTitle, - message); - } - }); - } + private int checkOverwrite(final IResource source, final IResource destination) { final int[] result = new int[1]; // using array since you can't change a final int