package org.picketlink.test.idm.util; import org.picketlink.idm.jpa.internal.JPAIdentityStore; import org.picketlink.idm.spi.ContextInitializer; import org.picketlink.idm.spi.IdentityContext; import org.picketlink.idm.spi.IdentityStore; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; /** * * @author Shane Bryzak * */ public class JPAContextInitializer implements ContextInitializer { private EntityManagerFactory emf; public JPAContextInitializer(EntityManagerFactory emf) { this.emf = emf; } public EntityManager getEntityManager(){ return emf.createEntityManager(); } @Override public void initContextForStore(IdentityContext ctx, IdentityStore<?> store) { if (store instanceof JPAIdentityStore) { if (!ctx.isParameterSet(JPAIdentityStore.INVOCATION_CTX_ENTITY_MANAGER)) { ctx.setParameter(JPAIdentityStore.INVOCATION_CTX_ENTITY_MANAGER, getEntityManager()); } } } }