[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