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 ); } }
@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); }
@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 ); } }
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 ); } } }
@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())); }
@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); }
@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(); } } }
@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); }
@Override public void onPostUpdate(PostUpdateEvent event) { evictCache( event.getEntity(), event.getPersister(), event.getSession(), event.getOldState() ); }
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)); }
@Override public void onPostUpdateCommitFailed(PostUpdateEvent pue) { }
@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()); }
@Override public void onPostUpdate( PostUpdateEvent event ) { updateIdentifiableObjects(); }
/** * @see org.hibernate.event.spi.PostUpdateEventListener#onPostUpdate(org.hibernate * .event.spi.PostUpdateEvent) */ @Override public void onPostUpdate(PostUpdateEvent event) { execute(postUpdate, event.getEntity()); }
@Override public void onPostUpdate(final PostUpdateEvent event) { }
@Override public void onPostUpdateCommitFailed(final PostUpdateEvent event) { }