[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ecf-dev] Using ECF filetransfer with progress
|
Hi Scott,
Thanks for the pointers. Yes, this approach might help. I do have two
issues with it. The first is that I miss a method that returns the
'fileLength'. getPercentageComplete() is probably OK though, so that's
not a biggie. But then there's the Job and it's progress monitor. Either
the code is faulty or I miss something.
The GetFileHandler.execute() creates a new Job and schedules it. Once it
starts, it passes an IProgressMonitor to its run method. The monitor is
declared final so that it is accessible from within the
IFileTransferListener.handleTransferEvent() method. The run method calls
on adapter.sendRetrieveRequest(), then monitor.done(), and then it exits.
AFAIK, the monitor is now no longer valid. So what happens the next time
the IFileTransferListener.handleTransferEvent() is called? Or is the
sendRetrieveRequest() used here synchronous somehow?
Regards,
Thomas Hallgren
Scott Lewis wrote:
Hi Thomas,
Coincidently, just over the past few days Paul Webster has contributed
some UI code that uses ECF file transfer. And over this past weekend
I hooked this up to a relatively new FileTransfersView (a view that
shows pending and completed file transfers).
GetFileHandler (this is implemented as a command handler, so that it
can be used in multiple ui contexts):
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ecf/plugins/org.eclipse.ecf.filetransfer.ui/src/org/eclipse/ecf/internal/filetransfer/ui/GetFileHandler.java?root=Technology_Project&view=log
Here's the FileTransfersView class:
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ecf/plugins/org.eclipse.ecf.filetransfer.ui/src/org/eclipse/ecf/filetransfer/ui/FileTransfersView.java?root=Technology_Project&view=log
What this does is to access the FileTransfersView class and pass in
the IIncomingFileTransfer instance created on successfull call to
event.receive(outputstream)
This is not necessarily the only/best way, but it does work. I've
contemplated other ways (i.e. creating a separate shell/window just
for file transfer status [like FireFox], creating a separate one for
each transfer...etc)...but I've not produced them yet. Any
contributions in this area would be most welcome, of course.
Thanks,
Scott
Thomas Hallgren wrote:
Our current download mechanism uses a progress monitor that is
initialized using the URLConnection.getContentLength(). I can see
that the FileTransferJob started from the
AbstractTetrieveFileTransfer does the same thing. What I'm lacking is
some way to add a more elaborate progress reporting. Our reporter
will continuously set new subtasks with a text like
"Downloading <filename>: 845kB of 2.8MB at 130kB/s"
I don't seem to find the interfaces I need to implement this using
ECF. Any ideas on how to do this?
Regards,
Thomas Hallgren
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev