myfaces-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bsulli...@apache.org
Subject svn commit: r917861 - /myfaces/trinidad/branches/1.2.12.2-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java
Date Tue, 02 Mar 2010 03:34:31 GMT
Author: bsullivan
Date: Tue Mar  2 03:34:30 2010
New Revision: 917861

URL: http://svn.apache.org/viewvc?rev=917861&view=rev
Log:
The default for clientId caching was accidentally true.  Argh!! Fix case where the component
is moved between NamingContainers and therefore needs to clear the cached clientIds

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

Modified: myfaces/trinidad/branches/1.2.12.2-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.12.2-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java?rev=917861&r1=917860&r2=917861&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.12.2-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java
(original)
+++ myfaces/trinidad/branches/1.2.12.2-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java
Tue Mar  2 03:34:30 2010
@@ -488,7 +488,25 @@
   @Override
   public void setParent(UIComponent parent)
   {
-    _parent = parent;
+    if (parent != _parent)
+    {
+      _parent = parent;
+    
+      // clear cached client ids if necessary
+      if (_clientId != null)
+      {
+        String newClientId = _calculateClientId(FacesContext.getCurrentInstance());
+        
+        // if our clientId changed as a result of being reparented (because we moved
+        // between NamingContainers for instance) then we need to clear out
+        // all of the cached client ids for our subtree
+        if (!_clientId.equals(newClientId))
+        {
+          clearCachedClientIds();
+          _clientId = newClientId;
+        }
+      }
+    }
   }
 
 
@@ -1790,8 +1808,8 @@
     
     if (cacheClientIds == null)
     {
-      // see if client  is enabled for the application (the default is on)
-      boolean cachingEnabled = !Boolean.TRUE.equals(
+      // see if client  is enabled for the application (the default is off)
+      boolean cachingEnabled = Boolean.TRUE.equals(
                           context.getExternalContext().
                           getApplicationMap().get(_INIT_PROP_CLIENT_ID_CACHING_ENABLED));
       



Mime
View raw message