Re: NullPointerException only after first call to batchFetchRelationship

Chuck Hill <[email protected]> Tue, 13 Jan 2004 13:42:22 -0800
Newsgroups gmane.comp.web.webobjects.eof
Organization Global Village Consulting, Inc.
Message-ID <[email protected]>
Hi Kaj,

For the "default" EOF stack you should be able to just add the line
EOModelGroup.defaultGroup().loadAllModelObjects();
to you Application constructor.  Having this called once (or once per 
EOF stack, I'm not sure about that) is sufficient.

This should not be needed so, yes, its a bug.


Chuck


Kaj Hejer wrote:

> Hi!
> 
> Thanks for answering and for this code! I will give this a try!
> 
> In the app where we got this exception we have only two pages where we 
> create our own EOObjectStoreCoordinator and an ec with this as a parent 
> because these two pages to heavy database stuff which block the app for 
> other users.
> 
> All the other pages use session.defaultEditingContext or a childEC of this.
> 
> Would it then be ok to use the following in the constructor in 
> Session.java:
> 
>     EOUtilities.modelGroup(defaultEditingContext()).loadAllModelObjects();
> 
> to get things correct Initialized? (ofcource except for those two pages 
> where I use my own EOObjectStoreCoordinator... but in those pages I 
> don't care yet since I havn't seen this issue there so far).
> 
> Do you think it is a bug in of that the reason this stuff not gets 
> Initialized and we have to call loadAllModelObjects?
> 
> 
> -Kaj :)
> 
> 
> 
> At 10:50 -0800 13-01-04, Chuck Hill wrote:
> 
>> I had a perhaps similar problem which was caused by incomplete loading 
>> of EOModels when the first EOF operation was attempted.  Try adding 
>> this to your constructor:
>> EOModelGroup.defaultGroup().loadAllModelObjects();
>>
>> Note: defaultGroup() is not appropriate where using multiple EOF 
>> stacks.  In that case create an ec in the stack and then use
>> EOUtilities.modelGroup(ec).loadAllModelObjects();
>>
>> Chuck
>>
>>
>> Kaj Hejer wrote:
>>
>>> At 11:00 -0800 15-12-03, Chuck Hill wrote:
>>>
>>>> I also do a lot of batchFetchRelationship and have not seen this. 
>>>> Yet.  We don't often use child EC's so that may explain it.
>>>>
>>>> Strange, hard to reproduce, errors like this can be the result of an 
>>>> editing context processing notifications sent by another editing 
>>>> context.  Tracking this down can be very difficult.  I looked at the 
>>>> stack trace that Kaj posted but did not see any evidence of this. It 
>>>> looks like something in EODatabaseContext is hosed.
>>>>
>>>
>>>
>>>
>>> Hi!
>>>
>>> Just fyi I now get the
>>>
>>> [2004-01-13 13:51:24 MET] <WorkerThread6> java.lang.NullPointerException
>>>         at 
>>> com.webobjects.eocontrol._EOMutableKnownKeyDictionary.<init>(_EOMutableKnownKeyDictionary.java:90) 
>>>
>>>         at 
>>> com.webobjects.eoaccess.EORelationship._foreignKeyForSourceRow(EORelationship.java:1094) 
>>>
>>>
>>>
>>> stacktrace when I don't use batchFetchRelationship.
>>>
>>> We use prefetching in the fetch where I get this exception.
>>>
>>> The ec here is session.defaultEditingContext.
>>>
>>> See full stacktrace at http://folk.uio.no/kajh/tmp/wo20040113.txt
>>>
>>>
>>>
>>> -Kaj :)
>>>
>>
>> -- 
>>
>> Chuck Hill                                 [email protected]
>> Global Village Consulting Inc.             http://www.global-village.net
>>
>> Progress is the mother of all problems.
>> - G. K. Chesterton
> 
> 

-- 

Chuck Hill                                 [email protected]
Global Village Consulting Inc.             http://www.global-village.net

Progress is the mother of all problems.
- G. K. Chesterton