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 <[email protected]> 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
> <[email protected]> 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
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/mylyn-integrators
>
>
> _______________________________________________
> mylyn-integrators mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/mylyn-integrators
>
>



-- 
Steffen Pingel
Committer, http://eclipse.org/mylyn
Senior Developer, http://tasktop.com
_______________________________________________
mylyn-integrators mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/mylyn-integrators

Reply via email to