You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2010/01/29 08:51:52 UTC

svn commit: r904406 - /myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ViewMetadataHandler.java

Author: bommel
Date: Fri Jan 29 07:51:50 2010
New Revision: 904406

URL: http://svn.apache.org/viewvc?rev=904406&view=rev
Log:
(MYFACES-2516) Allow any child for f:event in the case of a PreRenderViewEvent

Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ViewMetadataHandler.java

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ViewMetadataHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ViewMetadataHandler.java?rev=904406&r1=904405&r2=904406&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ViewMetadataHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/core/ViewMetadataHandler.java Fri Jan 29 07:51:50 2010
@@ -30,6 +30,8 @@
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletTag;
 import org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage;
+import org.apache.myfaces.view.facelets.tag.jsf.ComponentSupport;
+
 /**
  * Defines the view metadata. It is expected that this tag contains only
  * one or many f:viewParam tags.
@@ -63,18 +65,20 @@
             UIComponent metadataFacet = parent.getFacet(UIViewRoot.METADATA_FACET_NAME);
             if (metadataFacet == null)
             {
-                metadataFacet = ctx.getFacesContext().
-                    getApplication().createComponent(UIPanel.COMPONENT_TYPE);
+                metadataFacet = ctx.getFacesContext().getApplication().createComponent(UIPanel.COMPONENT_TYPE);
                 metadataFacet.setId(UIViewRoot.METADATA_FACET_NAME);
-                this.nextHandler.apply(ctx, metadataFacet);
-                // ensure ComponentHandler.isNew() is true
+                metadataFacet.getAttributes().put(ComponentSupport.FACET_CREATED_UIPANEL_MARKER, true);
                 parent.getFacets().put(UIViewRoot.METADATA_FACET_NAME, metadataFacet);
             }
-            else
+            parent.getAttributes().put(FacetHandler.KEY, UIViewRoot.METADATA_FACET_NAME);
+            try
             {
-                this.nextHandler.apply(ctx, metadataFacet);
+                this.nextHandler.apply(ctx, parent);
+            }
+            finally
+            {
+                parent.getAttributes().remove(FacetHandler.KEY);
             }
-
         }
     }
 }