[jboss-cvs] jboss-seam/src/main/org/jboss/seam/persistence ...

Gavin King gavin.king at jboss.com
Mon Jun 18 01:57:35 EDT 2007


  User: gavin   
  Date: 07/06/18 01:57:35

  Modified:    src/main/org/jboss/seam/persistence  
                        HibernatePersistenceProvider.java
                        PersistenceProvider.java
  Log:
  JBSEAM-942, optimistic locking for passivated entities
  
  Revision  Changes    Path
  1.10      +11 -0     jboss-seam/src/main/org/jboss/seam/persistence/HibernatePersistenceProvider.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: HibernatePersistenceProvider.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/persistence/HibernatePersistenceProvider.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -b -r1.9 -r1.10
  --- HibernatePersistenceProvider.java	18 Jun 2007 03:36:41 -0000	1.9
  +++ HibernatePersistenceProvider.java	18 Jun 2007 05:57:35 -0000	1.10
  @@ -7,8 +7,10 @@
   import javax.persistence.EntityManager;
   import javax.transaction.Synchronization;
   
  +import org.hibernate.EntityMode;
   import org.hibernate.FlushMode;
   import org.hibernate.Session;
  +import org.hibernate.metadata.ClassMetadata;
   import org.jboss.seam.InterceptionType;
   import org.jboss.seam.ScopeType;
   import org.jboss.seam.annotations.FlushModeType;
  @@ -53,6 +55,15 @@
      }
   
      @Override
  +   public Object getVersion(Object bean, EntityManager entityManager) 
  +   {
  +      ClassMetadata classMetadata = getSession(entityManager).getSessionFactory()
  +                  .getClassMetadata( bean.getClass() );
  +      return classMetadata.isVersioned() ? 
  +               classMetadata.getVersion(bean, EntityMode.POJO) : null;
  +   }
  +
  +   @Override
      public void enableFilter(Filter f, EntityManager entityManager)
      {
         org.hibernate.Filter filter = getSession(entityManager).enableFilter( f.getName() );
  
  
  
  1.12      +10 -0     jboss-seam/src/main/org/jboss/seam/persistence/PersistenceProvider.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PersistenceProvider.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/persistence/PersistenceProvider.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -b -r1.11 -r1.12
  --- PersistenceProvider.java	18 Jun 2007 03:44:45 -0000	1.11
  +++ PersistenceProvider.java	18 Jun 2007 05:57:35 -0000	1.12
  @@ -65,6 +65,16 @@
      }
      
      /**
  +    * Get the value of the entity version attribute.
  +    * 
  +    * @param bean a managed entity instance
  +    */
  +   public Object getVersion(Object bean, EntityManager entityManager)
  +   {
  +      return Entity.forClass( bean.getClass() ).getVersion(bean);
  +   }
  +   
  +   /**
       * Enable a Filter. This is here just especially for Hibernate,
       * since we well know that other products don't have such cool
       * features. 
  
  
  



More information about the jboss-cvs-commits mailing list