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

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

Introduction

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

Prototype

EventType SAVE_UPDATE

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

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 w w  .  ja  v  a2 s. co  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.egov.infra.config.persistence.event.integrator.HibernateEventListenerIntegrator.java

License:Open Source License

private void registerCustomFilters(final SessionFactoryServiceRegistry serviceRegistry) {
    final EventListenerRegistry eventListenerRegistry = serviceRegistry.getService(EventListenerRegistry.class);
    final DefaultSaveOrUpdateEventListener dfltSaveorUpdateListner = new DefaultSaveOrUpdateEventListener();
    final HibernateEventListener hibernateEventListener = new HibernateEventListener();
    eventListenerRegistry.setListeners(EventType.SAVE, hibernateEventListener, dfltSaveorUpdateListner);
    eventListenerRegistry.setListeners(EventType.UPDATE, hibernateEventListener, dfltSaveorUpdateListner);
    eventListenerRegistry.setListeners(EventType.SAVE_UPDATE, hibernateEventListener, dfltSaveorUpdateListner);
    eventListenerRegistry.prependListeners(EventType.PRE_UPDATE, hibernateEventListener);
}

From source file:org.grails.orm.hibernate.EventListenerIntegrator.java

License:Apache License

private <T> boolean shouldOverrideListeners(EventType<T> eventType, Object listener) {
    return (listener instanceof org.hibernate.event.internal.DefaultSaveOrUpdateEventListener)
            && eventType.equals(EventType.SAVE_UPDATE);
}

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 w w  w  .j  a  va 2s . 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());

}