[jboss-cvs] jboss-seam/src/ui/org/jboss/seam/ui ...

Gavin King gavin.king at jboss.com
Sun Oct 1 21:00:12 EDT 2006


  User: gavin   
  Date: 06/10/01 21:00:12

  Modified:    src/ui/org/jboss/seam/ui  UICache.java
  Log:
  fix bug in UICache state saving
  
  Revision  Changes    Path
  1.4       +19 -27    jboss-seam/src/ui/org/jboss/seam/ui/UICache.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: UICache.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/ui/org/jboss/seam/ui/UICache.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- UICache.java	14 Jul 2006 16:43:37 -0000	1.3
  +++ UICache.java	2 Oct 2006 01:00:12 -0000	1.4
  @@ -2,9 +2,7 @@
   
   import java.io.IOException;
   import java.io.StringWriter;
  -import java.util.List;
   
  -import javax.faces.component.UIComponent;
   import javax.faces.component.UIComponentBase;
   import javax.faces.context.FacesContext;
   import javax.faces.context.ResponseWriter;
  @@ -59,7 +57,7 @@
               StringWriter stringWriter = new StringWriter();
               ResponseWriter cachingResponseWriter = response.cloneWithWriter(stringWriter);
               facesContext.setResponseWriter(cachingResponseWriter);
  -            renderChildren(facesContext, this);
  +            JSF.renderChildren(facesContext, this);
               facesContext.setResponseWriter(response);
               String output = stringWriter.getBuffer().toString();
               response.write(output);
  @@ -77,7 +75,7 @@
         }
         else
         {
  -         renderChildren(facesContext, this);
  +         JSF.renderChildren(facesContext, this);
         }
      }
   
  @@ -112,29 +110,6 @@
         return true;
      }
      
  -   private static void renderChildren(FacesContext facesContext, UIComponent component)
  -         throws IOException
  -   {
  -      List children = component.getChildren();
  -      for (int j = 0, size = component.getChildCount(); j < size; j++)
  -      {
  -         UIComponent child = (UIComponent) children.get(j);
  -         if (child.isRendered())
  -         {
  -            child.encodeBegin(facesContext);
  -            if (child.getRendersChildren())
  -            {
  -               child.encodeChildren(facesContext);
  -            }
  -            else
  -            {
  -               renderChildren(facesContext, child);
  -            }
  -            child.encodeEnd(facesContext);
  -         }
  -      }
  -   }
  -
      public String getKey()
      {
         return key;
  @@ -155,4 +130,21 @@
         this.region = region;
      }
   
  +   @Override
  +   public void restoreState(FacesContext context, Object state) {
  +      Object[] values = (Object[]) state;
  +      super.restoreState(context, values[0]);
  +      key = (String) values[1];
  +      region = (String) values[1];
  +   }
  +
  +   @Override
  +   public Object saveState(FacesContext context) {
  +      Object[] values = new Object[3];
  +      values[0] = super.saveState(context);
  +      values[1] = key;
  +      values[2] = region;
  +      return values;
  +   }
  +
   }
  
  
  



More information about the jboss-cvs-commits mailing list