Re: WOToOneRelationship and "dirty" editing context
Re: WOToOneRelationship and "dirty" editing context
- Subject: Re: WOToOneRelationship and "dirty" editing context
- From: Lachlan Deck <email@hidden>
- Date: Fri, 6 Jan 2006 06:12:48 +1100
Hi there,
On 06/01/2006, at 4:16 AM, email@hidden wrote:
I am using a WOToOneRelationship and having some issues with the
editing context becoming "dirty" when no changes are made to the
object itself.
I have a User entity with a "to one" relationship (department) to
my Department entity. Here are the bindings for the
WOToOneRelationship component in WOBuilder used modifying an
instance of the User entity, called validatedUser.
WOToOneRelationship1: WOToOneRelationship {
relationshipKey = "department";
sourceObject = mySession.validatedUser;
sourceEntityName = "User";
uiStyle = "popup";
dataSource = allDepartments;
destinationDisplayKey = "shortDescriptor";
}
(FYI. I followed some tips on Kieran's website (http://
homepage.mac.com/kelleherk/iblog/C183784902/E951811406/index.html)
to display all of the departments contained in my Department
Entity. This is because I have ERExtensions as part of my
application's frameworks.... Thanks Kieran!).
All is working fine and I can display the validatedUser (an
instance of the User Entity) and his/her department. If I change
the department from the WOToOneRelationship popup, and save the
changes to the editing context, the changes are saved successfully
to the database.
My problem is that when I merely display the validatedUser and do
not make any changes, I am still seeing the object as being updated
by logging the updatedObjects() of the editing context. If I
remove the WOToOneRelationship from the page, and replace with a
simple WOTextField, I do not see the object as being updated , when
I do not perform any changes to the user. This is the behavior I
would like to see, and would expect, when using WOToOneRelationship.
Try updating your User like...
public void setDepartment( Department aDepartment ) {
Department currentDepartment;
currentDepartment = department();
if ( currentDepartment != aDepartment ) {
...
}
}
That way your entity will not "update" itself when you're simply
giving it the same value.
with regards,
--
Lachlan Deck
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
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