Hi,

I am trying to move RemoteProgressManager and friends to the core (it's a 
dependency of IPN for the SVN progress reporting). As part of that work, I 
changed RemoteProgressMonitor to a Saros IProgressMonitor and wrapped it in a 
CoreToEclipeMonitorAdapter to pass it to Subclipse. After I did this, the SVN 
checkout progress bar misbehaved - the displayed work progress was always zero.

After debugging the issue, it turned out that the CoreToEclipeMonitorAdapter 
only received calls to internalWorked(double) instead of worked(int). 
internalWorked() is not part of the IProgressMonitor interface, though, 
probably because the Eclipse docs describe it as for internal use only. Now, 
how is the best way to fix this problem?

* Implementing CoreToEclipseAdapter#internalWorked as "monitor.worked((int) 
work)" is no good solution - among other problems, it fails for work < 1, which 
would be truncated to zero.

*  I could add internalWorked to our IProgressMonitor interface and adapt 
RemoteProgressMonitor to use a double variable to store the progress. That 
would fix the problem, but at the cost for bringing a somewhat-internal Eclipe 
API method into our Saros API.

* Another option would be to deviate from the Eclipse API and just change 
"worked(int)" to "worked(double)" instead. That would fix the problem as well, 
without the awkwardness of two differently-named methods with different 
parameter types that essentially do the same.

Regards,
Denis

------------------------------------------------------------------------------
_______________________________________________
DPP-Devel mailing list
DPP-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dpp-devel

Reply via email to