List of usage examples for org.hibernate.event.spi PreUpdateEvent getPersister
public EntityPersister getPersister()
From source file:com.mpe.common.validation.BeanValidationEventListener.java
License:Open Source License
public boolean onPreUpdate(PreUpdateEvent event) { validate(event.getEntity(), event.getPersister().getEntityMode(), event.getPersister(), event.getSession().getFactory(), GroupsPerOperation.Operation.UPDATE); return false; }
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 .j av a2 s. com*/ } return message.toString(); }
From source file:es.logongas.ix3.dao.impl.rules.EventListenerImplRuleEngine.java
License:Apache License
@Override public boolean onPreUpdate(PreUpdateEvent pue) { autowired();/* w ww. j a v a2 s . c o m*/ 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. *//* w ww. ja v a2 s . c o 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;/*from w ww.j a v a 2s . co m*/ 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 w w w . jav a 2 s .co m*/ 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.event.listener.HibernateEventListener.java
License:Apache License
public boolean onPreUpdate(PreUpdateEvent event) { boolean evict = false; ClosureEventListener eventListener = findEventListener(event.getEntity(), event.getPersister().getFactory()); if (eventListener != null) { evict = eventListener.onPreUpdate(event); }/*from ww w .j av a2s.c om*/ 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 .co 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. j ava2 s . 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; }