Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » DTP » About navigatorContent in connectivity
About navigatorContent in connectivity [message #479431] Mon, 10 August 2009 21:42 Go to next message
Joe Wu is currently offline Joe Wu
Messages: 8
Registered: July 2009
Junior Member
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 #479583 is a reply to message #479431] Tue, 11 August 2009 11:44 Go to previous messageGo to next message
Brian Fitzpatrick is currently offline Brian Fitzpatrick
Messages: 495
Registered: July 2009
Senior Member
Jue Wu wrote:
> 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.
>
I believe we've used the IPipelinedTreeContentProvider interface in the
past to inject items into the tree at various times. You might look for
uses of that interface
( http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse. platform.doc.isv/reference/api/org/eclipse/jface/viewers/ITr eeContentProvider.html)

Sorry I can't be more help.
--Fitz
Re: About navigatorContent in connectivity [message #479694 is a reply to message #479583] Tue, 11 August 2009 22:08 Go to previous messageGo to next message
Joe Wu is currently offline Joe Wu
Messages: 8
Registered: July 2009
Junior Member
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 #479794 is a reply to message #479694] Wed, 12 August 2009 09:52 Go to previous messageGo to next message
Brian Fitzpatrick is currently offline Brian Fitzpatrick
Messages: 495
Registered: July 2009
Senior Member
Jue Wu wrote:
> 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".
>
>
I'll have to ask the folks who worked on that code to chime in here...
Larry or Loic?
Re: About navigatorContent in connectivity [message #479795 is a reply to message #479694] Wed, 12 August 2009 10:32 Go to previous messageGo to next message
Brian Fitzpatrick is currently offline Brian Fitzpatrick
Messages: 495
Registered: July 2009
Senior Member
Jue Wu wrote:
> 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".
>
>
Can you create a Bugzilla item for this and we'll see if we can get some
input?
Re: About navigatorContent in connectivity [message #479904 is a reply to message #479795] Wed, 12 August 2009 22:00 Go to previous message
Joe Wu is currently offline Joe Wu
Messages: 8
Registered: July 2009
Junior Member
Brian, I have opened a bugzilla item, bug 286468.
Re: About navigatorContent in connectivity [message #596279 is a reply to message #479431] Tue, 11 August 2009 11:44 Go to previous message
Brian Fitzpatrick is currently offline Brian Fitzpatrick
Messages: 495
Registered: July 2009
Senior Member
Jue Wu wrote:
> 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.
>
I believe we've used the IPipelinedTreeContentProvider interface in the
past to inject items into the tree at various times. You might look for
uses of that interface
( http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse. platform.doc.isv/reference/api/org/eclipse/jface/viewers/ITr eeContentProvider.html)

Sorry I can't be more help.
--Fitz
Re: About navigatorContent in connectivity [message #596289 is a reply to message #479583] Tue, 11 August 2009 22:08 Go to previous message
Joe Wu is currently offline Joe Wu
Messages: 8
Registered: July 2009
Junior Member
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 #596292 is a reply to message #479694] Wed, 12 August 2009 09:52 Go to previous message
Brian Fitzpatrick is currently offline Brian Fitzpatrick
Messages: 495
Registered: July 2009
Senior Member
Jue Wu wrote:
> 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".
>
>
I'll have to ask the folks who worked on that code to chime in here...
Larry or Loic?
Re: About navigatorContent in connectivity [message #596296 is a reply to message #479694] Wed, 12 August 2009 10:32 Go to previous message
Brian Fitzpatrick is currently offline Brian Fitzpatrick
Messages: 495
Registered: July 2009
Senior Member
Jue Wu wrote:
> 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".
>
>
Can you create a Bugzilla item for this and we'll see if we can get some
input?
Re: About navigatorContent in connectivity [message #596305 is a reply to message #479795] Wed, 12 August 2009 22:00 Go to previous message
Joe Wu is currently offline Joe Wu
Messages: 8
Registered: July 2009
Junior Member
Brian, I have opened a bugzilla item, bug 286468.
Previous Topic:running datatools in a rap runtime
Next Topic:How to generate Execution Plan in eclipse?
Goto Forum:
  


Current Time: Fri Jul 25 03:03:58 EDT 2014

Powered by FUDForum. Page generated in 0.02637 seconds