Yea, I was actually thinking of the original by David Neumann if he was looking for a quick and dirty solution. But Wonder should work too.

--
Galen Rhodes
[EMAIL PROTECTED]

"There is no worse tyranny than to force a man to pay for what he does not want merely because you think it would be good for him."

-- Robert Heinlein --



On Jul 20, 2007, at 4:33 PM, Mike Schrag wrote:

You access this via ERXEC's newTolerantEditingContext factory method, btw. I think there's a way to make that the default, but I'd have to look it up.

ms

On Jul 20, 2007, at 4:24 PM, Chuck Hill wrote:

Wondering :-P where that is?

er.extensions.ERXTolerantSaver.java


On Jul 20, 2007, at 1:16 PM, Galen Rhodes wrote:

Years and years and years ago I could have sworn someone posted a method that replaced EOEditingContext.saveChanges() that would apply (merge) recent database changes to changed EOs if they failed optimistic locking?

I think this was around 2001 or so.

I think it was basically what Miguel is looking for in one easy to use method.

--
Galen Rhodes
[EMAIL PROTECTED]

"There is no worse tyranny than to force a man to pay for what he does not want merely because you think it would be good for him."

-- Robert Heinlein --



On Jul 19, 2007, at 7:19 PM, Chuck Hill wrote:


On Jul 19, 2007, at 4:17 PM, Miguel Arroz wrote:

Hi!

Pardon my ignorance, but is there a way to apply this globally? IE, change the behaviour of all the ECs to this?

You could add it to a sub-class of EC. I have _no_ idea what this would do to EOF internals, but I would not be at all optimistic for success.


I will actually used an optimized version of this to (try to) solve my problem, because I can reduce the number of fetches, but it would be nice to know that this would work fine everywhere.

This is just an extract from how I handle optimistic locking problems.

Chuck


PS: Pierre, it would be *really* great to have that bug fixed! ;)

4. Try this instead of refault:

    /**
* Forces this object to be re-read from the database; the snapshot and all editing contexts * holding this object are updated. Merging or overwriting of the changes is then handled by * the editing context delegate. This method takes no action if the object is pending insertion.
     *
     * @param anObject the object to be evaluated
     */
    public static void refreshObject(EOEnterpriseObject anObject)
    {
        /** require [valid_theObject_param] anObject != null;
[in_ec] anObject.editingContext() != null; **/

// We can't just call editingContext().refreshObject() or editingContext().refaultObject() the object here. // That will result in fresh data only if the object is in a single editing context. // This seems like the safest way to get fresh data and inform all of the other
        // editing contexts that they need to update.
        EOEditingContext ec = anObject.editingContext();
        if ( ! ec.insertedObjects().containsObject(anObject))
        {
EOQualifier thisObject = EOUtilities.qualifierForEnterpriseObject(ec, anObject); EOFetchSpecification fetchSpec = new EOFetchSpecification(entityForSelf(anObject).name(), thisObject, NSArray.EmptyArray);
            fetchSpec.setRefreshesRefetchedObjects(true);
anObject.editingContext ().objectsWithFetchSpecification(fetchSpec);
        }
    }


--

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects






Miguel Arroz
http://www.terminalapp.net
http://www.ipragma.com





--

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects





_______________________________________________
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/mike% 40bunburyjamestown.org

This email sent to [EMAIL PROTECTED]



--

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects





_______________________________________________
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/mschrag% 40mdimension.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/mike% 40bunburyjamestown.org

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]

Reply via email to