[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ecf-dev] Event hierarchy confusion and problem
|
Hi Thomas,
Thomas Hallgren wrote:
I have the following scenario:
I want to read a file through a local cache. The file is found in the
cache but before I use it I want to verify the size and last modified
timestamp are equal to those of the remote source (hence by
enhancement request:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=223207). It almost works
but for one little annoying detail. Namely that I'm forced to start
the file transfer before I can get to my IIncomingFileTransfer instance.
The IIncomingFileTransferReceiveStart event inherits directly from
IFileTransferEvent and not, as I first assumed, from the
IIncomingFileTransferEvent. This means that it doesn't have a
getSource() method. Is this intentional?
Yes. The idea here is that the IIncomingFileTransfer instance is
returned from the receive method on
IIncomingFileTransferReceiveStart..because in some protocols the methods
exposed by IIncomingFileTransfer are not actually available/valid until
the receive method completes successfully (i.e. returns a valid
value/doesn't throw an exception).
So I think the course of adding accessors for info that for some
providers is available prior to receive (i.e. on
IIncomingFileTransferReceiveStartEvent)...as per
https://bugs.eclipse.org/bugs/show_bug.cgi?id=223207 is probably the way
to go (allow the size and lastModified data to be accessed before
receive for those providers that support that/have that information).
Hopefully the lastModified and size will be enough, as it's not at all
clear to me that other meta-data will be available for other
transports. One cop out might be to provide a Properties
getProperties() method on IIncomingFileTransferReceiveStartEvent but I
would like to resist that for the time being.
Scott