public void onPostUpdate(PostUpdateEvent event) { GenericModel entity = (GenericModel) event.getEntity(); if (entity.getClass().isAnnotationPresent(Auditable.class)) { String model = entity.getClass().getName().replaceFirst("models.", ""); String modelId = entity.getEntityId().toString(); String[] properties = event.getPersister().getPropertyNames(); Object[] oldValues = event.getOldState(); Object[] values = event.getState(); for (int i = 0; i < properties.length; i++) { boolean updated = false; if (oldValues[i] == null) { if (values[i] != null) { updated = true; } } else if (!oldValues[i].equals(values[i])) { updated = true; } if (updated) { AuditLog.invoke( "onUpdate", model, modelId, properties[i], oldValues[i] == null ? "NULL" : oldValues[i].toString(), values[i] == null ? "NULL" : values[i].toString()); } } } }
public void onPostUpdate(PostUpdateEvent event) { final Object o = event.getEntity(); final Class message = o.getClass(); log.debug(message); final INotifier notifier = getRegistry().get(message.getName()); if (notifier != null) { notifier.doNotify(o); } }