Example usage for org.hibernate.event.spi EventType DELETE

List of usage examples for org.hibernate.event.spi EventType DELETE

Introduction

In this page you can find the example usage for org.hibernate.event.spi EventType DELETE.

Prototype

EventType DELETE

To view the source code for org.hibernate.event.spi EventType DELETE.

Click Source Link

Usage

From source file:edu.nps.moves.mmowgli.hibernate.AbstractVHib.java

License:Open Source License

protected void _installDataBaseListeners()// AppMaster apMas)
{
    DatabaseListeners dlis = new DatabaseListeners(sr);
    MSysOut.println(HIBERNATE_LOGS, "Installing db listeners");
    EventListenerRegistry registry = ((SessionFactoryImpl) sf).getServiceRegistry()
            .getService(EventListenerRegistry.class);
    registry.addDuplicationStrategy(new DuplicationStrategy() {
        @Override//from w ww . j a v  a 2  s  .  c o  m
        public boolean areMatch(Object listener, Object original) {
            return false;
        }

        @Override
        public Action getAction() {
            return null;
        }
    });

    if (dlis.getSaveListener() != null)
        registry.getEventListenerGroup(EventType.SAVE).appendListener(dlis.getSaveListener());
    if (dlis.getUpdateListener() != null)
        registry.getEventListenerGroup(EventType.UPDATE).appendListener(dlis.getUpdateListener());
    if (dlis.getSaveOrUpdateListener() != null)
        registry.getEventListenerGroup(EventType.SAVE_UPDATE).appendListener(dlis.getSaveOrUpdateListener());
    if (dlis.getDeleteListener() != null)
        registry.getEventListenerGroup(EventType.DELETE).appendListener(dlis.getDeleteListener());
    if (dlis.getPostInsertListener() != null)
        registry.getEventListenerGroup(EventType.POST_COMMIT_INSERT)
                .appendListener(dlis.getPostInsertListener());
    if (dlis.getPostUpdateListener() != null)
        registry.getEventListenerGroup(EventType.POST_COMMIT_UPDATE)
                .appendListener(dlis.getPostUpdateListener());

    MSysOut.println(HIBERNATE_LOGS, "db listeners installed");

    dlis.enableListeners(true); // may have to be moved later
}

From source file:org.granite.tide.hibernate4.Hibernate4ChangeSetIntegrator.java

License:Open Source License

public void integrate(Configuration configuration, SessionFactoryImplementor sessionFactory,
        SessionFactoryServiceRegistry serviceRegistry) {
    final EventListenerRegistry eventListenerRegistry = serviceRegistry.getService(EventListenerRegistry.class);

    try {//from   www  .ja va  2 s. c o m
        HibernateDataChangePublishListener listener = new HibernateDataChangePublishListener();
        eventListenerRegistry.getEventListenerGroup(EventType.POST_INSERT).appendListener(listener);
        eventListenerRegistry.getEventListenerGroup(EventType.POST_UPDATE).appendListener(listener);
        eventListenerRegistry.getEventListenerGroup(EventType.POST_DELETE).appendListener(listener);
        eventListenerRegistry.getEventListenerGroup(EventType.PRE_COLLECTION_UPDATE).appendListener(listener);

        eventListenerRegistry.getEventListenerGroup(EventType.PERSIST)
                .addDuplicationStrategy(new OverrideWrapStrategy<PersistEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.PERSIST)
                .appendListener(new HibernatePersistListener());
        eventListenerRegistry.getEventListenerGroup(EventType.PERSIST_ONFLUSH)
                .addDuplicationStrategy(new OverrideWrapStrategy<PersistEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.PERSIST_ONFLUSH)
                .appendListener(new HibernatePersistOnFlushListener());
        eventListenerRegistry.getEventListenerGroup(EventType.SAVE_UPDATE)
                .addDuplicationStrategy(new OverrideWrapStrategy<SaveOrUpdateEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.SAVE_UPDATE)
                .appendListener(new HibernateSaveOrUpdateListener());
        eventListenerRegistry.getEventListenerGroup(EventType.MERGE)
                .addDuplicationStrategy(new OverrideWrapStrategy<MergeEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.MERGE)
                .appendListener(new HibernateDataChangeMergeListener());
        eventListenerRegistry.getEventListenerGroup(EventType.DELETE)
                .addDuplicationStrategy(new OverrideWrapStrategy<DeleteEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.DELETE)
                .appendListener(new HibernateDeleteListener());
        eventListenerRegistry.getEventListenerGroup(EventType.LOCK)
                .addDuplicationStrategy(new OverrideWrapStrategy<LockEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.LOCK).appendListener(new HibernateLockListener());
        eventListenerRegistry.getEventListenerGroup(EventType.AUTO_FLUSH)
                .addDuplicationStrategy(new OverrideWrapStrategy<AutoFlushEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.AUTO_FLUSH)
                .appendListener(new HibernateAutoFlushListener());
        eventListenerRegistry.getEventListenerGroup(EventType.FLUSH)
                .addDuplicationStrategy(new OverrideWrapStrategy<FlushEventListener>());
        eventListenerRegistry.getEventListenerGroup(EventType.FLUSH)
                .appendListener(new HibernateFlushListener());
    } catch (Exception e) {
        throw new RuntimeException("Could not setup Hibernate 4 listeners", e);
    }
}

From source file:org.openeos.hibernate.internal.observers.ListenerObserver.java

License:Apache License

public void init() {
    LOG.debug("Initializing listener for pre and post events for hibernate");
    DAOListenerManager listenerManager = new DAOListenerManager();

    registerListener(bundleContext, listenerManager, SaveOrUpdateListener.class, EventType.SAVE_UPDATE,
            listenerManager.getPreSaveOrUpdateListener(), listenerManager.getPostSaveOrUpdateListener());
    registerListener(bundleContext, listenerManager, DeleteListener.class, EventType.DELETE,
            listenerManager.getBeforeDeleteListener(), listenerManager.getAfterDeleteListener());

}