类org.hibernate.event.spi.PostDeleteEvent源码实例Demo

下面列出了怎么用org.hibernate.event.spi.PostDeleteEvent的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: lams   文件: EntityDeleteAction.java
private void postDelete() {
	final EventListenerGroup<PostDeleteEventListener> listenerGroup = listenerGroup( EventType.POST_DELETE );
	if ( listenerGroup.isEmpty() ) {
		return;
	}
	final PostDeleteEvent event = new PostDeleteEvent(
			getInstance(),
			getId(),
			state,
			getPersister(),
			eventSource()
	);
	for ( PostDeleteEventListener listener : listenerGroup.listeners() ) {
		listener.onPostDelete( event );
	}
}
 
源代码2 项目: mojito   文件: EntityCrudEventListener.java
@Override
public void onPostDelete(PostDeleteEvent 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 deleted");
    } else if (entity instanceof TMTextUnitCurrentVariant) {
        TMTextUnitCurrentVariant tmTextUnitCurrentVariant = (TMTextUnitCurrentVariant) entity;
        repository = tmTextUnitCurrentVariant.getTmTextUnit().getAsset().getRepository();
        logger.debug("Repository statistics is outdated because translation is deleted");
    }

    setRepositoryStatistisOutOfDate(repository);
}
 
源代码3 项目: lams   文件: EntityDeleteAction.java
private void postCommitDelete(boolean success) {
	final EventListenerGroup<PostDeleteEventListener> listenerGroup = listenerGroup( EventType.POST_COMMIT_DELETE );
	if ( listenerGroup.isEmpty() ) {
		return;
	}
	final PostDeleteEvent event = new PostDeleteEvent(
			getInstance(),
			getId(),
			state,
			getPersister(),
			eventSource()
	);
	for ( PostDeleteEventListener listener : listenerGroup.listeners() ) {
		if ( PostCommitDeleteEventListener.class.isInstance( listener ) ) {
			if ( success ) {
				listener.onPostDelete( event );
			}
			else {
				((PostCommitDeleteEventListener) listener).onPostDeleteCommitFailed( event );
			}
		}
		else {
			//default to the legacy implementation that always fires the event
			listener.onPostDelete( event );
		}
	}
}
 
@Override
public void onPostDelete( PostDeleteEvent event )
{
    if ( IdentifiableObject.class.isInstance( event.getEntity() )
        && MetadataObject.class.isInstance( event.getEntity() )
        && !EmbeddedObject.class.isInstance( event.getEntity() ) )
    {
        IdentifiableObject identifiableObject = (IdentifiableObject) event.getEntity();
        DeletedObject deletedObject = new DeletedObject( identifiableObject );
        deletedObject.setDeletedBy( getUsername() );

        StatelessSession session = event.getPersister().getFactory().openStatelessSession();
        session.beginTransaction();

        try
        {
            session.insert( deletedObject );
            session.getTransaction().commit();
        }
        catch ( Exception ex )
        {
            log.error( "Failed to save DeletedObject: "+ deletedObject );
            session.getTransaction().rollback();
        }
        finally
        {
            session.close();
        }
    }
}
 
源代码5 项目: dhis2-core   文件: PostDeleteAuditListener.java
@Override
public void onPostDelete( PostDeleteEvent postDeleteEvent )
{
    Object entity = postDeleteEvent.getEntity();
    getAuditable( entity, "delete" ).ifPresent( auditable ->
        auditManager.send( Audit.builder()
            .auditType( getAuditType() )
            .auditScope( auditable.scope() )
            .createdAt( LocalDateTime.now() )
            .createdBy( getCreatedBy() )
            .object( entity )
            .auditableEntity( new AuditableEntity( entity ) )
            .build() ) );
}
 
源代码6 项目: lams   文件: CollectionCacheInvalidator.java
@Override
public void onPostDelete(PostDeleteEvent event) {
	evictCache( event.getEntity(), event.getPersister(), event.getSession(), null );
}
 
public void onPostDelete(PostDeleteEvent event) {
	Object entity = event.getEntity();
	callbackRegistry.postRemove( entity );
}
 
源代码8 项目: mojito   文件: EntityCrudEventListener.java
@Override
public void onPostDeleteCommitFailed(PostDeleteEvent pde) {
}
 
public void onPostDelete(PostDeleteEvent hibernateEvent) {
    org.grails.datastore.mapping.engine.event.PostDeleteEvent grailsEvent = new org.grails.datastore.mapping.engine.event.PostDeleteEvent(
            this.datastore, hibernateEvent.getEntity());
    publishEvent(hibernateEvent, grailsEvent);
}
 
@Override
public void onPostDeleteCommitFailed( PostDeleteEvent event )
{
    log.debug( "onPostDeleteCommitFailed: " + event );
}
 
源代码11 项目: dhis2-core   文件: PostDeleteAuditListener.java
@Override
public void onPostDeleteCommitFailed( PostDeleteEvent event )
{
    log.warn( "onPostDeleteCommitFailed: " + event );
}
 
 类所在包
 同包方法