On May 2, 2006, at 2:48 PM, WebObjects wrote:

I've found an error in my coding style - too late in this project though. I use EOUtilities.createAndInsertInstance in a constructor for a page, and as
a result 'refresh' and 'back' have become my enemies.

How can I iterated over the unsaved objects in an EditingContext (ec), test their validity (ie. if ItemAt(0).getSomeValue() == null, etc) and delete
them from the ec prior to .saveChanges()  ?

It would seem that if you can modify your code to iterate over unsaved objects, that you could also modify your constructor to fix this problem. But maybe not...

EOEditingContext.insertedObjects() returns an array of inserted objects.

Or probably better, assuming that you can modify your constructor, would be to create a new editing context assigned to an instance variable of this component, lock it, and insert your new objects into this new editing context. Then if the user backtracks or refreshes, only objects inserted into the editing context of the current instance of this component would be saved. Objects inserted into other instances of the same component would be freed when the component drops out of the page cache without being saved to the DB.

Aloha,
Art

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to