You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mb...@apache.org on 2005/07/19 12:02:18 UTC

svn commit: r219637 - /myfaces/api/trunk/src/java/javax/faces/component/UIComponentBase.java

Author: mbr
Date: Tue Jul 19 03:02:17 2005
New Revision: 219637

URL: http://svn.apache.org/viewcvs?rev=219637&view=rev
Log:
set the generated id in getClientId()
fix for JIRA-319 (transient flag is not queried in processRestoreState)

Modified:
    myfaces/api/trunk/src/java/javax/faces/component/UIComponentBase.java

Modified: myfaces/api/trunk/src/java/javax/faces/component/UIComponentBase.java
URL: http://svn.apache.org/viewcvs/myfaces/api/trunk/src/java/javax/faces/component/UIComponentBase.java?rev=219637&r1=219636&r2=219637&view=diff
==============================================================================
--- myfaces/api/trunk/src/java/javax/faces/component/UIComponentBase.java (original)
+++ myfaces/api/trunk/src/java/javax/faces/component/UIComponentBase.java Tue Jul 19 03:02:17 2005
@@ -118,6 +118,7 @@
                 context.getExternalContext().log("ERROR: Cannot automatically create an id for component of type " + getClass().getName() + " because there is no viewRoot in the current facesContext!");
                 id = "ERROR";
             }
+            setId(id);
             //We remember that the id was null and log a warning down below
             idWasNull = true;
         }
@@ -464,33 +465,43 @@
         Object myState = ((Object[])state)[0];
         Map facetMap = (Map)((Object[])state)[1];
         List childrenList = (List)((Object[])state)[2];
-        for (Iterator it = getFacets().entrySet().iterator(); it.hasNext(); )
+        if(facetMap != null)
         {
-            Map.Entry entry = (Map.Entry)it.next();
-            Object facetState = facetMap.get(entry.getKey());
-            if (facetState != null)
-            {
-                ((UIComponent)entry.getValue()).processRestoreState(context, facetState);
-            }
-            else
-            {
-                context.getExternalContext().log("No state found to restore facet " + entry.getKey());
-            }
+          for (Iterator it = getFacets().entrySet().iterator(); it.hasNext(); )
+          {
+              Map.Entry entry = (Map.Entry)it.next();
+              Object facetState = facetMap.get(entry.getKey());
+              if (facetState != null)
+              {
+                UIComponent component = (UIComponent)entry.getValue();
+                if(!component.isTransient())
+                {
+                  component.processRestoreState(context, facetState);
+                }
+              }
+              else
+              {
+                  context.getExternalContext().log("No state found to restore facet " + entry.getKey());
+              }
+          }
         }
-        if (getChildCount() > 0)
+        if (childrenList != null && getChildCount() > 0)
         {
             int idx = 0;
             for (Iterator it = getChildren().iterator(); it.hasNext(); )
             {
                 UIComponent child = (UIComponent)it.next();
-                Object childState = childrenList.get(idx++);
-                if (childState != null)
-                {
-                    child.processRestoreState(context, childState);
-                }
-                else
+                if(!child.isTransient())
                 {
-                    context.getExternalContext().log("No state found to restore child of component " + getId());
+                  Object childState = childrenList.get(idx++);
+                  if (childState != null)
+                  {
+                      child.processRestoreState(context, childState);
+                  }
+                  else
+                  {
+                      context.getExternalContext().log("No state found to restore child of component " + getId());
+                  }
                 }
             }
         }