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

Norman Richards norman.richards at jboss.com
Sat Nov 17 20:32:25 EST 2007


  User: nrichards
  Date: 07/11/17 20:32:25

  Modified:    src/main/org/jboss/seam/contexts   EntityBeanMap.java
                        EntityBeanSet.java
  Log:
  JBSEAM-2214 - fix for all entity collections
  
  Revision  Changes    Path
  1.6       +15 -12    jboss-seam/src/main/org/jboss/seam/contexts/EntityBeanMap.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: EntityBeanMap.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/contexts/EntityBeanMap.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -r1.5 -r1.6
  --- EntityBeanMap.java	21 Jun 2007 21:45:30 -0000	1.5
  +++ EntityBeanMap.java	18 Nov 2007 01:32:25 -0000	1.6
  @@ -62,27 +62,30 @@
      @Override
      protected void passivateAll()
      {
  -      passivatedEntityMap = new HashMap<Object, PassivatedEntity>( map.size() );
  +      HashMap<Object, PassivatedEntity> newPassivatedMap = 
  +          new HashMap<Object, PassivatedEntity>(map.size());
         boolean found = false;
  -      for ( Map.Entry me: (Set<Map.Entry>) map.entrySet() )
  -      {
  +      for (Map.Entry me: (Set<Map.Entry>) map.entrySet()) {
            Object value = me.getValue();
  -         if (value!=null)
  -         {
  +         if (value!=null) {
               PassivatedEntity passivatedEntity = PassivatedEntity.passivateEntity(value);
  -            if (passivatedEntity!=null)
  -            {
  -               if (!found) map = new HashMap(map);
  +            if (passivatedEntity!=null) {
  +               if (!found) {
  +                   map = new HashMap(map);
                  found=true;
  +               }
  +
                  //this would be dangerous, except that we 
                  //are doing it to a copy of the original 
                  //list:
  -               map.remove( me.getKey() ); 
  -               passivatedEntityMap.put( me.getKey(), passivatedEntity );
  +               map.remove(me.getKey()); 
  +               newPassivatedMap.put(me.getKey(), passivatedEntity);
  +            }
               }
            }
  +      if (found) {
  +          passivatedEntityMap = newPassivatedMap;
         }
  -      if (!found) clearPassivatedEntities();
      }
      
   }
  
  
  
  1.5       +22 -20    jboss-seam/src/main/org/jboss/seam/contexts/EntityBeanSet.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: EntityBeanSet.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/contexts/EntityBeanSet.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -b -r1.4 -r1.5
  --- EntityBeanSet.java	21 Jun 2007 21:45:30 -0000	1.4
  +++ EntityBeanSet.java	18 Nov 2007 01:32:25 -0000	1.5
  @@ -63,26 +63,28 @@
      @Override
      protected void passivateAll()
      {
  -      passivatedEntityList = new ArrayList<PassivatedEntity>( set.size() );
  +       ArrayList<PassivatedEntity> newPassivatedList = new ArrayList<PassivatedEntity>( set.size() );
         boolean found = false;
  -      for ( Object value: set )
  -      {
  -         if (value!=null)
  -         {
  +       for (Object value: set){
  +           if (value!=null) {
               PassivatedEntity passivatedEntity = PassivatedEntity.passivateEntity(value);
  -            if (passivatedEntity!=null)
  -            {
  -               if (!found) set = new HashSet(set);
  +               if (passivatedEntity!=null) {
  +                   if (!found) {
  +                       set = new HashSet(set);
                  found=true;
  +                   }
                  //this would be dangerous, except that we 
                  //are doing it to a copy of the original 
                  //list:
                  set.remove(value);
  -               passivatedEntityList.add(passivatedEntity);
  +                   newPassivatedList.add(passivatedEntity);
  +               }
               }
            }
  +       // if the original list was nulled out, we don't want to overwrite the passivatedEntity list
  +       if (found) {
  +           passivatedEntityList = newPassivatedList;
         }
  -      if (!found) passivatedEntityList=null;
      }
      
   }
  
  
  



More information about the jboss-cvs-commits mailing list