cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Lazarus <>
Subject Re: Correctly implementing optimistic concurrency management in Cayenne for web-based computing
Date Fri, 05 May 2006 18:22:02 GMT

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? 

--- Andrus Adamchik <> 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]
> [2]

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

View raw message