List of usage examples for org.hibernate.event.spi PostDeleteEvent getSession
public final EventSource getSession()
From source file:at.molindo.esi4j.module.hibernate.HibernateEventListener.java
License:Apache License
@Override public void onPostDelete(PostDeleteEvent event) { EventSession eventSession = findEventSession(event.getSession()); if (eventSession != null) { eventSession.onPostDelete(event.getEntity()); } else {//w ww.j av a 2s . c om _batchedEventProcessor.onPostDelete(event.getEntity()); } }
From source file:com.corundumstudio.hibernate.dsc.QueryCacheEntityListener.java
License:Apache License
@Override public void onPostDelete(PostDeleteEvent event) { Set<Entry<String, QueryListenerEntry>> values = getValue(event.getPersister()); for (Entry<String, QueryListenerEntry> entry : values) { InsertOrDeleteCommand command = new InsertOrDeleteCommand(); CacheCallback handler = entry.getValue().getHandler(); handler.commonParams(command, event.getEntity()); handler.onInsertOrDelete(command, event.getEntity()); DynamicQueryCache queryCache = getQueryCache(event.getPersister(), entry.getKey(), entry.getValue()); removeResult(queryCache, entry.getValue(), command, event.getSession()); }/*from w w w . jav a 2s.co m*/ }
From source file:com.googlecode.hibernate.audit.listener.AuditListener.java
License:Open Source License
public void onPostDelete(PostDeleteEvent event) { try {/* 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 DeleteAuditWorkUnit(entityName, event.getId(), event.getEntity(), event.getPersister()); auditProcess.addWorkUnit(workUnit); } } catch (RuntimeException e) { if (log.isErrorEnabled()) { log.error("RuntimeException occured during onPostDelete, will re-throw the exception", e); } throw e; } }
From source file:org.cgiar.ccafs.marlo.data.HibernateAuditLogListener.java
License:Open Source License
@Override public void onPostDelete(PostDeleteEvent postDeleteEvent) { Object entity = postDeleteEvent.getEntity(); LOG.debug("begin onPostDelete for Entity : " + entity); AuditLogContext auditLogContext = AuditLogContextProvider.getAuditLogContext(); /**/* w ww . jav a 2 s.c o m*/ * This is because our save(entity), update(entity) and delete(entity) methods on our DAOs should not * execute the listeners. There might be a better way to do this like conditionally active the listeners. */ if (auditLogContext.getActionName() == null && CollectionUtils.isEmpty(auditLogContext.getRelationsNames())) { LOG.debug("auditLogContext has not been initiliazed for this request, so not audit logging"); return; } /** * We might delete many entities on a single request, but we only want to do the audit logging on one. */ if (!entity.getClass().getCanonicalName().equals(auditLogContext.getEntityCanonicalName())) { LOG.debug("Entity : " + entity + " , is not the entity we want to audit log"); return; } HashMap<String, Object> deleteRecord = new HashMap<>(); if (entity instanceof IAuditLog) { deleteRecord.put(IAuditLog.ENTITY, entity); deleteRecord.put(IAuditLog.PRINCIPAL, new Long(1)); auditLogContext.getDeletes().add(deleteRecord); ClassMetadata classMetadata = postDeleteEvent.getSession().getSessionFactory() .getClassMetadata(entity.getClass()); Type[] types = classMetadata.getPropertyTypes(); auditLogContext.getDeletes().addAll(this.relations(postDeleteEvent.getDeletedState(), types, ((IAuditLog) entity).getId(), true, postDeleteEvent.getSession(), entity)); } postDeleteEvent.getSession().getActionQueue() .registerProcess(new MARLOAuditBeforeTransactionCompletionProcess()); }
From source file:org.ednovo.gooru.hibernate.configsettings.HibernateLogger.java
License:Open Source License
@Override public void onPostDelete(PostDeleteEvent event) { final Serializable entityId = event.getPersister().hasIdentifierProperty() ? event.getPersister().getIdentifier(event.getEntity(), event.getSession()) : null;/*from www . j av a 2s . c o m*/ final String entityName = event.getPersister().getEntityName(); final Date transTime = new Date(); }
From source file:org.ednovo.gooru.infrastructure.persistence.hibernate.HibernateLogger.java
License:Open Source License
@Override public void onPostDelete(PostDeleteEvent event) { final Serializable entityId = event.getPersister().hasIdentifierProperty() ? event.getPersister().getIdentifier(event.getEntity(), event.getSession()) : null;//from w w w .ja v a 2s . c o m final String entityName = event.getPersister().getEntityName(); final Date transTime = new Date(); LOGGER.debug("{ \"operation\" : \"DELETE\" \"entity\" : \"" + entityId + "\" \"type\" : \"" + entityName + "\" \"time\" : \"" + new SimpleDateFormat().format(transTime) + "\" \"userId\" : \"" + UserGroupSupport.getCurrentUserUid() + "\" \"eventName\" : \"" + UserGroupSupport.getLog().get("eventName") + "\""); }