diff options
Diffstat (limited to 'proxy')
4 files changed, 23 insertions, 17 deletions
diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/AbstractHibernateRepository.java b/proxy/code/src/org/fedoraproject/candlepin/model/AbstractHibernateRepository.java index 87c58f4..10b2a68 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/AbstractHibernateRepository.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/AbstractHibernateRepository.java @@ -3,16 +3,18 @@ package org.fedoraproject.candlepin.model; import java.io.Serializable; import java.lang.reflect.ParameterizedType; +import javax.persistence.EntityManager; + import org.hibernate.Session; public abstract class AbstractHibernateRepository<E> { - protected final Session session; + protected final EntityManager em; private final Class<E> entityType; @SuppressWarnings("unchecked") - protected AbstractHibernateRepository(Session session) { - this.session = session; + protected AbstractHibernateRepository(EntityManager em) { + this.em = em; entityType = (Class<E>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; } @@ -22,19 +24,23 @@ public abstract class AbstractHibernateRepository<E> { public E create(E entity) { save(entity); - flush(); +// flush(); return entity; } protected final <T> T get(Class<T> clazz, Serializable id) { - return clazz.cast(session.get(clazz, id)); + return clazz.cast(currentSession().get(clazz, id)); } protected final void save(Object anObject) { - session.save(anObject); + currentSession().save(anObject); } protected final void flush() { - session.flush(); + em.flush(); + } + + protected Session currentSession() { + return (Session) em.getDelegate(); } } diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerRepository.java b/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerRepository.java index b613ff8..53a62be 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerRepository.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerRepository.java @@ -1,16 +1,17 @@ package org.fedoraproject.candlepin.model; -import org.hibernate.Session; +import javax.persistence.EntityManager; + import org.hibernate.criterion.Restrictions; public class ConsumerRepository extends AbstractHibernateRepository<Consumer> { - public ConsumerRepository(Session session) { - super(session); + public ConsumerRepository(EntityManager em) { + super(em); } public Consumer lookupByName(String name) { - return (Consumer) session.createCriteria(Consumer.class) + return (Consumer) currentSession().createCriteria(Consumer.class) .add(Restrictions.like("name", name)) .uniqueResult(); } diff --git a/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerTypeRepository.java b/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerTypeRepository.java index 9c56e2d..e797b6c 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerTypeRepository.java +++ b/proxy/code/src/org/fedoraproject/candlepin/model/ConsumerTypeRepository.java @@ -1,9 +1,9 @@ package org.fedoraproject.candlepin.model; -import org.hibernate.Session; +import javax.persistence.EntityManager; public class ConsumerTypeRepository extends AbstractHibernateRepository<ConsumerType> { - public ConsumerTypeRepository(Session session) { - super(session); + public ConsumerTypeRepository(EntityManager em) { + super(em); } } diff --git a/proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java b/proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java index 1137ef2..609717a 100644 --- a/proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java +++ b/proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java @@ -23,7 +23,6 @@ import org.fedoraproject.candlepin.model.ConsumerType; import org.fedoraproject.candlepin.model.ConsumerTypeRepository; import org.fedoraproject.candlepin.resource.ConsumerResource; import org.fedoraproject.candlepin.test.DatabaseTestFixture; -import org.hibernate.Session; import org.junit.Before; import org.junit.Test; @@ -40,8 +39,8 @@ public class ConsumerResourceTest extends DatabaseTestFixture { @Before public void setUp() { super.setUp(); - consumerTypeRepository = new ConsumerTypeRepository((Session) em.getDelegate()); - consumerRepository = new ConsumerRepository((Session) em.getDelegate()); + consumerTypeRepository = new ConsumerTypeRepository(em); + consumerRepository = new ConsumerRepository(em); standardSystemType = new ConsumerType("standard-system"); consumerTypeRepository.create(standardSystemType); |