You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2007/11/30 17:41:51 UTC

svn commit: r599867 - /myfaces/trinidad/branches/1.2.4-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/StampState.java

Author: matzew
Date: Fri Nov 30 08:41:41 2007
New Revision: 599867

URL: http://svn.apache.org/viewvc?rev=599867&view=rev
Log:
TRINIDAD-809
thx for the patch, Max Starets

Modified:
    myfaces/trinidad/branches/1.2.4-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/StampState.java

Modified: myfaces/trinidad/branches/1.2.4-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/StampState.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.4-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/StampState.java?rev=599867&r1=599866&r2=599867&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.4-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/StampState.java (original)
+++ myfaces/trinidad/branches/1.2.4-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/StampState.java Fri Nov 30 08:41:41 2007
@@ -32,6 +32,7 @@
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 
+import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 
 /**
@@ -335,7 +336,11 @@
      */
     static public RowState getState(UIXShowDetail child)
     {
-      if (child.isDisclosed())
+      FacesBean bean = child.getFacesBean();
+      Boolean disclosed = (Boolean)bean.getLocalProperty(UIXShowDetail.DISCLOSED_KEY);
+      if (disclosed == null)
+        return _NULL;
+      else if (disclosed)
         return _TRUE;
       else
         return _FALSE;
@@ -345,7 +350,7 @@
     {
     }
 
-    private SDState(boolean disclosed)
+    private SDState(Boolean disclosed)
     {
       _disclosed = disclosed;
     }
@@ -353,19 +358,21 @@
     @Override
     public void saveRowState(UIComponent child)
     {
-      _disclosed = ((UIXShowDetail) child).isDisclosed();
+      FacesBean bean = ((UIXShowDetail)child).getFacesBean();
+      _disclosed = (Boolean)bean.getLocalProperty(UIXShowDetail.DISCLOSED_KEY);
     }
 
     @Override
     public void restoreRowState(UIComponent child)
     {
-      ((UIXShowDetail) child).setDisclosed(_disclosed);
+      FacesBean bean = ((UIXShowDetail)child).getFacesBean();
+      bean.setProperty(UIXShowDetail.DISCLOSED_KEY, _disclosed);
     }
 
     @Override
     public boolean isNull()
     {
-      return !_disclosed;
+      return _disclosed == null;
     }
 
     @Override
@@ -378,13 +385,14 @@
     // so that we only send across and restore instances of these
     static private final SDState _TRUE = new SDState(true);
     static private final SDState _FALSE = new SDState(false);
+    static private final SDState _NULL = new SDState(null);
 
     /**
      * 
      */
     private static final long serialVersionUID = -8605916495935317932L;
 
-    private boolean _disclosed;
+    private Boolean _disclosed;
   }
 
   static private final class TableState extends RowState