public static EntityManager create(EntityManager em) { return (EntityManager) Proxy.newProxyInstance(EntityManager.class.getClassLoader(), new Class[]{EntityManager.class}, new PersistenceExceptionConverter(em)); }
@Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { try { return method.invoke(em, args); } catch (InvocationTargetException e) { throw convert(e.getCause()); } }
@Override public JpaConnectionProvider create(KeycloakSession session) { logger.trace("Create JpaConnectionProvider"); lazyInit(session); EntityManager em; if (!jtaEnabled) { logger.trace("enlisting EntityManager in JpaKeycloakTransaction"); em = emf.createEntityManager(); } else { em = emf.createEntityManager(SynchronizationType.SYNCHRONIZED); } em = PersistenceExceptionConverter.create(em); if (!jtaEnabled) session.getTransactionManager().enlist(new JpaKeycloakTransaction(em)); return new DefaultJpaConnectionProvider(em); }
@Override public JpaConnectionProvider create(KeycloakSession session) { lazyInit(session); EntityManager em = emf.createEntityManager(); em = PersistenceExceptionConverter.create(em); session.getTransaction().enlist(new JpaKeycloakTransaction(em)); return new DefaultJpaConnectionProvider(em); }
@Override public Throwable convert(Throwable e) { if (!(e instanceof PersistenceException)) return null; return PersistenceExceptionConverter.convert(e.getCause() != null ? e.getCause() : e); }
public static EntityManager create(EntityManager em) { return (EntityManager) Proxy.newProxyInstance(EntityManager.class.getClassLoader(), new Class[]{EntityManager.class}, new PersistenceExceptionConverter(em)); }
@Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { try { return method.invoke(em, args); } catch (InvocationTargetException e) { throw convert(e.getCause()); } }
@Override public void commit() { try { logger.trace("Committing transaction"); em.getTransaction().commit(); } catch (PersistenceException e) { throw PersistenceExceptionConverter.convert(e.getCause() != null ? e.getCause() : e); } }
@Override public void commit() { try { em.getTransaction().commit(); } catch (PersistenceException e) { throw PersistenceExceptionConverter.convert(e.getCause() != null ? e.getCause() : e); } }