Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mylyn-integrators] how to get ITask object from task ID?

If your ids contain dashes or characters that may not be valid in
filenames you can use TasksUtil.encode() and TasksUtil.decode() for
encoding and decoding.

Steffen

On Tue, Oct 19, 2010 at 8:36 AM, XuQing Tan <missedone@xxxxxxxxx> wrote:
>
> Why don't you make /Project/View/FolderA/FoderB/TASKID the task id? If
> you don't want to show that in the UI you can set a key on the ITask
> objects.
>
> hi, steffen
>
> unfortunately, i got the ERROR below, after i use the full path as the task
> id...
>
> java.lang.RuntimeException: invalid handle for task, can not contain: -,
> was:
> /A1282-Project/A1282-View/A1282-Folder/99_Appl_SW-Data/Application_Code/eclipse?type=Task&StTaskNumber=3533
>     at
> org.eclipse.mylyn.internal.tasks.core.RepositoryTaskHandleUtil.getHandle(RepositoryTaskHandleUtil.java:25)
>     at
> org.eclipse.mylyn.internal.tasks.core.RepositoryModel.getTaskHandle(RepositoryModel.java:121)
>     at
> org.eclipse.mylyn.internal.tasks.core.RepositoryModel.createTask(RepositoryModel.java:69)
>     at
> org.eclipse.mylyn.internal.tasks.core.sync.SynchronizeQueriesJob$TaskCollector.accept(SynchronizeQueriesJob.java:81)
>
> any suggestion?
>
>   Thanks & Best Regards!
>
>                ///
>               (. .)
>   --------ooO--(_)--Ooo--------
>   |         Nick Tan          |
>   -----------------------------
>
>
>
> On Tue, Oct 19, 2010 at 12:53 PM, Steffen Pingel
> <steffen.pingel@xxxxxxxxxxx> wrote:
>>
>> > actually, i problem is the getTaskData signature only pass a String of
>> > Task
>> > ID, and TaskRepository object.
>> > as this method supposed, i need retrieve the full task details from
>> > server
>> > for web/http access system like JIRA, bugzilla, Trac, etc. it won't be a
>> > pb
>> > since they all have a uniform query interface by TaskID
>> > e.g. JIRA: http://hostname:port/TASKID
>> >
>> > but for StarTeam, tasks/CRs are stored under the folder, so the
>> > pseudo-url:
>> > hostname:port/Project/View/FolderA/FoderB/TASKID
>>
>> Why don't you make /Project/View/FolderA/FoderB/TASKID the task id? If
>> you don't want to show that in the UI you can set a key on the ITask
>> objects.
>>
>> >> If that is not feasible you could consider overriding
>> >> AbstractRepositoryConnector.canSynchronizeTask() and return false. If
>> >> you ensure that performQuery() always returns non partial task data
>> >> you should still be able to leverage almost all functionality of the
>> >> framework. One limitation is that looking up repository tasks by id
>> >> will not work unless a task is already in the task list.
>> >
>> > Oh? could it be a case that I handle a Task ID, which passed as a
>> > argument
>> > by mylyn framework, but the corresponding task not in the task list?
>>
>> Yes, tasks do not necessarily have to be in the task list. You can
>> open tasks directly from the repository.
>>
>> > One more thing, i'm considering use TasksUiPlugin.getTaskList() to
>> > retrieve
>> > the task list, and query task by id/key with the methods provided by
>> > TaskList.
>> > but one pb is TasksUiPlugin.getTaskList() depends on the Mylyn Task UI
>> > plugin, but my code (RespositoryConnector) actually lay in a Core
>> > plugin...
>>
>> I would not recommend that as it limits reuse of your connector in
>> other contexts, e.g. in a headless application.
>>
>> Steffen
>>
>> --
>> Steffen Pingel
>> Committer, http://eclipse.org/mylyn
>> Senior Developer, http://tasktop.com
>> _______________________________________________
>> mylyn-integrators mailing list
>> mylyn-integrators@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/mylyn-integrators
>
>
> _______________________________________________
> mylyn-integrators mailing list
> mylyn-integrators@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/mylyn-integrators
>
>



-- 
Steffen Pingel
Committer, http://eclipse.org/mylyn
Senior Developer, http://tasktop.com


Back to the top