[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