List of usage examples for org.hibernate.event.spi PreUpdateEvent getState
public Object[] getState()
From source file:de.dktk.dd.rpb.portal.audit.AuditLogListener.java
License:Open Source License
private String buildUpdateMessage(PreUpdateEvent event) { String[] propertyNames = event.getPersister().getEntityMetamodel().getPropertyNames(); Object[] oldStates = event.getOldState(); Object[] newStates = event.getState(); int index = 0; StringBuilder message = new StringBuilder(128); for (String propertyName : propertyNames) { message.append(message(propertyName, oldStates[index], newStates[index])); index++;//from w w w . ja v a 2s. co m } return message.toString(); }
From source file:es.logongas.ix3.dao.impl.rules.EventListenerImplRuleEngine.java
License:Apache License
@Override public boolean onPreUpdate(PreUpdateEvent pue) { autowired();/*www . jav a 2 s .c om*/ EntityMode entityMode = pue.getPersister().getEntityMode(); RuleContext ruleContext = new RuleContextImplNoPrincipal(pue.getEntity(), getOriginalEntity(pue.getOldState(), pue.getPersister())); fireRules(ruleContext, pue.getPersister(), pue.getState(), entityMode, RuleGroupPredefined.PreUpdate.class, RuleGroupPredefined.PreInsertOrUpdate.class, RuleGroupPredefined.PreUpdateOrDelete.class, RuleGroupPredefined.PreInsertOrUpdateOrDelete.class); return false; }
From source file:org.cgiar.ccafs.marlo.data.AuditColumnHibernateListener.java
License:Open Source License
/** * Note the implementation would be much simpler if we use JPA annotation @PreUpdate arather than raw hibernate. *///www .j a va 2 s . co m @Override public boolean onPreUpdate(PreUpdateEvent event) { if (!(event.getEntity() instanceof MarloAuditableEntity)) { LOG.debug("entity: " + event.getEntity().getClass() + "is not a MarloAuditableEntity"); return false; } User user = this.getUser(); /** * This is to guard against an unauthenticated user making an update */ if (user.getId() == null) { return false; } String[] propertyNames = event.getPersister().getEntityMetamodel().getPropertyNames(); Object[] state = event.getState(); MarloAuditableEntity auditableEntity = (MarloAuditableEntity) event.getEntity(); this.setValue(state, propertyNames, "modifiedBy", user, auditableEntity); auditableEntity.setModifiedBy(user); return false; }
From source file:org.egov.infra.config.persistence.event.listener.HibernateEventListener.java
License:Open Source License
private void updateAuditableProperties(final PreUpdateEvent event) { int i = 0;/*w ww . jav a 2s . c om*/ for (final String propName : event.getPersister().getPropertyNames()) { if ("modifiedDate".equals(propName)) event.getState()[i] = new Date(); if ("modifiedBy".equals(propName)) event.getState()[i] = getUserObjectFromWithinEventListener(event.getSession()); i++; } }
From source file:org.egov.infra.config.persistence.event.listener.HibernateEventListener.java
License:Open Source License
private void updateAuditable(final PreUpdateEvent event) { int i = 0;/*from www . j a v a2s.com*/ for (final String propName : event.getPersister().getPropertyNames()) { if ("lastModifiedDate".equals(propName)) event.getState()[i] = new Date(); if ("lastModifiedBy".equals(propName)) event.getState()[i] = getUserObjectFromWithinEventListener(event.getSession()); i++; } }
From source file:org.grails.orm.hibernate.support.ClosureEventListener.java
License:Apache License
public boolean onPreUpdate(final PreUpdateEvent event) { return doWithManualSession(event, new Closure<Boolean>(this) { @Override//from www .ja v a 2 s . c o m public Boolean call() { Object entity = event.getEntity(); boolean evict = false; if (preUpdateEventListener != null) { evict = preUpdateEventListener.call(entity); synchronizePersisterState(event, event.getState()); } handleTimestampingBeforeUpdate(event, entity); if (!evict) { return doValidate(entity); } else { return evict; } } }); }
From source file:org.grails.orm.hibernate.support.ClosureEventListener.java
License:Apache License
protected void handleTimestampingBeforeUpdate(final PreUpdateEvent event, Object entity) { if (shouldTimestamp) { Class<?> dateCreatedType = null; Object timestamp = null;//from w w w. j a v a 2 s . c o m String[] propertyNames = event.getPersister().getPropertyNames(); if (dateCreatedProperty != null && dateCreatedProperty.getProperty(entity) == null) { dateCreatedType = dateCreatedProperty.getType(); timestamp = timestampProvider.createTimestamp(dateCreatedType); dateCreatedProperty.setProperty(entity, timestamp); event.getState()[Arrays.asList(propertyNames).indexOf(GormProperties.DATE_CREATED)] = timestamp; } if (lastUpdatedProperty != null) { Class<?> lastUpdateType = lastUpdatedProperty.getType(); if (dateCreatedType == null || !lastUpdateType.isAssignableFrom(dateCreatedType)) { timestamp = timestampProvider.createTimestamp(lastUpdateType); } lastUpdatedProperty.setProperty(entity, timestamp); event.getState()[Arrays.asList(propertyNames).indexOf(GormProperties.LAST_UPDATED)] = timestamp; } } }
From source file:org.web4thejob.orm.event.PreUpdateListener.java
License:Open Source License
public boolean onPreUpdate(PreUpdateEvent event) { if (mrs == null) { mrs = ContextUtil.getMRS();//from w w w .ja va2s . c o m } for (AnnotationMetadata<?> metadata : mrs .getAnnotationMetadata(((Entity) event.getEntity()).getEntityType(), UpdateTimeHolder.class)) { EventUtil.assignValue((Entity) event.getEntity(), metadata.getIndex(), new Timestamp(System.currentTimeMillis()), event.getPersister(), event.getState()); } for (AnnotationMetadata<?> metadata : mrs .getAnnotationMetadata(((Entity) event.getEntity()).getEntityType(), UserIdHolder.class)) { EventUtil.assignValue((Entity) event.getEntity(), metadata.getIndex(), ContextUtil.getSessionContext().getSecurityContext().getUserIdentity().getId(), event.getPersister(), event.getState()); } return false; }