cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Gentry <mgen...@masslight.net>
Subject Re: Implementing and audit log using Cayenne; finding what was modified in an object
Date Fri, 07 Aug 2015 14:37:12 GMT
Oh, and printDirty() actually dumps everything that is modified in the
DataContext, which is kind of an uncommitted audit log.


On Fri, Aug 7, 2015 at 10:33 AM, Michael Gentry <mgentry@masslight.net>
wrote:

> Hi Hugi,
>
> Maybe something like isIdenticalToSnapshot() in this Gist will help you?
>
> https://gist.github.com/mrg/4dce22b67175c27f4047
>
> If I recall, this version is for Cayenne 3.0, so there might be a few
> tweaks needed for 3.1.
>
> mrg
>
>
> On Fri, Aug 7, 2015 at 10:16 AM, Hugi Thordarson <hugi@karlmenn.is> wrote:
>
>> Hi all.
>>
>> I’m attempting to implement an audit log using Cayenne, automatically
>> storing information on modifications alongside every insert, update and
>> delete.
>>
>> I’m currently doing this by adding a listener on the DataDomain that
>> watches for the lifecycle events PrePersist, PreUpdate and PreRemove, and
>> there I log what’s happening with the objects. Works perfectly.
>>
>> One thing I’m wondering though. How can I find what has changed in an
>> object in PreUpdate (i.d. when logging modifications)? For those familiar
>> with EOF, I do it there by looking at the
>> EOEditingContext’s.commitedSnapshotForObject() and comparing the values
>> found there with the object’s current values—but I can’t find how to to do
>> something similar in Cayenne.
>>
>> Am I maybe going about this in a completely wrong way (and there’s
>> perhaps a much better, more Cayenne-ish way to do this)? If so, I’d be
>> grateful if someone could point me in the correct direction :).
>>
>> Thanks once again,
>> - hugi
>>
>> // Hugi Thordarson
>> // http://www.loftfar.is/ <http://www.loftfar.is/>
>> // s. 895-6688
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message