package org.picketlink.test.idm.util; import org.hibernate.ejb.HibernatePersistence; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.spi.PersistenceProvider; import javax.persistence.spi.PersistenceProviderResolver; import javax.persistence.spi.PersistenceProviderResolverHolder; import java.util.ArrayList; import java.util.List; /** * @author Pedro Igor */ public final class PersistenceUtil { public static final String TEST_JPA_ECLIPSELINK_PROVIDER = "test.idm.jpa.eclipselink.provider"; static { PersistenceProviderResolverHolder.setPersistenceProviderResolver(new PersistenceProviderResolver() { @Override public List<PersistenceProvider> getPersistenceProviders() { ArrayList<PersistenceProvider> providers = new ArrayList<PersistenceProvider>(); String enableEclipseLinkProvider = System.getProperty(TEST_JPA_ECLIPSELINK_PROVIDER); if (enableEclipseLinkProvider != null && Boolean.valueOf(enableEclipseLinkProvider)) { providers.add(new org.eclipse.persistence.jpa.PersistenceProvider()); } else { providers.add(new HibernatePersistence()); } return providers; } @Override public void clearCachedProviders() { } }); } public static EntityManagerFactory createEntityManagerFactory(String unitName) { return Persistence.createEntityManagerFactory(unitName); } }