Example usage for org.hibernate.ejb HibernateEntityManagerFactory getSessionFactory

List of usage examples for org.hibernate.ejb HibernateEntityManagerFactory getSessionFactory

Introduction

In this page you can find the example usage for org.hibernate.ejb HibernateEntityManagerFactory getSessionFactory.

Prototype

@Deprecated
default SessionFactoryImplementor getSessionFactory() 

Source Link

Document

Obtain the underlying Hibernate SessionFactory.

Usage

From source file:fr.paris.lutece.plugins.jpa.modules.hibernate.service.HibernateMonitorService.java

License:Open Source License

/**
 * Sets statistics status to factories/* ww  w.  j ava 2  s  .c om*/
 * @param bEnabled enabled
 */
private void setHibernateStatisticsEnabled(boolean bEnabled) {
    for (EntityManagerFactory emf : _service.getEntityManagerFactories().values()) {
        HibernateEntityManagerFactory emfImpl = getEntityManagerFactoryImpl(emf);
        emfImpl.getSessionFactory().getStatistics().setStatisticsEnabled(bEnabled);

        if (!bEnabled) {
            emfImpl.getSessionFactory().getStatistics().clear();
        }
    }

    setStatisticsEnabled(bEnabled);
}

From source file:fr.paris.lutece.plugins.jpa.modules.hibernate.service.HibernateMonitorService.java

License:Open Source License

/**
 * Registers JMX Beans for the given factories
 * @param mapFactories the factories//from  ww w.  j av a  2  s  .c  om
 * @return <code>true</code> if MBeans successfully registered, <code>false</code> otherwise.
 */
private boolean registerMBeans(Map<String, EntityManagerFactory> mapFactories) {
    logger.debug("Initializing JMX for hibernate");

    for (Entry<String, EntityManagerFactory> entry : mapFactories.entrySet()) {
        logger.debug("Registering JMX for hibernate pool : " + entry.getKey());

        HibernateEntityManagerFactory emf = getEntityManagerFactoryImpl(entry.getValue());

        if (!registerMBean(emf.getSessionFactory(), entry.getKey())) {
            return false;
        }
    }

    return true;
}

From source file:org.activityinfo.server.database.hibernate.HibernateModule.java

License:Open Source License

@Provides
public static SessionFactory getSessionFactory(EntityManagerFactory emf) {
    HibernateEntityManagerFactory hemf = (HibernateEntityManagerFactory) emf;
    return hemf.getSessionFactory();
}

From source file:org.candlepin.guice.CandlepinContextListener.java

License:Open Source License

/**
 * There's no way to really get Guice to perform injections on stuff that
 * the JpaPersistModule is creating, so we resort to grabbing the EntityManagerFactory
 * after the fact and adding the Validation EventListener ourselves.
 * @param injector//from  w  w w  .  j  av  a  2  s  . c o m
 */
private void insertValidationEventListeners(Injector injector) {
    javax.inject.Provider<EntityManagerFactory> emfProvider = injector.getProvider(EntityManagerFactory.class);
    HibernateEntityManagerFactory hibernateEntityManagerFactory = (HibernateEntityManagerFactory) emfProvider
            .get();
    SessionFactoryImpl sessionFactoryImpl = (SessionFactoryImpl) hibernateEntityManagerFactory
            .getSessionFactory();
    EventListenerRegistry registry = sessionFactoryImpl.getServiceRegistry()
            .getService(EventListenerRegistry.class);

    javax.inject.Provider<BeanValidationEventListener> listenerProvider = injector
            .getProvider(BeanValidationEventListener.class);
    registry.getEventListenerGroup(EventType.PRE_INSERT).appendListener(listenerProvider.get());
    registry.getEventListenerGroup(EventType.PRE_UPDATE).appendListener(listenerProvider.get());
    registry.getEventListenerGroup(EventType.PRE_DELETE).appendListener(listenerProvider.get());
}

From source file:org.candlepin.gutterball.servlet.GutterballValidationFilter.java

License:Open Source License

public void init(FilterConfig filterConfig) throws ServletException {
    HibernateEntityManagerFactory hibernateEntityManagerFactory = (HibernateEntityManagerFactory) this.factoryProvider
            .get();/* ww  w.  ja v a 2  s . c  o m*/
    SessionFactoryImpl sessionFactoryImpl = (SessionFactoryImpl) hibernateEntityManagerFactory
            .getSessionFactory();
    EventListenerRegistry registry = sessionFactoryImpl.getServiceRegistry()
            .getService(EventListenerRegistry.class);

    registry.getEventListenerGroup(EventType.PRE_INSERT).appendListener(this.listenerProvider.get());
    registry.getEventListenerGroup(EventType.PRE_UPDATE).appendListener(this.listenerProvider.get());
    registry.getEventListenerGroup(EventType.PRE_DELETE).appendListener(this.listenerProvider.get());
}

From source file:org.candlepin.test.DatabaseTestFixture.java

License:Open Source License

/**
 * There's no way to really get Guice to perform injections on stuff that
 * the JpaPersistModule is creating, so we resort to grabbing the EntityManagerFactory
 * after the fact and adding the Validation EventListener ourselves.
 * @param injector//from ww  w .  j av  a 2  s. co  m
 */
private void insertValidationEventListeners(Injector injector) {
    Provider<EntityManagerFactory> emfProvider = injector.getProvider(EntityManagerFactory.class);
    HibernateEntityManagerFactory hibernateEntityManagerFactory = (HibernateEntityManagerFactory) emfProvider
            .get();
    SessionFactoryImpl sessionFactoryImpl = (SessionFactoryImpl) hibernateEntityManagerFactory
            .getSessionFactory();
    EventListenerRegistry registry = sessionFactoryImpl.getServiceRegistry()
            .getService(EventListenerRegistry.class);

    Provider<BeanValidationEventListener> listenerProvider = injector
            .getProvider(BeanValidationEventListener.class);
    registry.getEventListenerGroup(EventType.PRE_INSERT).appendListener(listenerProvider.get());
    registry.getEventListenerGroup(EventType.PRE_UPDATE).appendListener(listenerProvider.get());
    registry.getEventListenerGroup(EventType.PRE_DELETE).appendListener(listenerProvider.get());
}

From source file:org.compass.gps.device.jpa.entities.HibernateJpaEntitiesLocator.java

License:Apache License

public EntityInformation[] locate(EntityManagerFactory entityManagerFactory, JpaGpsDevice device)
        throws JpaGpsDeviceException {

    CompassGpsInterfaceDevice gps = (CompassGpsInterfaceDevice) device.getGps();

    HibernateEntityManagerFactory hibernateEntityManagerFactory = (HibernateEntityManagerFactory) entityManagerFactory;
    SessionFactory sessionFactory = hibernateEntityManagerFactory.getSessionFactory();

    ArrayList<EntityInformation> entitiesList = new ArrayList<EntityInformation>();

    Map allClassMetaData = sessionFactory.getAllClassMetadata();
    for (Object o : allClassMetaData.keySet()) {
        String entityname = (String) o;
        if (!gps.hasMappingForEntityForIndex((entityname))) {
            if (log.isDebugEnabled()) {
                log.debug("Entity [" + entityname + "] does not have compass mapping, filtering it out");
            }/* w  w  w . ja  v a  2  s .  c  o m*/
            continue;
        }

        ClassMetadata classMetadata = (ClassMetadata) allClassMetaData.get(entityname);
        if (shouldFilter(entityname, classMetadata, allClassMetaData, device)) {
            continue;
        }
        Class<?> clazz = classMetadata.getMappedClass(EntityMode.POJO);
        ResourceMapping resourceMapping = gps.getMappingForEntityForIndex(entityname);
        EntityInformation entityInformation = new EntityInformation(clazz, entityname,
                new HibernateJpaQueryProvider(clazz, entityname),
                resourceMapping.getSubIndexHash().getSubIndexes());
        entitiesList.add(entityInformation);
        if (log.isDebugEnabled()) {
            log.debug("Entity [" + entityname + "] will be indexed");
        }
    }
    return entitiesList.toArray(new EntityInformation[entitiesList.size()]);
}

From source file:org.compass.gps.device.jpa.lifecycle.HibernateJpaEntityCollectionLifecycleInjector.java

License:Apache License

public void injectLifecycle(EntityManagerFactory entityManagerFactory, JpaGpsDevice device)
        throws JpaGpsDeviceException {
    super.injectLifecycle(entityManagerFactory, device);

    if (registerPostCommitListeneres) {
        return;//from w w  w .  j  a  va 2  s .co  m
    }

    HibernateEntityManagerFactory hibernateEntityManagerFactory = (HibernateEntityManagerFactory) entityManagerFactory;
    SessionFactoryImpl sessionFactory = (SessionFactoryImpl) hibernateEntityManagerFactory.getSessionFactory();
    EventListeners eventListeners = sessionFactory.getEventListeners();

    if (eventListener instanceof PostCollectionRecreateEventListener) {
        PostCollectionRecreateEventListener[] listeners = eventListeners
                .getPostCollectionRecreateEventListeners();
        PostCollectionRecreateEventListener[] tempListeners = new PostCollectionRecreateEventListener[listeners.length
                + 1];
        System.arraycopy(listeners, 0, tempListeners, 0, listeners.length);
        tempListeners[listeners.length] = (PostCollectionRecreateEventListener) eventListener;
        eventListeners.setPostCollectionRecreateEventListeners(tempListeners);
    }

    if (eventListener instanceof PostCollectionRemoveEventListener) {
        PostCollectionRemoveEventListener[] listeners = eventListeners.getPostCollectionRemoveEventListeners();
        PostCollectionRemoveEventListener[] tempListeners = new PostCollectionRemoveEventListener[listeners.length
                + 1];
        System.arraycopy(listeners, 0, tempListeners, 0, listeners.length);
        tempListeners[listeners.length] = (PostCollectionRemoveEventListener) eventListener;
        eventListeners.setPostCollectionRemoveEventListeners(tempListeners);
    }

    if (eventListener instanceof PostCollectionUpdateEventListener) {
        PostCollectionUpdateEventListener[] listeners = eventListeners.getPostCollectionUpdateEventListeners();
        PostCollectionUpdateEventListener[] tempListeners = new PostCollectionUpdateEventListener[listeners.length
                + 1];
        System.arraycopy(listeners, 0, tempListeners, 0, listeners.length);
        tempListeners[listeners.length] = (PostCollectionUpdateEventListener) eventListener;
        eventListeners.setPostCollectionUpdateEventListeners(tempListeners);
    }
}

From source file:org.compass.gps.device.jpa.lifecycle.HibernateJpaEntityCollectionLifecycleInjector.java

License:Apache License

public void removeLifecycle(EntityManagerFactory entityManagerFactory, JpaGpsDevice device)
        throws JpaGpsDeviceException {
    super.removeLifecycle(entityManagerFactory, device);

    if (registerPostCommitListeneres) {
        return;//w w w  .  j  ava  2s .c  o  m
    }

    HibernateEntityManagerFactory hibernateEntityManagerFactory = (HibernateEntityManagerFactory) entityManagerFactory;
    SessionFactoryImpl sessionFactory = (SessionFactoryImpl) hibernateEntityManagerFactory.getSessionFactory();
    EventListeners eventListeners = sessionFactory.getEventListeners();

    PostCollectionRecreateEventListener[] postCollectionRecreateEventListeners = eventListeners
            .getPostCollectionRecreateEventListeners();
    ArrayList<PostCollectionRecreateEventListener> tempPostCollectionRecreateEventListeners = new ArrayList<PostCollectionRecreateEventListener>();
    for (PostCollectionRecreateEventListener postCollectionRecreateEventListener : postCollectionRecreateEventListeners) {
        if (!(postCollectionRecreateEventListener instanceof HibernateCollectionEventListener)) {
            tempPostCollectionRecreateEventListeners.add(postCollectionRecreateEventListener);
        }
    }
    eventListeners.setPostCollectionRecreateEventListeners(tempPostCollectionRecreateEventListeners
            .toArray(new PostCollectionRecreateEventListener[tempPostCollectionRecreateEventListeners.size()]));

    PostCollectionUpdateEventListener[] postCollectionUpdateEventListeners = eventListeners
            .getPostCollectionUpdateEventListeners();
    ArrayList<PostCollectionUpdateEventListener> tempPostCollectionUpdateEventListeners = new ArrayList<PostCollectionUpdateEventListener>();
    for (PostCollectionUpdateEventListener postCollectionUpdateEventListener : postCollectionUpdateEventListeners) {
        if (!(postCollectionUpdateEventListener instanceof HibernateCollectionEventListener)) {
            tempPostCollectionUpdateEventListeners.add(postCollectionUpdateEventListener);
        }
    }
    eventListeners.setPostCollectionUpdateEventListeners(tempPostCollectionUpdateEventListeners
            .toArray(new PostCollectionUpdateEventListener[tempPostCollectionUpdateEventListeners.size()]));

    PostCollectionRemoveEventListener[] postCollectionRemoveEventListeners = eventListeners
            .getPostCollectionRemoveEventListeners();
    ArrayList<PostCollectionRemoveEventListener> tempPostCollectionRemoveEventListeners = new ArrayList<PostCollectionRemoveEventListener>();
    for (PostCollectionRemoveEventListener postCollectionRemoveEventListener : postCollectionRemoveEventListeners) {
        if (!(postCollectionRemoveEventListener instanceof HibernateCollectionEventListener)) {
            tempPostCollectionRemoveEventListeners.add(postCollectionRemoveEventListener);
        }
    }
    eventListeners.setPostCollectionRemoveEventListeners(tempPostCollectionRemoveEventListeners
            .toArray(new PostCollectionRemoveEventListener[tempPostCollectionRemoveEventListeners.size()]));

    eventListener = null;
}

From source file:org.compass.gps.device.jpa.lifecycle.HibernateJpaEntityLifecycleInjector.java

License:Apache License

public void injectLifecycle(EntityManagerFactory entityManagerFactory, JpaGpsDevice device)
        throws JpaGpsDeviceException {

    HibernateEntityManagerFactory hibernateEntityManagerFactory = (HibernateEntityManagerFactory) entityManagerFactory;
    SessionFactoryImpl sessionFactory = (SessionFactoryImpl) hibernateEntityManagerFactory.getSessionFactory();
    EventListeners eventListeners = sessionFactory.getEventListeners();

    Object hibernateEventListener = doCreateListener(device);

    if (hibernateEventListener instanceof PostInsertEventListener) {
        PostInsertEventListener[] postInsertEventListeners;
        if (registerPostCommitListeneres) {
            postInsertEventListeners = eventListeners.getPostCommitInsertEventListeners();
        } else {//from w w w  . j a  v  a 2 s  . c  o m
            postInsertEventListeners = eventListeners.getPostInsertEventListeners();
        }
        PostInsertEventListener[] tempPostInsertEventListeners = new PostInsertEventListener[postInsertEventListeners.length
                + 1];
        System.arraycopy(postInsertEventListeners, 0, tempPostInsertEventListeners, 0,
                postInsertEventListeners.length);
        tempPostInsertEventListeners[postInsertEventListeners.length] = (PostInsertEventListener) hibernateEventListener;
        if (registerPostCommitListeneres) {
            eventListeners.setPostCommitInsertEventListeners(tempPostInsertEventListeners);
        } else {
            eventListeners.setPostInsertEventListeners(tempPostInsertEventListeners);
        }
    }

    if (hibernateEventListener instanceof PostUpdateEventListener) {
        PostUpdateEventListener[] postUpdateEventListeners;
        if (registerPostCommitListeneres) {
            postUpdateEventListeners = eventListeners.getPostCommitUpdateEventListeners();
        } else {
            postUpdateEventListeners = eventListeners.getPostUpdateEventListeners();
        }
        PostUpdateEventListener[] tempPostUpdateEventListeners = new PostUpdateEventListener[postUpdateEventListeners.length
                + 1];
        System.arraycopy(postUpdateEventListeners, 0, tempPostUpdateEventListeners, 0,
                postUpdateEventListeners.length);
        tempPostUpdateEventListeners[postUpdateEventListeners.length] = (PostUpdateEventListener) hibernateEventListener;
        if (registerPostCommitListeneres) {
            eventListeners.setPostCommitUpdateEventListeners(tempPostUpdateEventListeners);
        } else {
            eventListeners.setPostUpdateEventListeners(tempPostUpdateEventListeners);
        }
    }

    if (hibernateEventListener instanceof PostDeleteEventListener) {
        PostDeleteEventListener[] postDeleteEventListeners;
        if (registerPostCommitListeneres) {
            postDeleteEventListeners = eventListeners.getPostCommitDeleteEventListeners();
        } else {
            postDeleteEventListeners = eventListeners.getPostDeleteEventListeners();
        }
        PostDeleteEventListener[] tempPostDeleteEventListeners = new PostDeleteEventListener[postDeleteEventListeners.length
                + 1];
        System.arraycopy(postDeleteEventListeners, 0, tempPostDeleteEventListeners, 0,
                postDeleteEventListeners.length);
        tempPostDeleteEventListeners[postDeleteEventListeners.length] = (PostDeleteEventListener) hibernateEventListener;
        if (registerPostCommitListeneres) {
            eventListeners.setPostCommitDeleteEventListeners(tempPostDeleteEventListeners);
        } else {
            eventListeners.setPostDeleteEventListeners(tempPostDeleteEventListeners);
        }
    }
}