Looks great, can't wait to try it out :)

- hugi



> On 29. sep. 2015, at 09:46, Andrus Adamchik <and...@objectstyle.org> wrote:
> 
> I just sent a pull request with the first cut of the implementation. My plan 
> is to try this new implementation with my audit system and if it works well, 
> apply it to master (hopefully by then CAY-2028 will also be ready). The 
> implementation I ended up with does not have JSON serialization. Just pure 
> objects. Here is how it works:
> 
> 1. Write a listener (currently requires an interface, but if needed we can 
> easily switch to annotations) :
> 
> public class L implements PostCommitListener {
> 
>   @Override
>   public void onPostCommit(ObjectContext originatingContext, ChangeMap 
> changes) {
>      // do something with your changes
>   }
> }
> 
> 2. Configure Cayenne stack with "PostCommit" module:
> 
> Module m = PostCommitModuleBuilder.builder().listener(L1.class);
> ServerRuntime r = ServerRuntimeBuilder
>   .builder()
>   .addConfig("cayenne-lifecycle.xml")
>   .addModule(m)
>   .build();
> 
> 
> PostCommitModuleBuilder supports a few non-default options, such as excluding 
> entities, entity properties, and hiding "confidential" property values, such 
> as passwords using the existing @Auditable annotation. Or you can write a 
> custom PostCommitEntityFactory to support your own annotations.
> 
> TODO: there is not support for @AuditableChild yet. Need to think how to 
> better handle this one.
> 
> Comments are welcomed.
> 
> Andrus

Reply via email to