Example usage for org.hibernate.event.spi PostUpdateEvent getId

List of usage examples for org.hibernate.event.spi PostUpdateEvent getId

Introduction

In this page you can find the example usage for org.hibernate.event.spi PostUpdateEvent getId.

Prototype

public Serializable getId() 

Source Link

Usage

From source file:com.googlecode.hibernate.audit.listener.AuditListener.java

License:Open Source License

public void onPostUpdate(PostUpdateEvent event) {
    try {//from w  w w .j  ava  2  s .  c om
        String entityName = event.getPersister().getEntityName();

        if (auditConfiguration.getExtensionManager().getAuditableInformationProvider()
                .isAuditable(entityName)) {
            AuditProcess auditProcess = auditConfiguration.getAuditProcessManager().get(event.getSession());

            AuditWorkUnit workUnit = new UpdateAuditWorkUnit(entityName, event.getId(), event.getEntity(),
                    event.getPersister(), event.getOldState(), event.getState());
            auditProcess.addWorkUnit(workUnit);
        }
    } catch (RuntimeException e) {
        if (log.isErrorEnabled()) {
            log.error("RuntimeException occured during onPostUpdate, will re-throw the exception", e);
        }
        throw e;
    }
}

From source file:org.granite.tide.hibernate4.HibernateDataChangePublishListener.java

License:Open Source License

public void onPostUpdate(PostUpdateEvent event) {
    if (DataPublishListener.handleExclude(event.getEntity()))
        return;/*  w w  w .  jav a 2 s. c o m*/

    if (event.getDirtyProperties() != null && event.getDirtyProperties().length > 0) {
        Object change = getChange(event.getPersister(), event.getSession(),
                event.getPersister().getEntityName(), event.getId(), event.getEntity());
        if (change instanceof Change) {
            for (int i = 0; i < event.getDirtyProperties().length; i++) {
                int pidx = event.getDirtyProperties()[i];
                String pname = event.getPersister().getPropertyNames()[pidx];
                if (AnnotationUtils.isAnnotatedWith(event.getEntity(), pname, ExcludeFromDataPublish.class))
                    continue;

                ((Change) change).getChanges().put(pname, event.getState()[pidx]);
            }
        } else if (change == null)
            DataContext.addUpdate(EntityUpdateType.UPDATE, event.getEntity(), event.getEntity());
    }
}