Class UrlConnectionRetrieveFileTransfer
java.lang.Object
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer
org.eclipse.ecf.provider.filetransfer.retrieve.UrlConnectionRetrieveFileTransfer
- All Implemented Interfaces:
org.eclipse.core.runtime.IAdaptable,IIdentifiable,IFileTransfer,IFileTransferPausable,IIncomingFileTransfer,IRetrieveFileTransferContainerAdapter,IRetrieveFileTransfer
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intprotected Stringprotected intprotected Stringprotected URLConnectionprotected StringFields inherited from class org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer
buff_length, bytesReceived, CLOSE_TIMEOUT, closeOutputStream, connectContext, DEFAULT_BUF_LENGTH, done, downloadRateBytesPerSecond, exception, fileLength, job, jobLock, lastModifiedTime, listener, localFileContents, options, paused, POLLING_RETRY_ATTEMPTS, proxy, rangeSpecification, READ_TIMEOUT, remoteFileContents, remoteFileID, remoteFileURL, responseHeaders, TIMEOUT_INPUTSTREAM_BUFFER_SIZE, transferStartTime -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidconnect()protected booleandoPause()Subclass overridable version ofAbstractRetrieveFileTransfer.pause().protected booleandoResume()Subclass overridable version ofAbstractRetrieveFileTransfer.resume().<T> TgetAdapter(Class<T> adapter) protected StringObtains the name of the remote file if possible.intprotected voidprotected voidprotected voidprotected booleanprotected voidOpen incoming and outgoing streams associated with this file transfer.voidsetConnectContextForAuthentication(IConnectContext connectContext) Set connect context for authentication upon subsequentIRetrieveFileTransferContainerAdapter.sendRetrieveRequest(IFileID, IFileTransferListener, Map).protected voidprotected voidprotected voidprotected voidsetupProxy(Proxy proxy2) Setup ECF proxy.Methods inherited from class org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer
cancel, createJobName, createRangeName, fireReceiveResumedEvent, fireReceiveStartEvent, fireTransferReceiveDataEvent, fireTransferReceiveDoneEvent, fireTransferReceivePausedEvent, getBytesReceived, getException, getFileLength, getFileRangeSpecification, getFinalStatus, getID, getListener, getOptions, getPercentComplete, getRemoteFileURL, getRemoteLastModified, getRetrieveNamespace, getSocketCloseTimeout, getSocketReadTimeout, handleReceivedData, isCanceled, isDone, isPaused, newUserCancelledException, pause, resetDoneAndException, resume, selectProxyFromProxies, sendRetrieveRequest, sendRetrieveRequest, setCloseOutputStream, setDone, setDoneCanceled, setDoneCanceled, setDoneException, setFileLength, setInputStream, setLastModifiedTime, setOutputStream, setProxy, setupAndScheduleJob, setupProxies, targetHasGzSuffix, toHumanReadableBytes, wrapTransferReadInputStream
-
Field Details
-
urlConnection
-
httpVersion
protected int httpVersion -
responseCode
protected int responseCode -
responseMessage
-
username
-
password
-
-
Constructor Details
-
UrlConnectionRetrieveFileTransfer
public UrlConnectionRetrieveFileTransfer()
-
-
Method Details
-
getRemoteFileName
Description copied from interface:IIncomingFileTransferObtains the name of the remote file if possible. The name will typically but not necessarily be the same as the leaf part of the path to the remote file.- Specified by:
getRemoteFileNamein interfaceIIncomingFileTransfer- Overrides:
getRemoteFileNamein classAbstractRetrieveFileTransfer- Returns:
- The name of the remote file or
nullif no such name can be determined.
-
connect
- Throws:
IOException
-
isConnected
protected boolean isConnected() -
setResumeRequestHeaderValues
- Throws:
IOException
-
setRequestHeaderValues
-
getResponseCode
public int getResponseCode() -
getResponseHeaderValues
- Throws:
IOException
-
getResumeResponseHeaderValues
- Throws:
IOException
-
setupProxy
Description copied from class:AbstractRetrieveFileTransferSetup ECF proxy. Subclasses must override this method to do appropriate proxy setup. This method will be called from withinAbstractRetrieveFileTransfer.sendRetrieveRequest(IFileID, IFileTransferListener, Map)andAbstractRetrieveFileTransfer.sendRetrieveRequest(IFileID, IFileRangeSpecification, IFileTransferListener, Map), prior to the actual call toAbstractRetrieveFileTransfer.openStreams().- Specified by:
setupProxyin classAbstractRetrieveFileTransfer- Parameters:
proxy2- the ECF proxy to setup
-
setupAuthentication
-
setConnectContextForAuthentication
Description copied from interface:IRetrieveFileTransferContainerAdapterSet connect context for authentication upon subsequentIRetrieveFileTransferContainerAdapter.sendRetrieveRequest(IFileID, IFileTransferListener, Map). This method should be called with a non-null connectContext in order to allow authentication to occur during call toIRetrieveFileTransferContainerAdapter.sendRetrieveRequest(IFileID, IFileTransferListener, Map).- Specified by:
setConnectContextForAuthenticationin interfaceIRetrieveFileTransferContainerAdapter- Overrides:
setConnectContextForAuthenticationin classAbstractRetrieveFileTransfer- Parameters:
connectContext- the connect context to use for authenticating during subsequent call toIRetrieveFileTransferContainerAdapter.sendRetrieveRequest(IFileID, IFileTransferListener, Map). Ifnull, then no authentication will be attempted.
-
openStreams
Description copied from class:AbstractRetrieveFileTransferOpen incoming and outgoing streams associated with this file transfer. Subclasses must implement this method to open input and output streams. TheremoteFileContentsandlocalFileContentmust be non-nullafter successful completion of the implementation of this method.- Specified by:
openStreamsin classAbstractRetrieveFileTransfer- Throws:
IncomingFileTransferException- if some problem
-
hardClose
protected void hardClose()- Overrides:
hardClosein classAbstractRetrieveFileTransfer
-
doPause
protected boolean doPause()Description copied from class:AbstractRetrieveFileTransferSubclass overridable version ofAbstractRetrieveFileTransfer.pause(). Subclasses must provide an implementation of this method to supportIFileTransferPausable.- Specified by:
doPausein classAbstractRetrieveFileTransfer- Returns:
- true if the pause is successful.
falseotherwise.
-
doResume
protected boolean doResume()Description copied from class:AbstractRetrieveFileTransferSubclass overridable version ofAbstractRetrieveFileTransfer.resume(). Subclasses must provide an implementation of this method to supportIFileTransferPausable.- Specified by:
doResumein classAbstractRetrieveFileTransfer- Returns:
- true if the resume is successful.
falseotherwise.
-
getAdapter
- Specified by:
getAdapterin interfaceorg.eclipse.core.runtime.IAdaptable- Overrides:
getAdapterin classAbstractRetrieveFileTransfer
-
getConnectTimeout
-