Hi all,
I think I've made some progress on the problem of my snapshots getting out of line when trying to delete a newly added EO. For a long time, I chased the notion that I was somehow, somewhere, violating one of the EOF Commandments ( http://en.wikibooks.org/wiki/Programming:WebObjects/EOF/Using_EOF/The_EOF_Commandments). I did exhaustive searching through all of my custom EO code, determined that I was not violating anything in any way, and then just to be sure, went through and commented out every overriding method in every Custom EO I had (even toString and the awakeFrom* methods, out of paranoia). Even with all of this, I still had the problem, so I concluded it must be something else. I turned up logging on everything I could think of, and started watching the logs as I went through the workflow, and soon I came to this:
DEBUG er.eo.ERXGenericRecord - saveChanges: before save to child context com.webobjects.eocontrol.EOEditingContext@e2c656, need to flush caches on objects in parent context er.extensions.ERXEC@793532:
Now, I am not sure what is going on here, and definitely do not want to start pointing the finger at the project wonder stuff, but suddenly this seems like a very good place to look. So I changed my EOGenerator templates so that nothing inherited from ERXGenericRecord anymore, and removed any references to ERXEC, but I still seem to get that same message in my output.
So my questions are:
A) Why are my EOs getting cast to ERXGenericRecord still, and how do I make that stop so that I can see if it is in fact the problem
and
B) Why is something flushing caches on the parent object when the child object saves? This certain SOUNDS like it could be what's screwing up my parent editing context's snapshot.
Thanks, Mark |