[jboss-cvs] jboss-seam/src/main/org/jboss/seam ...
Gavin King
gavin.king at jboss.com
Mon Jun 11 00:55:17 EDT 2007
User: gavin
Date: 07/06/11 00:55:17
Modified: src/main/org/jboss/seam Component.java
Log:
JBSEAM-308
Revision Changes Path
1.252 +10 -3 jboss-seam/src/main/org/jboss/seam/Component.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Component.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/Component.java,v
retrieving revision 1.251
retrieving revision 1.252
diff -u -b -r1.251 -r1.252
--- Component.java 8 Jun 2007 07:08:26 -0000 1.251
+++ Component.java 11 Jun 2007 04:55:17 -0000 1.252
@@ -1362,16 +1362,18 @@
private void outjectDataModel(Object bean, BijectedAttribute dataModelGetter)
{
+
DataBinder wrapper = createWrapper( dataModelGetter.getAnnotation() );
Object list = dataModelGetter.get(bean);
String name = dataModelGetter.getName();
Annotation dataModelAnn = dataModelGetter.getAnnotation();
ScopeType scope = wrapper.getVariableScope(dataModelAnn);
-
Context context = getOutScope(scope, this).getContext();
Object existingDataModel = context.get(name);
- boolean dirty = existingDataModel == null || scope==PAGE ||
+
+ boolean dirty = existingDataModel == null ||
wrapper.isDirty(dataModelAnn, existingDataModel, list);
+ boolean reoutject = existingDataModel!=null && scope==PAGE;
if (dirty)
{
@@ -1384,6 +1386,11 @@
context.remove(name);
}
}
+ else if (reoutject)
+ {
+ context.set(name, existingDataModel);
+ }
+
}
private static DataBinder createWrapper(Annotation dataModelAnn)
More information about the jboss-cvs-commits
mailing list