About navigatorContent in connectivity [message #479431] |
Tue, 11 August 2009 01:42 |
|
Hi all:
I'm in trouble with the overriding problem of extension
"org.eclipse.ui.navigator.navigatorContent" which its id is
"org.eclipse.datatools.connectivity.db.sqlModelContent" in plug-in
"org.eclipse.datatools.connectivity.sqm.server.ui". And its triggerPoints
contains SQLObject and IVirtualNode.
When i expand the SQLObject/Virtual Node of a specific databases, this
navigatorContent in connectivity would be triggered always and the
getChildren() method would return empty array first and then the children
would be fetched and added by another job named LoadingJob.
I want to intercept the children fetched by suppressed extension when i
override this navigatorContent extension, but I can only get empty
children because the children was added by another job.
Should a non-loading node mechanism be provided? Should the trigger policy
be reconsidered? Or there is another solution.
Thanks.
|
|
|
|
Re: About navigatorContent in connectivity [message #479694 is a reply to message #479583] |
Wed, 12 August 2009 02:08 |
|
Hi Brian:
I do use the IPipelinedTreeContentProvider. But, there is a UI thread to
add children in the loading node mechanism.
The loading node mechanism is returning an EmptyArray immediately and
adding a loading node to be place holder.Then the children would be
fetched by a thread -- "LoadingJob". After that, the place holder would be
removed and the children would be added by another thread --
"ClearPlaceHolderJob".
I want to group the children. Yes, i group children successfully by the
method getPipelinedChildren(Object aParent, Set theCurrentChildren) of
IPipelinedTreeContentProvider. But i can't intercept the UI thread
"ClearPlaceHolderJob" which add children to treeviewer separately.
The behavior is that there are grouped children by getPipelinedChildren()
and duplicated children added by the UI thread -- "ClearPlaceHolderJob".
|
|
|
|
|
|
|
Re: About navigatorContent in connectivity [message #596289 is a reply to message #479583] |
Wed, 12 August 2009 02:08 |
|
Hi Brian:
I do use the IPipelinedTreeContentProvider. But, there is a UI thread to
add children in the loading node mechanism.
The loading node mechanism is returning an EmptyArray immediately and
adding a loading node to be place holder.Then the children would be
fetched by a thread -- "LoadingJob". After that, the place holder would be
removed and the children would be added by another thread --
"ClearPlaceHolderJob".
I want to group the children. Yes, i group children successfully by the
method getPipelinedChildren(Object aParent, Set theCurrentChildren) of
IPipelinedTreeContentProvider. But i can't intercept the UI thread
"ClearPlaceHolderJob" which add children to treeviewer separately.
The behavior is that there are grouped children by getPipelinedChildren()
and duplicated children added by the UI thread -- "ClearPlaceHolderJob".
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03708 seconds