Personally I would suggest snapshot - returns a handy-dandy dictionary of the item.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of WebObjects Sent: Wednesday, May 03, 2006 4:55 PM To: WebObjects-List Apple Subject: Re: Want to iterate over items in EditingContext for validation before save I'm taking a poke at using "ec.insertedObjects()" to evaluate each object prior to saving. So far I can grab an array of the objects, although I had to cast them into EO's and not simply their entity type (code immediately following): NSArray tester = new NSArray(ec.insertedObjects()); Enumeration enumerator = tester.objectEnumerator(); while (enumerator.hasMoreElements()) { EOEnterpriseObject myObjectToTest = (EOEnterpriseObject)enumerator.nextElement(); ...} ...I'm pretty close, the next thing I'm doing is trying to gain access to the KeyValues within the EOEnterpriseObject, which I'm trying to use the following to get at this... NSArray allPropertyKeys() Returns all of the receiver's property keys. NSArray attributeKeys() Returns the names of the receiver's attributes (not relationship properties). ...however, these only seem to return the Property keys and not the properties/values. The API isn't the easiest to read. My goal is to get at the values and then to use ec.deleteObject( myObjectToTest ) when needed. What is the right method to access the Keyvalues-properties? Thanks! -Bill on 5/2/06 19:07, Ken Anderson at [EMAIL PROTECTED] wrote: > No, but doing ec.deleteObject(obj) will. If the object is new and > has never been saved, it will effectively be nullified. > > On May 2, 2006, at 10:01 PM, WebObjects wrote: > >> Art, >> >> I'm thinking of EOEditingContext.insertedObjects() as the choice in >> this >> case. I actually thought that may be the answer here (thanks for >> your time >> on this). >> >> If I were to remove an element of the NSArray returned by this >> method, would >> then calling .saveChanges() on the ec now exclude objects removed >> from the >> array? If so is this because of the magic of WO keeping track of >> things? >> (it seems to easy, like I'm missing something) >> >> Thanks for your wisdom, >> >> -Bill >> >> >> on 5/2/06 18:53, Art Isbell at [EMAIL PROTECTED] wrote: >> >>> 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/webobjects% >>> 40concyse.com >>> >>> This email sent to [EMAIL PROTECTED] >> >> >> _______________________________________________ >> 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/lists% >> 40anderhome.com >> >> This email sent to [EMAIL PROTECTED] > _______________________________________________ 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/cawineguy%40gmail.com This email sent to [EMAIL PROTECTED] _______________________________________________ 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]
