List of usage examples for org.hibernate.event.spi PreInsertEvent getState
public Object[] getState()
From source file:es.logongas.ix3.dao.impl.rules.EventListenerImplRuleEngine.java
License:Apache License
@Override public boolean onPreInsert(PreInsertEvent pie) { autowired();// w w w .j a va 2 s . c om EntityMode entityMode = pie.getPersister().getEntityMode(); RuleContext ruleContext = new RuleContextImplNoPrincipal(pie.getEntity(), null); fireRules(ruleContext, pie.getPersister(), pie.getState(), entityMode, RuleGroupPredefined.PreInsert.class, RuleGroupPredefined.PreInsertOrUpdate.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 @PreInser rather than raw hibernate. *//*w ww . j av a 2 s . c o m*/ @Override public boolean onPreInsert(PreInsertEvent event) { if (!(event.getEntity() instanceof MarloAuditableEntity)) { LOG.debug("entity: " + event.getEntity().getClass() + "is not a MarloAuditableEntity"); return false; } MarloAuditableEntity auditableEntity = (MarloAuditableEntity) event.getEntity(); String[] propertyNames = event.getPersister().getEntityMetamodel().getPropertyNames(); Object[] state = event.getState(); User user = this.getUser(); Date now = new Date(); Boolean active = new Boolean(true); this.setValue(state, propertyNames, "createdBy", user, auditableEntity); this.setValue(state, propertyNames, "activeSince", now, auditableEntity); this.setValue(state, propertyNames, "active", active, auditableEntity); // Required to guard against an insert happening together with an update. auditableEntity.setCreatedBy(user); auditableEntity.setActiveSince(now); auditableEntity.setActive(active); return false; }
From source file:org.grails.orm.hibernate.support.ClosureEventListener.java
License:Apache License
public boolean onPreInsert(final PreInsertEvent event) { return doWithManualSession(event, new Closure<Boolean>(this) { @Override/*from w w w. ja v a 2 s.c o m*/ public Boolean call() { Object entity = event.getEntity(); boolean synchronizeState = false; if (beforeInsertCaller != null) { if (beforeInsertCaller.call(entity)) { return true; } synchronizeState = true; } synchronizeState = handleTimestampingBeforeInsert(entity, synchronizeState); if (synchronizeState) { synchronizePersisterState(event, event.getState()); } return doValidate(entity); } }); }
From source file:org.meruvian.yama.service.jpa.hibernate.LogInformationListener.java
License:Apache License
@Override public boolean onPreInsert(PreInsertEvent event) { String userId = getCurrentUserId(); if (event.getEntity() instanceof DefaultPersistence) { DefaultPersistence p = (DefaultPersistence) event.getEntity(); LogInformation logInfo = p.getLogInformation(); logInfo.setCreateDate(new Date()); logInfo.setLastUpdateDate(new Date()); logInfo.setCreateBy(userId);// w w w . jav a 2s .com logInfo.setLastUpdateBy(userId); Object[] state = event.getState(); for (int i = 0; i < state.length; i++) { if (state[i] instanceof LogInformation) { state[i] = logInfo; break; } } } return false; }
From source file:org.web4thejob.orm.event.PreInsertListener.java
License:Open Source License
public boolean onPreInsert(PreInsertEvent event) { if (mrs == null) { mrs = ContextUtil.getMRS();/*w w w . ja v a2s. co m*/ } for (AnnotationMetadata<?> metadata : mrs .getAnnotationMetadata(((Entity) event.getEntity()).getEntityType(), InsertTimeHolder.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; }