Java 类org.hibernate.event.spi.PostUpdateEvent 实例源码

项目:lams    文件:EntityUpdateAction.java   
private void postUpdate() {
    final EventListenerGroup<PostUpdateEventListener> listenerGroup = listenerGroup( EventType.POST_UPDATE );
    if ( listenerGroup.isEmpty() ) {
        return;
    }
    final PostUpdateEvent event = new PostUpdateEvent(
            getInstance(),
            getId(),
            state,
            previousState,
            dirtyFields,
            getPersister(),
            eventSource()
    );
    for ( PostUpdateEventListener listener : listenerGroup.listeners() ) {
        listener.onPostUpdate( event );
    }
}
项目:mojito    文件:EntityCrudEventListener.java   
@Override
public void onPostUpdate(PostUpdateEvent event) {
    Repository repository = null;
    Object entity = event.getEntity();

    if (entity instanceof RepositoryLocale) {
        RepositoryLocale repositoryLocale = (RepositoryLocale) entity;
        repository = repositoryLocale.getRepository();
        logger.debug("Repository statistics is outdated because locale is updated");
    } else if (entity instanceof Asset) {
        Asset asset = (Asset) entity;
        repository = asset.getRepository();
        logger.debug("Repository statistics is outdated because asset is updated");
    }

    setRepositoryStatistisOutOfDate(repository);
}
项目:Hibernate-Search-GenericJPA    文件:HibernateUpdateSource.java   
@Override
public void onPostUpdate(PostUpdateEvent event) {
    if ( disabled ) {
        return;
    }

    final Object entity = event.getEntity();
    final AbstractDocumentBuilder docBuilder = getDocumentBuilder( entity );
    if ( docBuilder != null && (skipDirtyChecks || docBuilder.isDirty(
            getDirtyPropertyNames(
                    event
            )
    )) ) {
        Serializable id = event.getId();
        processWork( entity, id, WorkType.UPDATE, event, false );
    }
}
项目:lams    文件:EntityUpdateAction.java   
private void postCommitUpdate(boolean success) {
    final EventListenerGroup<PostUpdateEventListener> listenerGroup = listenerGroup( EventType.POST_COMMIT_UPDATE );
    if ( listenerGroup.isEmpty() ) {
        return;
    }
    final PostUpdateEvent event = new PostUpdateEvent(
            getInstance(),
            getId(),
            state,
            previousState,
            dirtyFields,
            getPersister(),
            eventSource()
    );
    for ( PostUpdateEventListener listener : listenerGroup.listeners() ) {
        if ( PostCommitUpdateEventListener.class.isInstance( listener ) ) {
            if ( success ) {
                listener.onPostUpdate( event );
            }
            else {
                ((PostCommitUpdateEventListener) listener).onPostUpdateCommitFailed( event );
            }
        }
        else {
            //default to the legacy implementation that always fires the event
            listener.onPostUpdate( event );
        }
    }
}
项目:spring-data-rest-webhook    文件:WebhookPostUpdateEventListener.java   
@Override
@Async
@Transactional(Transactional.TxType.REQUIRES_NEW) // Make sure any JPA queries run in this method don't try and use the same session that triggered this event listener method
public void onPostUpdate(PostUpdateEvent event) {
    LOG.info("hibernate post update on object: " + event.getEntity());
    List<Webhook> hooks = webhookManager.retrieveWebhooksByEntityNameAndEventType(event.getEntity().getClass().getSimpleName(), EventType.POST_UPDATE.eventName());
    // Webhooks that do not specify a property list will be informed of ANY update to the entity
    // Webhooks that specify a property list will only be informed if any of the properties defined have been updated.
    hooks.stream()
            .filter(wh -> wh.getPropertyList().isEmpty() || wh.getPropertyList().stream().anyMatch(propertyName -> isFieldModified(propertyName, event)))
            .forEach(wh -> webhookProcessor.notifyWebhook(wh, event.getEntity()));
}
项目:cibet    文件:CibetPostUpdateEventListener.java   
@Override
public void onPostUpdate(PostUpdateEvent event) {
   String entityName = event.getPersister().getEntityName();
   if (!Context.internalRequestScope().isAuditedByEnvers()) {
      log.debug(entityName + " NOT audited by Cibet configuration");
      return;
   } else {
      log.debug(entityName + " audited by Cibet configuration");
   }
   super.onPostUpdate(event);
}
项目:bygle-ldp    文件:DBEventUpdateListener.java   
@Override
public void onPostUpdate(PostUpdateEvent arg0) {
    if (arg0.getEntity() instanceof Records) {
        Records records = (Records) arg0.getEntity();
        try {
            if(records.getRecordTypes().getIdRecordType()!=BygleSystemUtils.RESOURCE_TYPE_BINARY){
                EndPointManagerInterface endPointManager = endPointManagerProvider.getEndPointManager();
                endPointManager.rePublishRecord(records.getRdf(),records.getRdfAbout(),records.getHost());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}
项目:ix3    文件:EventListenerImplRuleEngine.java   
@Override
public void onPostUpdate(PostUpdateEvent pue) {
    autowired();
    EntityMode entityMode = pue.getPersister().getEntityMode();

    RuleContext ruleContext = new RuleContextImplNoPrincipal(pue.getEntity(), getOriginalEntity(pue.getOldState(), pue.getPersister()));

    fireRules(ruleContext, pue.getPersister(), pue.getState(), entityMode, RuleGroupPredefined.PostUpdate.class, RuleGroupPredefined.PostInsertOrUpdate.class, RuleGroupPredefined.PostUpdateOrDelete.class, RuleGroupPredefined.PostInsertOrUpdateOrDelete.class);
}
项目:lams    文件:CollectionCacheInvalidator.java   
@Override
public void onPostUpdate(PostUpdateEvent event) {
    evictCache( event.getEntity(), event.getPersister(), event.getSession(), event.getOldState() );
}
项目:spring-data-rest-webhook    文件:WebhookPostUpdateEventListener.java   
private static boolean isFieldModified(String fieldName, PostUpdateEvent event) {
    Integer propertyIndex = event.getPersister().getEntityMetamodel().getPropertyIndexOrNull(fieldName);
    List<Integer> dirtyPropertyIndexes = Arrays.stream(event.getDirtyProperties()).boxed().collect(Collectors.toList());
    return dirtyPropertyIndexes.stream().anyMatch(dirtyPropertyIndex -> Objects.equals(dirtyPropertyIndex, propertyIndex));
}
项目:mojito    文件:EntityCrudEventListener.java   
@Override
public void onPostUpdateCommitFailed(PostUpdateEvent pue) {
}
项目:Audit4j-Hibernate    文件:AuditPostUpdateEventListenerImpl.java   
@Override
public void onPostUpdate(PostUpdateEvent event) {
    AuditManager.getInstance().audit(new EventBuilder()
            .addAction("update " + event.getEntity().getClass().toString())
            .addField(event.getEntity().getClass().toString(), event.getEntity()).build());
}
项目:AgileAlligators    文件:HibernateEventListenerWiring.java   
@Override
public void onPostUpdate( PostUpdateEvent event )
{
    updateIdentifiableObjects();
}
项目:spring-entity-listener    文件:HibernateEntityListenersAdapter.java   
/**
 * @see org.hibernate.event.spi.PostUpdateEventListener#onPostUpdate(org.hibernate
 *      .event.spi.PostUpdateEvent)
 */
@Override
public void onPostUpdate(PostUpdateEvent event) {
    execute(postUpdate, event.getEntity());
}
项目:jersey2-toolkit    文件:HibernateSessionFactoryFactoryTest.java   
@Override
public void onPostUpdate(final PostUpdateEvent event) {

}
项目:jersey2-toolkit    文件:HibernateSessionFactoryFactoryTest.java   
@Override
public void onPostUpdateCommitFailed(final PostUpdateEvent event) {

}