RE: Hollow state

From: David Solis (dsoli..egosoft.com.mx)
Date: Wed Feb 19 2003 - 19:26:36 EST

  • Next message: David Solis: "RE: Hollow state"

    Thanks Craig.

    I sent a message with a related question about what is the best generic
    solution.

    Thanks again

    Regards

    David

    > -----Original Message-----
    > From: Craig Miskell [mailto:cmiskel..lbatross.co.nz]
    > Sent: Wednesday, February 19, 2003 6:17 PM
    > To: cayenne-use..bjectstyle.org
    > Subject: RE: Hollow state
    >
    >
    > Just to follow up on a reply from Howard to the Tapestry
    > list, it seems the easiest way is to implement an Immutable
    > adaptor for the CayenneDataObject class, so that it isn't
    > serialized/deserialized. I'm reasonably confident that this
    > is correct behaviour... we want exactly the same object
    > hanging around from one place to the next, and if anything
    > chagnes in it, then new pages *should* see the changes. In
    > fact, in the Tapestry 2.4 environment, it's essential, as I
    > believe Cayenne kind of relies on objects being unique within
    > a DataContext/OBjectStore. If Tapestry copies them and gives
    > each Page it's own copy, you'll end up seeing fragmentation
    > of values as one page edits one copy, then another edits
    > another... arrghhhhh.
    >
    > So, to summarise, I believe that the following is necessary:
    >
    > Create your own subclass of DefaultValuePersister, and in the
    > initialize method register and instance of ImmutableValueCopier for
    > CayenneDataObject:
    >
    > public class CayenneFriendlyValuePersister extends
    > DefaultValuePersister {
    > public void initialize(IRequestCycle) {
    >
    > this.registerValueCopier(CayenneDataObject.class, new
    > ImmutableValueCopier());
    > }
    > }
    > NB: Code has not been compiled, nor tested. I don't have
    > Tap2.4, and don't have the time to find it, download,
    > compile, fiddle, just yet.
    > Sorry 'bout that.
    >
    > Then you need to use the extension point to install your
    > Persister class (something along the lines of including the
    > extension tag in your application specification.. I haven't
    > been near that sort of thing yet so won't say anything more
    > that might be misleading :-)).
    >
    > I'd be interested to see if this works....David?
    >
    > Craig
    >
    >



    This archive was generated by hypermail 2.0.0 : Wed Feb 19 2003 - 22:35:06 EST