Should I put a breakpoint in the data source delegate or what?

Sure. You can also override CayenneDataObject.setPersistenceState(..) and catch when the state changes to PersistenceState.MODIFIED.

Andrus


On May 5, 2006, at 2:22 PM, Eric Lazarus wrote:
Andrus

Objects are showing up in 'modifiedObjects' without
our seeing ANY update in 'writeProperty' so how can we
srceen for phantoms there. What else can cause objects
to show up as dirty when writeProperty is not called
for that object? Should I put a breakpoint in the data
source delegate or what?

Eric
--- Andrus Adamchik <[EMAIL PROTECTED]> wrote:

Eric,

I don't have time to go through all your code, but
let me comment on
possible pitfalls.

Sometimes frontend frameworks cause "phantom"
updates, when
populating objects from the form values. By phantom
I mean the
equivalent of this: object.setX(object.getX()). They
are cleared on
commit and should not generate events for the peer
context, however
when you inspect an uncommitted DataContext, they
will show up in
"modifiedObjects" collection.

We discussed various options to handle that, but
decided to put off
any solution till future releases [1]. Right now you
can check for
"phantoms" and discard them inside "writeProperty",
but this has its
own limitations as discussed in the Jira issue that
I mentioned.

Also there is a bug in the latest Beta, reported by
Bryan [2]. This
may or may not be related.

Andrus

[1] http://issues.apache.org/cayenne/browse/CAY-512
[2]

http://objectstyle.org/cayenne/lists/cayenne-user/2006/04/0276.html



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


Reply via email to