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

From: Eric Lazarus (ericllazaru..ahoo.com)
Date: Fri May 05 2006 - 15:09:58 EDT

  • Next message: Andrus Adamchik: "CVS migrated to Apache Subversion"

    We never saw PersistenceState get set to MODIFIED.
    Confusing! Does that mean we messed up in the
    monitoring and should do the test again?

    All we saw was 3 (committed) and 5 (hollow)

    Should I put a break point in the datasource delegate
    or what will that not show me where I am making things
    dirty?

    Why we do NOT see these updates when we override
    writeProperty... and why we never see the valued
    MODIFIED when we override setPersistenceState().

    Something is not quite right. Hmmm....

    Eric

    --- Andrus Adamchik <andru..bjectstyle.org> wrote:

    > > 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 <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
    > >
    >
    >

    __________________________________________________
    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 - 15:10:23 EDT