Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mylar-dev] CVS API changes yesterday

Hi all,

I noticed some API changes in AbstractRepositoryConnector related to
bug 144998 ("create common offline report storage" - [1]).

Especially the commit at 06.06 07:13 by relves changed some things:
The former abstract method updateOfflineState is now filled with
functionality. A new abstract method named downloadTaskData was
created.

Now I am unsure how to do synchronization. Until now, I used
updateOfflineState in order to download the TaskData (I had my own
class for that) of my task and all subtasks. Should that be done in
downloadTaskData now instead? Where should the data for subtasks be
fetched? Recursively in downloadTaskData?


One thing I miss all the time is a unified error handling during
synchronization. For example downloadTaskData may cause Exceptions.
Why don't you allow a CoreException to be thrown?

There is a simple check for downloadedTaskData to be null but imho
this is not sufficient as the error message is very generic. A core
exception has an IStatus so one could give more information to the
user which is a good thing(tm).
> final RepositoryTaskData downloadedTaskData = downloadTaskData(repositoryTask);
> if (downloadedTaskData == null) {
>         MylarStatusHandler.log("Download of " + repositoryTask.getDescription() + " from "
>                         + repositoryTask.getRepositoryUrl() + " failed.", this);
>         return;
> }

Mik, you planned to start sending mails to this list about major
refactorings. Do you still plan to do that? To me it would be very
helpful if you could point out how a connector implementor should
adapt to the new structure and what new features will be enabled by
that...

For example I am a bit unsure what the new offline storage means: My
tasks have some data attached which I currently store in the (hacked)
Mylar tasklist.xml (with a custom TaskListExternalizer). How will the
new offline storage affect this?


[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=144998

-- 
Felix



Back to the top