private Object[] getOldDBState(AuditProcess auditProcess, String entityName, PostUpdateEvent event) { if ( isDetachedEntityUpdate( entityName, event.getOldState() ) ) { return auditProcess.getCachedEntityState( event.getId(), entityName ); } return event.getOldState(); }
@Override public void onPostUpdate(PostUpdateEvent event) { final String entityName = event.getPersister().getEntityName(); if ( getEnversService().getEntitiesConfigurations().isVersioned( entityName ) ) { checkIfTransactionInProgress( event.getSession() ); final AuditProcess auditProcess = getEnversService().getAuditProcessManager().get( event.getSession() ); Object[] oldState = getOldDBState( auditProcess, entityName, event ); final Object[] newDbState = postUpdateDBState( event ); final AuditWorkUnit workUnit = new ModWorkUnit( event.getSession(), event.getPersister().getEntityName(), getEnversService(), event.getId(), event.getPersister(), newDbState, oldState ); auditProcess.addWorkUnit( workUnit ); if ( workUnit.containsWork() ) { generateBidirectionalCollectionChangeWorkUnits( auditProcess, event.getPersister(), entityName, newDbState, oldState, event.getSession() ); } } }
private Object[] getOldDBState(AuditProcess auditProcess, String entityName, PostUpdateEvent event) { if ( isDetachedEntityUpdate( entityName, event.getOldState() ) ) { return auditProcess.getCachedEntityState( event.getId(), entityName ); } return event.getOldState(); }
@Override public void onPostUpdate(PostUpdateEvent event) { if ( !eventProcessingEnabled ) { return; } HibernateSearchContextService context = state.getHibernateSearchContext(); final Object entity = event.getEntity(); if ( isWorkable( context, entity ) ) { PojoWorkPlan workPlan = context.getCurrentWorkPlan( event.getSession() ); if ( dirtyCheckingEnabled ) { workPlan.update( event.getId(), entity, getDirtyPropertyNames( event ) ); } else { workPlan.update( event.getId(), entity ); } } }
@Override public void onPostUpdate(PostUpdateEvent event) { if ( state.eventsDisabled() ) { return; } final Object entity = event.getEntity(); final AbstractDocumentBuilder docBuilder = getDocumentBuilder( entity ); if ( docBuilder != null && ( state.skipDirtyChecks() || docBuilder.isDirty( getDirtyPropertyNames( event ) ) ) ) { Serializable id = event.getId(); processWork( tenantIdentifier( event ), entity, id, WorkType.UPDATE, event, false ); } }
public void onPostUpdate(PostUpdateEvent event) { if (DataPublishListener.handleExclude(event.getEntity())) return; if (event.getDirtyProperties() != null && event.getDirtyProperties().length > 0) { Object change = getChange(event.getPersister(), event.getSession(), event.getPersister().getEntityName(), event.getId(), event.getEntity()); if (change instanceof Change) { for (int i = 0; i < event.getDirtyProperties().length; i++) { int pidx = event.getDirtyProperties()[i]; String pname = event.getPersister().getPropertyNames()[pidx]; if (AnnotationUtils.isAnnotatedWith(event.getEntity(), pname, ExcludeFromDataPublish.class)) continue; ((Change)change).getChanges().put(pname, event.getState()[pidx]); } } else if (change == null) DataContext.addUpdate(EntityUpdateType.UPDATE, event.getEntity(), event.getEntity()); } }
@Override public void onPostUpdate(PostUpdateEvent event) { final String entityName = event.getDescriptor().getEntityName(); if ( getAuditService().getEntityBindings().isVersioned( entityName ) ) { checkIfTransactionInProgress( event.getSession() ); final AuditProcess auditProcess = getAuditService().getAuditProcess( event.getSession() ); Object[] oldState = getOldDBState( auditProcess, entityName, event ); final Object[] newDbState = postUpdateDBState( event ); final AuditWorkUnit workUnit = new ModWorkUnit( event.getSession(), event.getDescriptor().getEntityName(), getAuditService(), event.getId(), event.getDescriptor(), newDbState, oldState ); auditProcess.addWorkUnit( workUnit ); if ( workUnit.containsWork() ) { generateBidirectionalCollectionChangeWorkUnits( auditProcess, event.getDescriptor(), entityName, newDbState, event.getOldState(), event.getSession() ); } } }