Re: Nested Editing Contexts
Re: Nested Editing Contexts
- Subject: Re: Nested Editing Contexts
- From: Chuck Hill <email@hidden>
- Date: Tue, 10 Apr 2007 08:47:13 -0700
On Apr 6, 2007, at 3:23 PM, Kevin Windham wrote:
I attempted to implement a nested editing context and ran into a
problem. I would suspect I am violating a rule of some kind, but I
don't know what it would be. My first attempt failed. My editing
page would not load and it would eventually time out and give "no
instance available". I removed the lock and unlock calls and
everything started working as I wanted.
OK, that is a clear sign that you are doing the locking incorrectly.
Specifically, you are locking in one thread and then trying to lock
again in another thread. Without seeing your code I can't say what
went wrong. There are only two ways that I know of to lock editing
contexts that are safe, reliable, and easy to use. One is the
MultiECLockManager (from the GVC frameworks and downloads elsewhere)
and Wonder's EREXEC and other friends in the ERExtensions framework.
If you are not using one of these, chances are excellent that you are
doing it wrong.
Changes and reverts seems successful from the child context to the
parent context. The problem now is that when I try to saveChanges()
on the defaultContext, I get an exception and the changes cannot be
saved to the DB.
Does this sound familiar to anyone, and can you point me in the
right direction.
Without seeing the exception, I won't even try and guess.
Chuck
On Apr 6, 2007, at 9:45 AM, Ken Anderson wrote:
Kevin,
I'm having a little difficulty with your nomenclature and
prepositions :) , but in general, what you're saying is correct.
Just remember, when you perform a saveChanges() on the child EC,
the changes will only be committed to the parent EC. To get your
changes to the DB, that EC has to have saveChanges() called also.
Ken
On Apr 5, 2007, at 4:42 PM, Kevin Windham wrote:
I am trying to work out how to use a nested editing context in my
app.
I have an object that has a relationship to another object that
it owns. I am currently directing the user to another page to
edit the owned object, and need to implement a nested context to
make save and cancel work properly.
My understanding of how this should work is extremely basic at
this point. Here is what I think I need to do when the user
decides to edit the owned object:
create a new editing context with the default context as its parent
lock the new ec
Add my owned object into the new child context
set my child page's object variable to the owned object which is
in the child ec
return the child's page to the user
the user now either saves or cancels
call saveChanges or revertChanges based on the user's action
unlock the child ec
dispose the child ec
return the parent page
Am I going wrong here right off the bat, or is this basically
correct.
Thanks,
Kevin
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40anderhome.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40global-village.net
This email sent to email@hidden
--
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@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden