Can you execute: OrderItem.newOrderItem(ec, 1, "iMac 27\" Quad-Core 2.66GHz/1TB/4GB", "*0.00" *)
and have it shipped to my house? :P -Lon On Tue, Oct 27, 2009 at 5:51 PM, Ricardo J. Parada <[email protected]> wrote: > > The newOrder() and newOrderItem() are just convenience methods I wrote for > creating and inserting into the editing context to test this particular EOF > scenario. Then I used the removeFromItems() method generated by the Wonder > templates. But I believe that ends up calling > removeObjectFromBothSidesOfRelationshipWithKey(). > > Anyways, I tested with and without calling processRecentChanges() between > the add and remove. And that made the difference! > > > On Oct 27, 2009, at 8:46 PM, Ricardo J. Parada wrote: > > > Very interesting... You are right David. I have confirmed the same too. > > Adding a call to ec.processRecentChanges() between the add and the remove > makes this work as I expected it. > > Here's the code: > > EOEditingContext ec = ERXEC.newEditingContext(); > Order order = Order.newOrder(ec); > OrderItem anItem = OrderItem.newOrderItem(ec, 1, "iMac 27\" Quad-Core > 2.66GHz/1TB/4GB", "1999.00"); > order.addToItemsRelationship(anItem); > order.computeTotalAmount(); > ec.processRecentChanges(); // <--- It seems like a BUG this is needed for > the remove below to work!! > order.removeFromItems(anItem); > ec.saveChanges(); > > > > On Oct 27, 2009, at 8:15 PM, David LeBer wrote: > > On 2009-10-27, at 7:52 PM, Chuck Hill wrote: > > > On Oct 27, 2009, at 4:40 PM, Lon Varscsak wrote: > > > Try: > > > Create an Order and OrderItem and insert both into an editing context. > > Then add the item to the order using > order.addObjectToBothSidesOfRelationshipWithKey(item, "items"). > > Then call editingContext.processRecentChanges() > > Then removeObjectFromBothSidesOfRelationshipWithKey(item, "items") to > remove the item. > > Then save the editing context. > > > Here is the docs on that method: > > > Forces this EOEditingContext to process pending insertions, deletions, and > updates. Normally, when objects are changed, the processing of the changes > is deferred until the end of the current event. At that point, an > EOEditingContext moves objects to the inserted, updated, and deleted lists, > delete propagation is performed, undos are registered, and > ObjectsChangedInStoreNotification and > ObjectsChangedInEditingContextNotification are posted. You can use this > method to explicitly force changes to be processed. An EOEditingContext > automatically invokes this method on itself before performing certain > operations such as saveChanges. This method does nothing in Java Client > applications. > > > > I'm struggling with how to describe why that works. :P > > > It should not work. processRecentChanges() is called during saveChanges() > so it should not affect the item getting deleted. My feeling is that it not > getting deleted after initial insertion is a bug. > > > I can confirm that calling ec.processRecentChanges() in between the > addObject... and removeObject... calls does work. Though I don't know why at > this point. > > > _______________________________________________ > 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/rparada%40mac.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/varscsak%40smarthealth.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]
