On 04/11/2009, at 8:16 AM, Mike Schrag wrote: if you have wonder source in your eclipse, you can add some debug printlns into ERXModelGroup in loadModelsFromLoadedBundles and resetConnectionDictionaryInModel and see when/what is being loaded.
OK, now I might be onto something—I also ramped up the logging for ERXModelGroup. It starts off like this (I've cut some long lines short):
ERXModelGroup.loadModelsFromLoadedBundles: ENTRY Nov 04 10:18:34 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - Loading bundles("ERExtensions", ... Nov 04 10:18:34 PBF[54322] WARN er.extensions.eof.ERXModelGroup - Clearing previous class descriptions ERXModelGroup.resetConnectionDictionaryInModel: ENTRY Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - Adjusting erprototypes Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - New Connection Dictionary for erprototypes: {... ERXModelGroup.resetConnectionDictionaryInModel: ENTRY Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - Adjusting erprototypes ERXModelGroup.resetConnectionDictionaryInModel: ENTRY Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - Adjusting Bookings Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - New Connection Dictionary for Bookings: {... ERXModelGroup.resetConnectionDictionaryInModel: ENTRY Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - Adjusting Bookings ERXModelGroup.resetConnectionDictionaryInModel: ENTRY Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - Adjusting ContactSet Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - New Connection Dictionary for ContactSet: {... ERXModelGroup.resetConnectionDictionaryInModel: ENTRY Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - Adjusting ContactSet
So the in-model connection dictionaries are being replaced with the global overrides from Properties. So at that point it's handled 3 of the 8 models, and none of those is the model containing the "Status" entity. The very next line is the error:
Nov 04 10:18:35 PBF[54322] WARN NSLog - <er.extensions.appserver.ERXDirectActionRequestHandler>: Exception while handling action named "default" on action class "null" :java.lang.IllegalArgumentException: An object store for the entity "Status" could not be found. Verify that the entity is defined in an EOModel, and that the model is installed properly. To see what models are loaded, you can try printing the return value of EOModelGroup.defaultGroup() in your application.
And then it carries on adjusting the remaining models:
ERXModelGroup.resetConnectionDictionaryInModel: ENTRY Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - Adjusting PBFAuth Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - New Connection Dictionary for PBFAuth: {... ERXModelGroup.resetConnectionDictionaryInModel: ENTRY Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - Adjusting PBFAuth ERXModelGroup.resetConnectionDictionaryInModel: ENTRY Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - Adjusting Auth Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - New Connection Dictionary for Auth: {... ERXModelGroup.resetConnectionDictionaryInModel: ENTRY Nov 04 10:18:35 PBF[54322] DEBUG er.extensions.eof.ERXModelGroup - Adjusting Auth
It's the Auth model there that contains "Status". So presumably it hasn't had its connection dictionary adjusted by the time that page is ready to load. Again, on some runs it's fine (maybe the CD gets adjusted just in time), and on others it fails like this. Any advice?
|