[jboss-cvs] jboss-seam/src/main/org/jboss/seam/framework ...
Gavin King
gavin.king at jboss.com
Sat Jan 27 13:41:25 EST 2007
User: gavin
Date: 07/01/27 13:41:25
Modified: src/main/org/jboss/seam/framework Controller.java
EntityController.java EntityHome.java
EntityQuery.java HibernateEntityController.java
HibernateEntityHome.java HibernateEntityQuery.java
Home.java MutableController.java Query.java
Log:
major improvements to the hierarchy
Revision Changes Path
1.4 +2 -1 jboss-seam/src/main/org/jboss/seam/framework/Controller.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Controller.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/Controller.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- Controller.java 27 Jan 2007 18:10:55 -0000 1.3
+++ Controller.java 27 Jan 2007 18:41:25 -0000 1.4
@@ -1,5 +1,6 @@
package org.jboss.seam.framework;
+import java.io.Serializable;
import java.util.Map;
import javax.faces.context.FacesContext;
@@ -31,7 +32,7 @@
* @author Gavin King
*
*/
-public abstract class Controller
+public abstract class Controller implements Serializable
{
@Logger Log log;
1.3 +13 -20 jboss-seam/src/main/org/jboss/seam/framework/EntityController.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: EntityController.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/EntityController.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- EntityController.java 27 Jan 2007 18:10:55 -0000 1.2
+++ EntityController.java 27 Jan 2007 18:41:25 -0000 1.3
@@ -4,8 +4,6 @@
import javax.persistence.LockModeType;
import javax.persistence.Query;
-import org.jboss.seam.Component;
-
/**
* Base class for controller objects that perform
* persistence operations using JPA. Adds
@@ -15,72 +13,67 @@
* @author Gavin King
*
*/
-public class EntityController extends Controller
+public class EntityController extends PersistenceController<EntityManager>
{
- private EntityManager entityManager;
public EntityManager getEntityManager()
{
- if (entityManager==null)
- {
- entityManager = (EntityManager) Component.getInstance("entityManager");
- }
- return entityManager;
+ return getPersistenceContext();
}
public void setEntityManager(EntityManager entityManager)
{
- this.entityManager = entityManager;
+ setPersistenceContext(entityManager);
}
protected Query createNamedQuery(String name)
{
- return entityManager.createNamedQuery(name);
+ return getEntityManager().createNamedQuery(name);
}
protected Query createQuery(String ejbql)
{
- return entityManager.createQuery(ejbql);
+ return getEntityManager().createQuery(ejbql);
}
protected <T> T find(Class<T> clazz, Object id)
{
- return entityManager.find(clazz, id);
+ return getEntityManager().find(clazz, id);
}
protected void flush()
{
- entityManager.flush();
+ getEntityManager().flush();
}
protected <T> T getReference(Class<T> clazz, Object id)
{
- return entityManager.getReference(clazz, id);
+ return getEntityManager().getReference(clazz, id);
}
protected void lock(Object entity, LockModeType lockMode)
{
- entityManager.lock(entity, lockMode);
+ getEntityManager().lock(entity, lockMode);
}
protected <T> T merge(T entity)
{
- return entityManager.merge(entity);
+ return getEntityManager().merge(entity);
}
protected void persist(Object entity)
{
- entityManager.persist(entity);
+ getEntityManager().persist(entity);
}
protected void refresh(Object entity)
{
- entityManager.refresh(entity);
+ getEntityManager().refresh(entity);
}
protected void remove(Object entity)
{
- entityManager.remove(entity);
+ getEntityManager().remove(entity);
}
}
1.15 +4 -10 jboss-seam/src/main/org/jboss/seam/framework/EntityHome.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: EntityHome.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/EntityHome.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- EntityHome.java 27 Jan 2007 18:10:55 -0000 1.14
+++ EntityHome.java 27 Jan 2007 18:41:25 -0000 1.15
@@ -1,7 +1,7 @@
package org.jboss.seam.framework;
import javax.persistence.EntityManager;
-import org.jboss.seam.Component;
+
import org.jboss.seam.annotations.Transactional;
import org.jboss.seam.persistence.PersistenceProvider;
@@ -11,12 +11,10 @@
* @author Gavin King
*
*/
-public class EntityHome<E> extends Home<E>
+public class EntityHome<E> extends Home<EntityManager, E>
{
private static final long serialVersionUID = -3140094990727574632L;
- private EntityManager entityManager;
-
@Override
public void create()
{
@@ -76,16 +74,12 @@
public EntityManager getEntityManager()
{
- if (entityManager==null)
- {
- entityManager = (EntityManager) Component.getInstance("entityManager");
- }
- return entityManager;
+ return getPersistenceContext();
}
public void setEntityManager(EntityManager entityManager)
{
- this.entityManager = entityManager;
+ setPersistenceContext(entityManager);
}
}
1.9 +3 -9 jboss-seam/src/main/org/jboss/seam/framework/EntityQuery.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: EntityQuery.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/EntityQuery.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- EntityQuery.java 27 Jan 2007 01:55:25 -0000 1.8
+++ EntityQuery.java 27 Jan 2007 18:41:25 -0000 1.9
@@ -5,7 +5,6 @@
import javax.persistence.EntityManager;
-import org.jboss.seam.Component;
import org.jboss.seam.annotations.Transactional;
/**
@@ -14,9 +13,8 @@
* @author Gavin King
*
*/
-public class EntityQuery extends Query
+public class EntityQuery extends Query<EntityManager>
{
- private EntityManager entityManager;
private List resultList;
private Object singleResult;
@@ -82,16 +80,12 @@
public EntityManager getEntityManager()
{
- if (entityManager==null)
- {
- entityManager = (EntityManager) Component.getInstance("entityManager");
- }
- return entityManager;
+ return getPersistenceContext();
}
public void setEntityManager(EntityManager entityManager)
{
- this.entityManager = entityManager;
+ setPersistenceContext(entityManager);
}
protected javax.persistence.Query createQuery()
1.3 +19 -25 jboss-seam/src/main/org/jboss/seam/framework/HibernateEntityController.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: HibernateEntityController.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/HibernateEntityController.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- HibernateEntityController.java 27 Jan 2007 18:10:55 -0000 1.2
+++ HibernateEntityController.java 27 Jan 2007 18:41:25 -0000 1.3
@@ -9,7 +9,6 @@
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
-import org.jboss.seam.Component;
/**
* Base class for controller objects that perform
@@ -20,102 +19,97 @@
* @author Gavin King
*
*/
-public class HibernateEntityController extends Controller
+public class HibernateEntityController extends PersistenceController<Session>
{
- private Session session;
public Session getSession()
{
- if (session==null)
- {
- session = (Session) Component.getInstance("session");
- }
- return session;
+ return getPersistenceContext();
}
public void setSession(Session session)
{
- this.session = session;
+ setPersistenceContext(session);
}
protected Criteria createCriteria(Class clazz)
{
- return session.createCriteria(clazz);
+ return getSession().createCriteria(clazz);
}
protected Query createQuery(String hql) throws HibernateException
{
- return session.createQuery(hql);
+ return getSession().createQuery(hql);
}
protected SQLQuery createSQLQuery(String sql) throws HibernateException
{
- return session.createSQLQuery(sql);
+ return getSession().createSQLQuery(sql);
}
protected void delete(Object entity) throws HibernateException
{
- session.delete(entity);
+ getSession().delete(entity);
}
protected Filter enableFilter(String name)
{
- return session.enableFilter(name);
+ return getSession().enableFilter(name);
}
protected void flush() throws HibernateException
{
- session.flush();
+ getSession().flush();
}
protected <T> T get(Class<T> clazz, Serializable id, LockMode lockMode) throws HibernateException
{
- return (T) session.get(clazz, id, lockMode);
+ return (T) getSession().get(clazz, id, lockMode);
}
protected <T> T get(Class<T> clazz, Serializable id) throws HibernateException
{
- return (T) session.get(clazz, id);
+ return (T) getSession().get(clazz, id);
}
protected Query getNamedQuery(String name) throws HibernateException
{
- return session.getNamedQuery(name);
+ return getSession().getNamedQuery(name);
}
protected <T> T load(Class<T> clazz, Serializable id, LockMode lockMode) throws HibernateException
{
- return (T) session.load(clazz, id, lockMode);
+ return (T) getSession().load(clazz, id, lockMode);
}
protected <T> T load(Class<T> clazz, Serializable id) throws HibernateException
{
- return (T) session.load(clazz, id);
+ return (T) getSession().load(clazz, id);
}
protected void lock(Object entity, LockMode lockMode) throws HibernateException
{
- session.lock(entity, lockMode);
+ getSession().lock(entity, lockMode);
}
protected <T> T merge(T entity) throws HibernateException
{
- return (T) session.merge(entity);
+ return (T) getSession().merge(entity);
}
protected void persist(Object entity) throws HibernateException
{
- session.persist(entity);
+ getSession().persist(entity);
}
protected void refresh(Object entity, LockMode lockMode) throws HibernateException
{
- session.refresh(entity, lockMode);
+ getSession().refresh(entity, lockMode);
}
protected void refresh(Object entity) throws HibernateException
{
- session.refresh(entity);
+ getSession().refresh(entity);
}
}
1.12 +4 -10 jboss-seam/src/main/org/jboss/seam/framework/HibernateEntityHome.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: HibernateEntityHome.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/HibernateEntityHome.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- HibernateEntityHome.java 27 Jan 2007 18:10:55 -0000 1.11
+++ HibernateEntityHome.java 27 Jan 2007 18:41:25 -0000 1.12
@@ -1,8 +1,8 @@
package org.jboss.seam.framework;
import java.io.Serializable;
+
import org.hibernate.Session;
-import org.jboss.seam.Component;
import org.jboss.seam.annotations.Transactional;
/**
@@ -11,13 +11,11 @@
* @author Gavin King
*
*/
-public class HibernateEntityHome<E> extends Home<E>
+public class HibernateEntityHome<E> extends Home<Session, E>
{
private static final long serialVersionUID = 6071072408602519385L;
- private Session session;
-
@Override
public void create()
{
@@ -73,16 +71,12 @@
public Session getSession()
{
- if (session==null)
- {
- session = (Session) Component.getInstance("session");
- }
- return session;
+ return getPersistenceContext();
}
public void setSession(Session session)
{
- this.session = session;
+ setPersistenceContext(session);
}
}
1.8 +3 -9 jboss-seam/src/main/org/jboss/seam/framework/HibernateEntityQuery.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: HibernateEntityQuery.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/HibernateEntityQuery.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- HibernateEntityQuery.java 27 Jan 2007 01:55:25 -0000 1.7
+++ HibernateEntityQuery.java 27 Jan 2007 18:41:25 -0000 1.8
@@ -3,7 +3,6 @@
import java.util.List;
import org.hibernate.Session;
-import org.jboss.seam.Component;
import org.jboss.seam.annotations.Transactional;
/**
@@ -12,9 +11,8 @@
* @author Gavin King
*
*/
-public class HibernateEntityQuery extends Query
+public class HibernateEntityQuery extends Query<Session>
{
- private Session session;
private List resultList;
private Object singleResult;
@@ -83,16 +81,12 @@
public Session getSession()
{
- if (session==null)
- {
- session = (Session) Component.getInstance("session");
- }
- return session;
+ return getPersistenceContext();
}
public void setSession(Session session)
{
- this.session = session;
+ setPersistenceContext(session);
}
protected org.hibernate.Query createQuery()
1.14 +2 -2 jboss-seam/src/main/org/jboss/seam/framework/Home.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Home.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/Home.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- Home.java 27 Jan 2007 18:10:55 -0000 1.13
+++ Home.java 27 Jan 2007 18:41:25 -0000 1.14
@@ -22,7 +22,7 @@
*
*/
@Scope(ScopeType.CONVERSATION)
-public abstract class Home<E> extends MutableController
+public abstract class Home<T, E> extends MutableController<T>
{
private static final long serialVersionUID = -5462396456614090423L;
@@ -125,7 +125,7 @@
if (type instanceof ParameterizedType)
{
ParameterizedType paramType = (ParameterizedType) type;
- entityClass = (Class<E>) paramType.getActualTypeArguments()[0];
+ entityClass = (Class<E>) paramType.getActualTypeArguments()[1];
}
else
{
1.2 +3 -3 jboss-seam/src/main/org/jboss/seam/framework/MutableController.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: MutableController.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/MutableController.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- MutableController.java 27 Jan 2007 18:10:55 -0000 1.1
+++ MutableController.java 27 Jan 2007 18:41:25 -0000 1.2
@@ -11,8 +11,8 @@
* @author Gavin King
*
*/
-public abstract class MutableController
- extends Controller
+public abstract class MutableController<T>
+ extends PersistenceController<T>
implements Serializable, Mutable
{
//copy/paste from AbstractMutable
@@ -34,7 +34,7 @@
* @param newValue the new value of an attribute
* @return true if the newValue is not equal to the oldValue
*/
- protected <T> boolean setDirty(T oldValue, T newValue)
+ protected <U> boolean setDirty(U oldValue, U newValue)
{
boolean attributeDirty = oldValue!=newValue && (
oldValue==null ||
1.19 +2 -2 jboss-seam/src/main/org/jboss/seam/framework/Query.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Query.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/Query.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- Query.java 27 Jan 2007 18:10:55 -0000 1.18
+++ Query.java 27 Jan 2007 18:41:25 -0000 1.19
@@ -1,6 +1,5 @@
package org.jboss.seam.framework;
-import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
@@ -25,7 +24,8 @@
* @author Gavin King
*
*/
-public abstract class Query extends Controller implements Serializable //TODO: extend MutableController!
+public abstract class Query<T>
+ extends PersistenceController<T> //TODO: extend MutableController!
{
private static final Pattern FROM_PATTERN = Pattern.compile("(^|\\s)(from)\\s", Pattern.CASE_INSENSITIVE);
private static final Pattern ORDER_PATTERN = Pattern.compile("\\s(order)(\\s)+by\\s", Pattern.CASE_INSENSITIVE);
More information about the jboss-cvs-commits
mailing list