[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