Dear All,
I have not heard anything since filing the singleton TopComponent
called twice because of @ConvertAsProperties bug report
(
http://www.netbeans.org/issues/show_bug.cgi?id=167395). Just to
recap, the NetBeans 6.7 TopComponent wizard annotates new singleton
TopComponents with @ConvertAsProperties. Unfortunately it appears that
these singleton TopComponent constructors are now called twice: once
by the getDefault() method as you would expect and then by the no
argument constructor because @ConvertAsProperties needs to deserialze
it too. Has anyone else noticed this problem?
I also noticed that since removing the @ConvertAsProperties
annotations from my TopComponents to prevent this bug my TopComponents
are no longer displayed when I run my application after building it as
a ZIP. When I run it from within the NetBeans IDE it all works fine
though! Any ideas why?
Best wishes,
Dan
2009/6/19 Dan Dubois <
uvicoxpz@...>:
> I have done some more investigating and found that the culprit is
> possibly the @ConvertAsProperties annotation added to the top of each
> TopComponent. It appears to be deserializing the component after it
> has already been deserialized the normal way thus calling the
> singleton TopComponent constructor twice.
>
> I can reproduce the problem by cleaning my platform application build.
> If I run the application the first time, my singleton TopComponents
> only get their constructors called once which is what I would expect.
> However, when I close and then rerun the application my singleton
> TopComponents will each get their constructors called twice.
>
> I can remedy this problem by removing the @ConvertAsProperties
> annotation from my TopComponents, cleaning and rebuilding my
> application.
>
> Is this a bug? I have created
>
http://www.netbeans.org/issues/show_bug.cgi?id=167395 just in case.
>
> Best wishes,
> Dan
>
> 2009/6/19 Dan Dubois <
uvicoxpz@...>:
>> Thanks for the input.
>>
>> I tried to use the TopComponent wizard for the first time in RC3 to
>> see if I get the same problems with a fresh TopComponent.
>> Unfortunately the wizard does not work and produces the following IDE
>> error after entering my new TopComponent's name and clicking next:
>>
>> SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor
>> org.openide.WizardDescriptor$Listener$2$1
>> java.lang.NoClassDefFoundError: javax/script/ScriptEngineFactory
>> at java.lang.ClassLoader.defineClass1(Native Method)
>> ...
>>
>> I tried deleting the NB home directory ~/.netbeans/6.7rc3 but still
>> get the error. My application TopComponents were originally created
>> using the Beta version of NB 6.7.
>>
>> Any ideas? Otherwise I suppose I will have to wait for a new NB
>> release before I can test.
>>
>> Best wishes,
>> Dan
>>
>>
>> 2009/6/19 Tom Wheeler <
tomwheel@...>:
>>> If this is true, it is almost certainly a bug. I tried, but failed,
>>> to reproduce this in 6.7 RC3 based on what you said. It's possible
>>> that I overlooked some detail of what you did or that there is a bug
>>> which only affects certain configurations.
>>>
>>> As the very definition of Singleton implies, there should only be one
>>> instance created. If you've observed this on what is basically an
>>> unmodified TopComponent as generated by the wizard, then please file a
>>> bug report on it.
>>>
>>> On Fri, Jun 19, 2009 at 12:34 PM, Dan Dubois<
uvicoxpz@...> wrote:
>>>> I should clarify; when I say my singleton TopComponents are being
>>>> called twice I mean two instances of each TopComponent are being
>>>> created through their public no argument constructors.
>>>>
>>>> 2009/6/19 Dan Dubois <
uvicoxpz@...>:
>>>>> Hi All,
>>>>>
>>>>> I have a NetBeans 6.7 RC3 platform application. I registered some
>>>>> listeners on an object in my TopComponent's constructor and realised
>>>>> they were being registered twice.
>>>>>
>>>>> I discovered this was because all my singleton TopComponents are
>>>>> called twice during my platform application start up. Once via
>>>>> reflection, and the second via the getDefault() boilerplate code that
>>>>> NetBeans generates.
>>>>>
>>>>> Is this normal behavior? I can't find anything about it on the web...
>>>>>
>>>>> Best wishes,
>>>>> Dan
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Tom Wheeler
>>>
http://www.tomwheeler.com/>>>
>>
>