Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 217953

Summary: [api] generalize task list externalization for import/export
Product: z_Archived Reporter: Steffen Pingel <steffen.pingel>
Component: MylynAssignee: Project Inbox <mylyn-triaged>
Status: CLOSED MOVED QA Contact:
Severity: enhancement    
Priority: P4 CC: ebaron, ksebasti, leo.dos.santos, remy.suen
Version: unspecifiedKeywords: helpwanted
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on: 233378    
Bug Blocks: 248364    

Description Steffen Pingel CLA 2008-02-05 21:23:00 EST
See discussion on bug 209327 (comment 13 and following).

The review of the task list serialization code indicated that the task list serialization and import/export code probably needs a larger refactoring. The current logic is spread over multiple classes and duplicates quite a bit of code. Mylyn should provide a facility to import and exports through a single interface. 

These entities need to be serialized:

 * Task
 * Task Data (for rich editing / offline support)
 * Task Context
 * Task Repository

This could be implemented in a new class that serves as a facade to TaskListWriter, TaskRepositoriesExternalizer, TaskDataManger and InteractionContextManager. The class could be made public API and would support import and export of these entities through a single stream. The interface could look similar to this:

class TaskExternalizer {

 void write(AbstractTaskContainer[] items, OutputStream out, IProgressMonitor monitor);
 
 Result read(InputStream in, IProgressMonitor monitor);

}

class Result {

 IStatus getStatus();

 void commit(TaskList taskList);
  
}

The Result class would provide facilities for user interaction in case of problems (e.g. when a task is imported that already exists).
Comment 1 Steffen Pingel CLA 2008-04-26 00:47:44 EDT
Rob, per our discussion I would like to defer making import/export part of the API and reschedule this bug for 3.1. For the current 3.0 cycle I would like to focus our resources on getting the concurrency model right to ensure data consistency (bug 183683 and bug 226221).
Comment 2 Eclipse Webmaster CLA 2022-11-15 11:45:08 EST
Mylyn has been restructured, and our issue tracking has moved to GitHub [1].

We are closing ~14K Bugzilla issues to give the new team a fresh start. If you feel that this issue is still relevant, please create a new one on GitHub.

[1] https://github.com/orgs/eclipse-mylyn