Community
Participate
Working Groups
contribute section only if task has associated reviews display summary of incoming changes for each review in reviews section display CR and V columns like the Gerrit dashboard view add task list tooltip to reviews section
New Gerrit change created: https://git.eclipse.org/r/56268
New Gerrit change created: https://git.eclipse.org/r/56269
New Gerrit change created: https://git.eclipse.org/r/56275
New Gerrit change created: https://git.eclipse.org/r/56300
For the CR and V columns, you can copy the images from org.eclipse.mylyn.gerrit.dashboard.ui into /org.eclipse.mylyn.reviews.ui/icons and add them to ReviewsImages. Have a look at ReviewTableLabelProvider (see attached context) for how the Gerrit dashboard view uses them.
Created attachment 256697 [details] mylyn/context/zip
New Gerrit change created: https://git.eclipse.org/r/56316
We should either load the task-review mapping synchronously for a given task when opening it, or keep the entire mapping (for all tasks) in memory all the time. The latter might have some advantages since we need to update it every time we get an incoming. Blaine I think you were looking at AbstractExternalizationParticipant before; it might make sense to take advantage of that so that loading and saving happens at the same time the task list is loaded and saved. If you've already got it working the first way, maybe we can give it a try and consider changing it if the performance is a problem.
My current implementation keeps task-review mappings in memory, only serializing a single mapping when it changes and deserializing all at startup. Using an AbstractExternalizationParticipant will assist in this but it creates a new issue: AbstractExternalizationParticipant's are a part of the TasksUiPlugin and this makes Tasks dependent on a review component. It also doesn't actually solve the race condition that occurs when an editor is open showing a task with reviews associated because AbstractExternalizationParticipant's execute asynchronously too. Is there a way I can force a Job to execute and join the current thread? They have a join method, but that only works if they are in the running state, not the waiting state.
I think that AbstractExternalizationParticipant is the right way to go because then the ExternalizationParticipantManager would have more control over the mappings and they'll act more consistently.
I decided on another method. The serialization I implemented didn't quite match what the AbstractExternalizationParticipant's did. To fix the times where the deserialization isn't complete when a mapping is requested, we manually load the mappings for that task.
New Gerrit change created: https://git.eclipse.org/r/58056
Gerrit change https://git.eclipse.org/r/56300 was merged to [master]. Commit: http://git.eclipse.org/c/mylyn/org.eclipse.mylyn.reviews.git/commit/?id=03a47c7ebc66e39a2526e453b541b7f5daba5790
Gerrit change https://git.eclipse.org/r/61531 was merged to [master]. Commit: http://git.eclipse.org/c/mylyn/org.eclipse.mylyn.reviews.git/commit/?id=36d843b3c44f879ce8430fc8f52a2cb2e3ece513
.
New Gerrit change created: https://git.eclipse.org/r/66247
Gerrit change https://git.eclipse.org/r/66247 was merged to [master]. Commit: http://git.eclipse.org/c/mylyn/org.eclipse.mylyn.reviews.git/commit/?id=1d7abde3373d15617b69b0b0f2b6dc3cf2d10c7f