Community
Participate
Working Groups
Currently the APIs for UniversalFileTransferUtility consist of: compressedCopyRemoteResourceToWorkspace(IRemoteFile, IProgressMonitor) compressedCopyWorkspaceResourceToRemote(IContainer, IRemoteFile, IProgressMonitor) copyRemoteFileToWorkspace(File, IProgressMonitor) copyRemoteFileToWorkspace(IRemoteFile, IProgressMonitor) copyRemoteResourcesToWorkspace(SystemRemoteResourceSet, IProgressMonitor) copyRemoteResourcesToWorkspaceMultiple(SystemRemoteResourceSet, IProgressMonitor) copyRemoteResourceToWorkspace(File, IProgressMonitor) copyRemoteResourceToWorkspace(IRemoteFile, IProgressMonitor) copyWorkspaceResourcesToRemote(SystemWorkspaceResourceSet, IRemoteFile, IProgressMonitor, boolean) copyWorkspaceResourceToRemote(IResource, IRemoteFile, IProgressMonitor) copyWorkspaceResourceToRemote(IResource, IRemoteFile, IProgressMonitor, boolean) I think these would be much easier to understand if we used the something like this: compressedDownloadToWorkspace(IRemoteFile, IProgressMonitor) compressedUploadFromWorkspace(IContainer, IRemoteFile, IProgressMonitor) downloadFileToWorkspace(File, IProgressMonitor) downloadFileToWorkspace(IRemoteFile, IProgressMonitor) downloadResourcesToWorkspace(SystemRemoteResourceSet, IProgressMonitor) downloadResourcesToWorkspaceMultiple(SystemRemoteResourceSet, IProgressMonitor) downloadResourceToWorkspace(File, IProgressMonitor) downloadResourceToWorkspace(IRemoteFile, IProgressMonitor) uploadFromWorkspace(SystemWorkspaceResourceSet, IRemoteFile, IProgressMonitor, boolean) uploadFromWorkspace(IResource, IRemoteFile, IProgressMonitor) uploadFromWorkspace(IResource, IRemoteFile, IProgressMonitor, boolean)
Any thoughts on this?
I'll also use this defect to rename the file service apis, downloadMulti() and uploadMulti(), to downloadMultiple() and uploadMultiple().
In addition, I'll get rid of the deprecated IFileService and IRemoteFileSubSystem APIs.
I've committed the changes to this.
I'm wondering whether there is a need to dupliate the IFileService#FILE_TYPE_* constants in IRemoteFileSubSystem.java for easier consumption with its API... how strong do we want the separation between subsystem and service? Currently it looks like even if somebody wanted to implement an IRemoteFileSubsystem without any Service underneath it, there is still a dependency to IFileService. Is that OK?
Probably not since IFileServiceSubSystem is in the same plugin as IRemoteFileSubSystem and also requires IFileService already, so the dependency is there anyways.
Yeah, because of the dependency of FileServiceSubSystem on IFileService, I think the constants are in the right place and there's no need to duplicate them.