[jboss-cvs] jboss-seam/src/main/org/jboss/seam/contexts ...
Gavin King
gavin.king at jboss.com
Thu Jun 21 17:55:30 EDT 2007
User: gavin
Date: 07/06/21 17:55:30
Modified: src/main/org/jboss/seam/contexts
AbstractEntityBeanCollection.java EntityBean.java
Log:
better impl
Revision Changes Path
1.2 +14 -1 jboss-seam/src/main/org/jboss/seam/contexts/AbstractEntityBeanCollection.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: AbstractEntityBeanCollection.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/contexts/AbstractEntityBeanCollection.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- AbstractEntityBeanCollection.java 21 Jun 2007 21:45:30 -0000 1.1
+++ AbstractEntityBeanCollection.java 21 Jun 2007 21:55:30 -0000 1.2
@@ -2,20 +2,33 @@
abstract class AbstractEntityBeanCollection implements Wrapper
{
+ private transient boolean initialized;
+
+ protected AbstractEntityBeanCollection()
+ {
+ initialized = true;
+ }
+
public final void activate()
{
if ( isPassivatedEntitiesInitialized() && isAnyVersioned() )
{
activateAll();
+ initialized = true;
+ }
+ else
+ {
+ initialized = false;
}
}
public final Object getInstance()
{
- if ( isPassivatedEntitiesInitialized() && !isAnyVersioned() )
+ if ( !initialized && isPassivatedEntitiesInitialized() )
{
activateAll();
}
+ initialized = true;
return getEntityCollection();
}
1.13 +10 -2 jboss-seam/src/main/org/jboss/seam/contexts/EntityBean.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: EntityBean.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/contexts/EntityBean.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- EntityBean.java 21 Jun 2007 21:45:30 -0000 1.12
+++ EntityBean.java 21 Jun 2007 21:55:30 -0000 1.13
@@ -17,20 +17,23 @@
private Object instance;
private PassivatedEntity passivatedEntity;
+ private transient boolean initialized;
public EntityBean(Object instance)
{
this.instance = instance;
+ initialized = true;
}
//TODO: use @Unwrap
public Object getInstance()
{
- if ( passivatedEntity!=null && !passivatedEntity.isVersioned() )
+ if ( !initialized && passivatedEntity!=null )
{
//non-versioned entities can be lazily unpassivated
instance = passivatedEntity.toEntityReference(true);
}
+ initialized = true;
return instance;
}
@@ -45,7 +48,7 @@
else
{
passivatedEntity = passivateEntity(instance);
- if (passivatedEntity!=null) instance = null;
+ if (passivatedEntity!=null) instance = null; //for performance of serialization
}
return true;
}
@@ -62,6 +65,11 @@
if ( passivatedEntity!=null && passivatedEntity.isVersioned() )
{
instance = passivatedEntity.toEntityReference(true);
+ initialized = true;
+ }
+ else
+ {
+ initialized = false;
}
}
More information about the jboss-cvs-commits
mailing list