diff --git a/rse/plugins/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteFileImportOperation.java b/rse/plugins/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteFileImportOperation.java index fa5e56dccba..ae5bd3a6aa0 100644 --- a/rse/plugins/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteFileImportOperation.java +++ b/rse/plugins/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteFileImportOperation.java @@ -12,6 +12,7 @@ * David McKnight (IBM) - [223204] [cleanup] fix broken nls strings in files.ui and others * David McKnight (IBM) - [229610] [api] File transfers should use workspace text file encoding * David McKnight (IBM) - [272708] [import/export] fix various bugs with the synchronization support + * David McKnight (IBM) - [276535] File Conflict when Importing Remote Folder with Case-Differentiated-Only Filenames into Project *******************************************************************************/ package org.eclipse.rse.internal.importexport.files; @@ -472,6 +473,18 @@ public class RemoteFileImportOperation extends WorkspaceModifyOperation { { encoding = "Cp" + encoding.substring(2); //$NON-NLS-1$ } + + // check for existing resource + try { + org.eclipse.core.internal.resources.File targetFile = (org.eclipse.core.internal.resources.File)targetResource; + targetFile.checkDoesNotExist(targetFile.getFlags(targetFile.getResourceInfo(false, false)), false); + } + catch (CoreException e){ + errorTable.add(e.getStatus()); + return; + } + + rfss.download(((UniFilePlus) fileObject).remoteFile, targetResource.getLocation().makeAbsolute().toOSString(), encoding, null); try { // refresh workspace with just added resource diff --git a/rse/plugins/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteImportWizardPage1.java b/rse/plugins/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteImportWizardPage1.java index 3d886012619..ea96f116652 100644 --- a/rse/plugins/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteImportWizardPage1.java +++ b/rse/plugins/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteImportWizardPage1.java @@ -16,6 +16,7 @@ * David McKnight (IBM) - [219792][importexport][ftp] RSE hangs on FTP import * Takuya Miyamoto - [185925] Integrate Platform/Team Synchronization * David McKnight (IBM) - [272708] [import/export] fix various bugs with the synchronization support + * David McKnight (IBM) - [276535] File Conflict when Importing Remote Folder with Case-Differentiated-Only Filenames into Project *******************************************************************************/ package org.eclipse.rse.internal.importexport.files; @@ -38,6 +39,7 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.MultiStatus; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; @@ -600,7 +602,12 @@ class RemoteImportWizardPage1 extends WizardResourceImportPage implements Listen } IStatus status = op.getStatus(); if (!status.isOK()) { - String msgTxt = NLS.bind(RemoteImportExportResources.FILEMSG_IMPORT_FAILED, status); + if (status.isMultiStatus()){ + if (((MultiStatus)status).getChildren().length > 0){ + status = ((MultiStatus)status).getChildren()[0]; + } + } + String msgTxt = NLS.bind(RemoteImportExportResources.MSG_IMPORT_EXPORT_UNEXPECTED_EXCEPTION, status.getMessage()); SystemMessage msg = null; if (status.getException() != null){