From 8b2457670d69d6241d325dea2ebaef98d4f7362a Mon Sep 17 00:00:00 2001 From: slewis Date: Tue, 14 Oct 2014 12:02:25 -0700 Subject: Update/fix by to scp contribution by J Langley as per bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=445729 See comments on gerrit https://git.eclipse.org/r/#/c/34754/ This commit implements changes suggested by slewis in comments in gerrit review. Change-Id: Ic59d7a349b74124038d654d3bc3084537cfe95d8 --- .../META-INF/MANIFEST.MF | 5 +- .../plugin.xml | 2 +- .../scp/ScpBrowseFileTransferFactory.java | 82 +++++++++++++++++++++ .../scp/ScpBrowseFileTransferFactory.java | 83 ---------------------- 4 files changed, 85 insertions(+), 87 deletions(-) create mode 100644 providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/src/org/eclipse/ecf/internal/provider/filetransfer/scp/ScpBrowseFileTransferFactory.java delete mode 100644 providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/src/org/eclipse/ecf/provider/filetransfer/scp/ScpBrowseFileTransferFactory.java diff --git a/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/META-INF/MANIFEST.MF index 02aa27435..96c59dbb0 100644 --- a/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/META-INF/MANIFEST.MF +++ b/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %plugin.name Bundle-SymbolicName: org.eclipse.ecf.provider.filetransfer.scp;singleton:=true -Bundle-Version: 2.0.100.qualifier +Bundle-Version: 2.1.0.qualifier Bundle-Activator: org.eclipse.ecf.internal.provider.filetransfer.scp.Activator Bundle-Vendor: %plugin.provider Import-Package: com.jcraft.jsch, @@ -16,7 +16,6 @@ Require-Bundle: org.eclipse.equinox.common, org.eclipse.ecf, org.eclipse.ecf.provider.filetransfer, org.eclipse.ecf.filetransfer -Export-Package: org.eclipse.ecf.internal.provider.filetransfer.scp;x-internal:=true, - org.eclipse.ecf.provider.filetransfer.scp +Export-Package: org.eclipse.ecf.internal.provider.filetransfer.scp;x-internal:=true Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ActivationPolicy: lazy diff --git a/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/plugin.xml b/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/plugin.xml index 3bd1cd727..3ce5bd334 100644 --- a/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/plugin.xml +++ b/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/plugin.xml @@ -18,7 +18,7 @@ diff --git a/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/src/org/eclipse/ecf/internal/provider/filetransfer/scp/ScpBrowseFileTransferFactory.java b/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/src/org/eclipse/ecf/internal/provider/filetransfer/scp/ScpBrowseFileTransferFactory.java new file mode 100644 index 000000000..7cabdb651 --- /dev/null +++ b/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/src/org/eclipse/ecf/internal/provider/filetransfer/scp/ScpBrowseFileTransferFactory.java @@ -0,0 +1,82 @@ +/******************************************************************************* + * Copyright (c) 2014 CohesionForce Inc + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * CohesionForce Inc - initial API and implementation + *******************************************************************************/ + +package org.eclipse.ecf.internal.provider.filetransfer.scp; + +import java.net.MalformedURLException; +import java.net.URL; +import org.eclipse.core.runtime.Assert; +import org.eclipse.ecf.core.identity.IDFactory; +import org.eclipse.ecf.core.identity.Namespace; +import org.eclipse.ecf.core.security.IConnectContext; +import org.eclipse.ecf.core.util.Proxy; +import org.eclipse.ecf.filetransfer.*; +import org.eclipse.ecf.filetransfer.identity.IFileID; +import org.eclipse.ecf.filetransfer.service.IRemoteFileSystemBrowser; +import org.eclipse.ecf.filetransfer.service.IRemoteFileSystemBrowserFactory; +import org.eclipse.ecf.provider.filetransfer.identity.FileTransferNamespace; +import org.eclipse.osgi.util.NLS; + +/** + * Factory for creating a remote file browser. This class is registered in the + * plugin to handle the "scp://" protocol. + * + */ +public class ScpBrowseFileTransferFactory implements + IRemoteFileSystemBrowserFactory { + + public IRemoteFileSystemBrowser newInstance() { + return new IRemoteFileSystemBrowser() { + + private Proxy proxy; + private IConnectContext connectContext; + + public Namespace getBrowseNamespace() { + return IDFactory.getDefault().getNamespaceByName( + FileTransferNamespace.PROTOCOL); + } + + public IRemoteFileSystemRequest sendBrowseRequest( + IFileID directoryOrFileId, + IRemoteFileSystemListener listener) + throws RemoteFileSystemException { + + Assert.isNotNull(directoryOrFileId); + Assert.isNotNull(listener); + URL url; + try { + url = directoryOrFileId.getURL(); + } catch (final MalformedURLException e) { + throw new RemoteFileSystemException( + NLS.bind( + "Exception creating URL for {0}", directoryOrFileId)); //$NON-NLS-1$ + } + + ScpFileSystemBrowser browser = new ScpFileSystemBrowser( + directoryOrFileId, listener, url, connectContext, proxy); + return browser.sendBrowseRequest(); + } + + public void setConnectContextForAuthentication( + IConnectContext connectContext) { + this.connectContext = connectContext; + } + + public void setProxy(Proxy proxy) { + this.proxy = proxy; + } + + public Object getAdapter(Class adapter) { + return null; + } + }; + } +} diff --git a/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/src/org/eclipse/ecf/provider/filetransfer/scp/ScpBrowseFileTransferFactory.java b/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/src/org/eclipse/ecf/provider/filetransfer/scp/ScpBrowseFileTransferFactory.java deleted file mode 100644 index 0dd6cf0f0..000000000 --- a/providers/bundles/org.eclipse.ecf.provider.filetransfer.scp/src/org/eclipse/ecf/provider/filetransfer/scp/ScpBrowseFileTransferFactory.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014 CohesionForce Inc - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * CohesionForce Inc - initial API and implementation - *******************************************************************************/ - -package org.eclipse.ecf.provider.filetransfer.scp; - -import java.net.MalformedURLException; -import java.net.URL; -import org.eclipse.core.runtime.Assert; -import org.eclipse.ecf.core.identity.IDFactory; -import org.eclipse.ecf.core.identity.Namespace; -import org.eclipse.ecf.core.security.IConnectContext; -import org.eclipse.ecf.core.util.Proxy; -import org.eclipse.ecf.filetransfer.*; -import org.eclipse.ecf.filetransfer.identity.IFileID; -import org.eclipse.ecf.filetransfer.service.IRemoteFileSystemBrowser; -import org.eclipse.ecf.filetransfer.service.IRemoteFileSystemBrowserFactory; -import org.eclipse.ecf.internal.provider.filetransfer.scp.ScpFileSystemBrowser; -import org.eclipse.ecf.provider.filetransfer.identity.FileTransferNamespace; -import org.eclipse.osgi.util.NLS; - -/** - * Factory for creating a remote file browser. This class is registered in the - * plugin to handle the "scp://" protocol. - * - */ -public class ScpBrowseFileTransferFactory implements - IRemoteFileSystemBrowserFactory { - - public IRemoteFileSystemBrowser newInstance() { - return new IRemoteFileSystemBrowser() { - - private Proxy proxy; - private IConnectContext connectContext; - - public Namespace getBrowseNamespace() { - return IDFactory.getDefault().getNamespaceByName( - FileTransferNamespace.PROTOCOL); - } - - public IRemoteFileSystemRequest sendBrowseRequest( - IFileID directoryOrFileId, - IRemoteFileSystemListener listener) - throws RemoteFileSystemException { - - Assert.isNotNull(directoryOrFileId); - Assert.isNotNull(listener); - URL url; - try { - url = directoryOrFileId.getURL(); - } catch (final MalformedURLException e) { - throw new RemoteFileSystemException( - NLS.bind( - "Exception creating URL for {0}", directoryOrFileId)); //$NON-NLS-1$ - } - - ScpFileSystemBrowser browser = new ScpFileSystemBrowser( - directoryOrFileId, listener, url, connectContext, proxy); - return browser.sendBrowseRequest(); - } - - public void setConnectContextForAuthentication( - IConnectContext connectContext) { - this.connectContext = connectContext; - } - - public void setProxy(Proxy proxy) { - this.proxy = proxy; - } - - public Object getAdapter(Class adapter) { - return null; - } - }; - } -} -- cgit v1.2.3