Re: Correctly implementing optimistic concurrency management in Cayenne for web-based computing

From: Eric Lazarus (ericllazaru..ahoo.com)
Date: Fri May 05 2006 - 14:22:02 EDT

  • Next message: Andrus Adamchik: "Re: Correctly implementing optimistic concurrency management in Cayenne for web-based computing"

    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 <andru..bjectstyle.org> 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



    This archive was generated by hypermail 2.0.0 : Fri May 05 2006 - 14:22:27 EDT