RSE
Release 1.0

org.eclipse.rse.files.ui.resources
Class UniversalFileTransferUtility

java.lang.Object
  extended byorg.eclipse.rse.files.ui.resources.UniversalFileTransferUtility

public class UniversalFileTransferUtility
extends Object

Utility class for doing file transfers on universal systems


Nested Class Summary
static class UniversalFileTransferUtility.RenameRunnable
           
static class UniversalFileTransferUtility.RenameStatus
           
 
Constructor Summary
UniversalFileTransferUtility()
           
 
Method Summary
protected static String checkForCollision(IRemoteFile targetFolder, String oldName)
           
protected static UniversalFileTransferUtility.RenameStatus checkForCollision(SystemRemoteResourceSet existingFiles, IRemoteFile targetFolder, String oldName, String oldPath)
           
protected static void cleanup(IRemoteFile arc1, File arc2)
           
static IResource compressedCopyRemoteResourceToWorkspace(IRemoteFile directory, IProgressMonitor monitor)
           
static void compressedCopyWorkspaceResourceToRemote(IContainer directory, IRemoteFile newTargetFolder, IProgressMonitor monitor)
           
protected static IFile copyRemoteFileToWorkspace(File srcFileOrFolder, IProgressMonitor monitor)
          Replicates a local file to the temp files project in the workspace.
protected static IFile copyRemoteFileToWorkspace(IRemoteFile srcFileOrFolder, IProgressMonitor monitor)
          replicates a remote file to the temp files project in the workspace
static SystemWorkspaceResourceSet copyRemoteResourcesToWorkspace(SystemRemoteResourceSet remoteSet, IProgressMonitor monitor)
          Replicates a set of remote files or folders to the workspace
static Object copyRemoteResourceToWorkspace(File srcFileOrFolder, IProgressMonitor monitor)
           
static Object copyRemoteResourceToWorkspace(IRemoteFile srcFileOrFolder, IProgressMonitor monitor)
          Replicates a remote file or folder to the workspace
static SystemRemoteResourceSet copyWorkspaceResourcesToRemote(SystemWorkspaceResourceSet workspaceSet, IRemoteFile targetFolder, IProgressMonitor monitor, boolean checkForCollisions)
          Perform a copy via drag and drop.
static Object copyWorkspaceResourceToRemote(IResource srcFileOrFolder, IRemoteFile targetFolder, IProgressMonitor monitor)
          Perform a copy via drag and drop.
static Object copyWorkspaceResourceToRemote(IResource srcFileOrFolder, IRemoteFile targetFolder, IProgressMonitor monitor, boolean checkForCollisions)
          Perform a copy via drag and drop.
protected static boolean download(File file, IFile tempFile, String hostEncoding, IProgressMonitor monitor)
           
static String getActualHostFor(ISubSystem subsystem, String remotePath)
           
static String getActualHostFor(String hostname, String remotePath)
           
protected static String getArchiveExtensionFromProperties()
           
static IResource getTempFileFor(File srcFileOrFolder)
          Returns the corresponding temp file location for a local file or folder.
static IResource getTempFileFor(IRemoteFile srcFileOrFolder)
          Returns the corresponding temp file location for a remote file or folder
protected static String getWorkspaceRemotePath(ISubSystem subsystem, String remotePath)
           
protected static String getWorkspaceRemotePath(String hostname, String remotePath)
           
protected static boolean isRemoteFileMounted(ISubSystem subsystem, String remotePath)
           
protected static boolean isRemoteFileMounted(String hostname, String remotePath)
           
protected static String normalizePath(String localpath, char rmtSeparator)
           
protected static void setIFileProperties(IFile tempFile, File remoteFile, String hostname)
           
protected static void setIFileProperties(IFile tempFile, IRemoteFile remoteFile, IRemoteFileSubSystem subSystem)
           
protected static void setReadOnly(IFile file, boolean flag)
           
static void transferProperties(IResource source, IRemoteFile target, IProgressMonitor monitor)
           
static void transferRemoteResource(IRemoteFile srcFileOrFolder, IRemoteFile tgtFolder, IProgressMonitor monitor)
          Transfer a remote file or folder from one remote location to another.
protected static String useLocalSeparator(String virtualPath)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UniversalFileTransferUtility

public UniversalFileTransferUtility()
Method Detail

transferRemoteResource

public static void transferRemoteResource(IRemoteFile srcFileOrFolder,
                                          IRemoteFile tgtFolder,
                                          IProgressMonitor monitor)
Transfer a remote file or folder from one remote location to another.

Parameters:
srcFileOrFolder - the file or folder to copy
tgtFolder - the folder to copy to
monitor - the progress monitor

copyRemoteFileToWorkspace

protected static IFile copyRemoteFileToWorkspace(IRemoteFile srcFileOrFolder,
                                                 IProgressMonitor monitor)
replicates a remote file to the temp files project in the workspace

Parameters:
srcFileOrFolder - the file to copy
monitor - the progress monitor
Returns:
the resulting local replica

setIFileProperties

protected static void setIFileProperties(IFile tempFile,
                                         IRemoteFile remoteFile,
                                         IRemoteFileSubSystem subSystem)

setIFileProperties

protected static void setIFileProperties(IFile tempFile,
                                         File remoteFile,
                                         String hostname)

copyRemoteResourcesToWorkspace

public static SystemWorkspaceResourceSet copyRemoteResourcesToWorkspace(SystemRemoteResourceSet remoteSet,
                                                                        IProgressMonitor monitor)
Replicates a set of remote files or folders to the workspace

Parameters:
remoteSet - the objects which are being copied
monitor - a progress monitor
Returns:
the temporary objects that was created after the download

copyRemoteResourceToWorkspace

public static Object copyRemoteResourceToWorkspace(File srcFileOrFolder,
                                                   IProgressMonitor monitor)

copyRemoteFileToWorkspace

protected static IFile copyRemoteFileToWorkspace(File srcFileOrFolder,
                                                 IProgressMonitor monitor)
Replicates a local file to the temp files project in the workspace.

Parameters:
srcFileOrFolder - the file to copy.
monitor - the progress monitor.
Returns:
the resulting local replica.

download

protected static boolean download(File file,
                                  IFile tempFile,
                                  String hostEncoding,
                                  IProgressMonitor monitor)

copyRemoteResourceToWorkspace

public static Object copyRemoteResourceToWorkspace(IRemoteFile srcFileOrFolder,
                                                   IProgressMonitor monitor)
Replicates a remote file or folder to the workspace

Parameters:
srcFileOrFolder - the object which is being copied
monitor - a progress monitor
Returns:
the temporary object that was created after the download

copyWorkspaceResourceToRemote

public static Object copyWorkspaceResourceToRemote(IResource srcFileOrFolder,
                                                   IRemoteFile targetFolder,
                                                   IProgressMonitor monitor)
Perform a copy via drag and drop.

Parameters:
srcFileOrFolder - the object to be copied. If the target and source are not on the same system, then this is a temporary object produced by the doDrag.
targetFolder - the object to be copied to.
monitor - the progress monitor
Returns:
the resulting remote object

copyWorkspaceResourcesToRemote

public static SystemRemoteResourceSet copyWorkspaceResourcesToRemote(SystemWorkspaceResourceSet workspaceSet,
                                                                     IRemoteFile targetFolder,
                                                                     IProgressMonitor monitor,
                                                                     boolean checkForCollisions)
Perform a copy via drag and drop.

Parameters:
workspaceSet - the objects to be copied. If the target and sources are not on the same system, then this is a temporary object produced by the doDrag.
targetFolder - the object to be copied to.
monitor - the progress monitor
checkForCollisions - indicates whether to check for colllisions or not
Returns:
the resulting remote objects

copyWorkspaceResourceToRemote

public static Object copyWorkspaceResourceToRemote(IResource srcFileOrFolder,
                                                   IRemoteFile targetFolder,
                                                   IProgressMonitor monitor,
                                                   boolean checkForCollisions)
Perform a copy via drag and drop.

Parameters:
srcFileOrFolder - the object to be copied. If the target and source are not on the same system, then this is a temporary object produced by the doDrag.
targetFolder - the object to be copied to.
monitor - the progress monitor
checkForCollisions - indicates whether to check for colllisions or not
Returns:
the result remote object

compressedCopyWorkspaceResourceToRemote

public static void compressedCopyWorkspaceResourceToRemote(IContainer directory,
                                                           IRemoteFile newTargetFolder,
                                                           IProgressMonitor monitor)
                                                    throws Exception
Throws:
Exception

setReadOnly

protected static void setReadOnly(IFile file,
                                  boolean flag)

transferProperties

public static void transferProperties(IResource source,
                                      IRemoteFile target,
                                      IProgressMonitor monitor)
                               throws CoreException,
                                      RemoteFileSecurityException,
                                      RemoteFileIOException,
                                      SystemMessageException
Throws:
CoreException
RemoteFileSecurityException
RemoteFileIOException
SystemMessageException

getArchiveExtensionFromProperties

protected static String getArchiveExtensionFromProperties()

compressedCopyRemoteResourceToWorkspace

public static IResource compressedCopyRemoteResourceToWorkspace(IRemoteFile directory,
                                                                IProgressMonitor monitor)
                                                         throws Exception
Throws:
Exception

cleanup

protected static void cleanup(IRemoteFile arc1,
                              File arc2)
                       throws RemoteFileIOException,
                              RemoteFileSecurityException,
                              RemoteFolderNotEmptyException
Throws:
RemoteFileIOException
RemoteFileSecurityException
RemoteFolderNotEmptyException

useLocalSeparator

protected static String useLocalSeparator(String virtualPath)

getTempFileFor

public static IResource getTempFileFor(IRemoteFile srcFileOrFolder)
Returns the corresponding temp file location for a remote file or folder

Parameters:
srcFileOrFolder - the remote file or folder
Returns:
the local replica location

normalizePath

protected static String normalizePath(String localpath,
                                      char rmtSeparator)

getTempFileFor

public static IResource getTempFileFor(File srcFileOrFolder)
Returns the corresponding temp file location for a local file or folder.

Parameters:
srcFileOrFolder - the local file or folder.
Returns:
the local replica location.

getActualHostFor

public static String getActualHostFor(ISubSystem subsystem,
                                      String remotePath)

getActualHostFor

public static String getActualHostFor(String hostname,
                                      String remotePath)

isRemoteFileMounted

protected static boolean isRemoteFileMounted(ISubSystem subsystem,
                                             String remotePath)

isRemoteFileMounted

protected static boolean isRemoteFileMounted(String hostname,
                                             String remotePath)

getWorkspaceRemotePath

protected static String getWorkspaceRemotePath(ISubSystem subsystem,
                                               String remotePath)

getWorkspaceRemotePath

protected static String getWorkspaceRemotePath(String hostname,
                                               String remotePath)

checkForCollision

protected static UniversalFileTransferUtility.RenameStatus checkForCollision(SystemRemoteResourceSet existingFiles,
                                                                             IRemoteFile targetFolder,
                                                                             String oldName,
                                                                             String oldPath)

checkForCollision

protected static String checkForCollision(IRemoteFile targetFolder,
                                          String oldName)

RSE
Release 1.0

Copyright (c) IBM Corporation and others 2000, 2006. All Rights Reserved.