summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitri Dolguikh <ddolguik@redhat.com>2009-12-02 11:26:14 -0400
committerDmitri Dolguikh <ddolguik@redhat.com>2009-12-02 11:26:14 -0400
commit0fc5a95716e3627f0c66854ba80d6d90b3326121 (patch)
tree6522b3d146afd4271cdc5d07cc069de97f985bf4
parenta85f630eb3b7491833bfbbb9bb6123156b7e5183 (diff)
downloadcandlepin-0fc5a95716e3627f0c66854ba80d6d90b3326121.tar.gz
candlepin-0fc5a95716e3627f0c66854ba80d6d90b3326121.tar.xz
candlepin-0fc5a95716e3627f0c66854ba80d6d90b3326121.zip
repositories no longer rely on hibernatesession, use entitymanager instead
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/AbstractHibernateRepository.java20
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/ConsumerRepository.java9
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/model/ConsumerTypeRepository.java6
-rw-r--r--proxy/code/src/org/fedoraproject/candlepin/resource/test/ConsumerResourceTest.java5
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);