Fortunately, I could solve the issue in the mean time after breaking it
all down to new AbstractNode(Children.LEAF);
My Problem was that I was using the wrong Lookup. I'm not knowledged
enough to judge whether this is just misuse or a case which could be
prevented by NB.

The Code I was basing this off is:
https://github.com/jMonkeyEngine/sdk/blob/master/jme3-materialeditor/src/com/jme3/gde/materialdefinition/navigator/MatDefNavigatorPanel.java#L127

I changed that line to mgr.setRootContext(new MyNode(lookup)); though,
but that shows the issue, I had to use new MyNode(data.getLookup());
"lookup" is not the lookup wanted anyway, but I wonder why that could
trigger an endless recursion, maybe because of the "ContextListener"
calling updateData?

Or is this related to ExplorerUtils.createLookup?

Am 09.12.18 um 16:35 schrieb Emilian Bold:
> If your code is really simple please provide a short example that
> reproduces the issue and post it here or preferably on Apache JIRA for
> the NETBEANS project.
>
> --emi
>
> http://coolbeans.xyz/ - CoolBeans: An IDE for Java, JavaEE, PHP and more!
> On Sun, Dec 9, 2018 at 5:11 PM Geertjan Wielenga
> <geertjan.wiele...@googlemail.com.invalid> wrote:
>> Provide a way to reproduce or a simple sample on GitHub etc, thanks.
>>
>> Gj
>>
>> On Sunday, December 9, 2018, Marc Streckfuß <marc.streckf...@gmail.com> 
>> wrote:
>>> Hey Guys,
>>>
>>> So this issue is on Netbeans 8.2, I cannot test them with NB 9.0 yet as
>>> I have other issues preventing an upgrade.
>>> I am also talking about the Netbeans Platform Facility here, not
>>> Netbeans itself.
>>>
>>> I tried adding Properties Support by adding a Navigator with the Nodes
>>> API, which works so far (I can see the Nodes in the Navigator panel).
>>> The Problem is that selecting a Node in the Navigator leads to a
>>> StackOverflowException because TreeView's Weak PropertyChangeListener
>>> (that's my finding so far,  the debugger only shows that it's a
>>> WeakListenerImpl) and EMLookup/ProxyLookup hang at ArrayList#addAll()
>>> because it calls Collection#toArray, which in turn calls addAll at some
>>> point.
>>>
>>> java.lang.StackOverflowError
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.getComputed(ProxyLookup.java:1306)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1116)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.size(ProxyLookup.java:1158)
>>>     at
>>> org.openide.explorer.DefaultEMLookup$NoNodeLookup$ExclusionResult.allItems(DefaultEMLookup.java:254)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.computeSingleResult(ProxyLookup.java:1296)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1123)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.toArray(ProxyLookup.java:1179)
>>>     at java.util.ArrayList.addAll(ArrayList.java:581)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1143)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.size(ProxyLookup.java:1158)
>>>     at
>>> org.openide.explorer.DefaultEMLookup$NoNodeLookup$ExclusionResult.allItems(DefaultEMLookup.java:254)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.computeSingleResult(ProxyLookup.java:1296)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.computeDelegate(ProxyLookup.java:1123)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1090)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.delegate(ProxyLookup.java:1073)
>>>     at
>>> org.openide.util.lookup.ProxyLookup$LazyCollection.toArray(ProxyLookup.java:1179)
>>>     at java.util.ArrayList.addAll(ArrayList.java:581)
>>>
>>> With a Breakpoint on addAll I could see that it happens in
>>> PropertyChangeSupport#fire() with a selectedNodes event.
>>> Now since my code is really simple (actually only extending AbstractNode
>>> and using the ChildFactory), I am unsure how to proceed/try to debug.
>>>
>>> Also this kind of error has been seen on the issue tracker:
>>> https://netbeans.org/bugzilla/show_bug.cgi?id=210689 (the exception is
>>> only different since we have enough RAM)
>>> Is there a way to find out what the fuzz is about those Lookups? Could
>>> that be related to my code doing something wrong? or not registering
>>> something to the lookup?
>>> Is there a workaround to use the Properties Panel without Nodes? (as
>>> that's essentially what I need, I already have a graphical
>>> representation of the contents of the Navigator)
>>>
>>> Thanks in Advance,
>>> Marc Streckfuß
>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org
>>> For additional commands, e-mail: users-h...@netbeans.apache.org
>>>
>>> For further information about the NetBeans mailing lists, visit:
>>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org
> For additional commands, e-mail: users-h...@netbeans.apache.org
>
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org
For additional commands, e-mail: users-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to