You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2012/03/29 05:15:00 UTC

svn commit: r1306699 - in /myfaces/core/trunk/impl/src: main/java/org/apache/myfaces/view/facelets/tag/ main/java/org/apache/myfaces/view/facelets/tag/composite/ main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ main/java/org/apache/myfaces/vie...

Author: lu4242
Date: Thu Mar 29 03:14:59 2012
New Revision: 1306699

URL: http://svn.apache.org/viewvc?rev=1306699&view=rev
Log:
MYFACES-3514 cc:insertChildren must relocate user tag handlers other tags that contains markup too

Added:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ComponentContainerHandler.java   (with props)
    myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/resources/testComposite/compositeInsertChildren5.xhtml
      - copied unchanged from r1305478, myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/resources/testComposite/compositeInsertChildren4.xhtml
    myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/resources/testComposite/compositeInsertChildren6.xhtml   (with props)
    myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren5.xhtml
      - copied, changed from r1305478, myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren4.xhtml
    myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren5UserTagHandler.xhtml
      - copied, changed from r1305478, myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren4Template.xhtml
    myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren6.xhtml   (with props)
Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/UserTagHandler.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeComponentResourceTagHandler.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InsertChildrenHandler.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseHandler.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseWhenHandler.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ForEachHandler.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/IfHandler.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/DecorateHandler.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/IncludeHandler.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/InsertHandler.java
    myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/tag/composite/CompositeComponentTestCase.java
    myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/test-facelet.taglib.xml

Added: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ComponentContainerHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ComponentContainerHandler.java?rev=1306699&view=auto
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ComponentContainerHandler.java (added)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ComponentContainerHandler.java Thu Mar 29 03:14:59 2012
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.view.facelets.tag;
+
+/**
+ * This interface identify tag handlers that does not generate components, but
+ * it has components inside them and by that reason it should be considered
+ * into cc:insertChildren logic.
+ * 
+ * @author lu4242
+ */
+public interface ComponentContainerHandler
+{
+ 
+}

Propchange: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ComponentContainerHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/UserTagHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/UserTagHandler.java?rev=1306699&r1=1306698&r2=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/UserTagHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/UserTagHandler.java Thu Mar 29 03:14:59 2012
@@ -49,7 +49,7 @@ import org.apache.myfaces.view.facelets.
  * @author Jacob Hookom
  * @version $Id$
  */
-final class UserTagHandler extends TagHandler implements TemplateClient
+final class UserTagHandler extends TagHandler implements TemplateClient, ComponentContainerHandler
 {
 
     protected final TagAttribute[] _vars;

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeComponentResourceTagHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeComponentResourceTagHandler.java?rev=1306699&r1=1306698&r2=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeComponentResourceTagHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/CompositeComponentResourceTagHandler.java Thu Mar 29 03:14:59 2012
@@ -59,6 +59,7 @@ import org.apache.myfaces.view.facelets.
 import org.apache.myfaces.view.facelets.TemplateClient;
 import org.apache.myfaces.view.facelets.TemplateContext;
 import org.apache.myfaces.view.facelets.el.VariableMapperWrapper;
+import org.apache.myfaces.view.facelets.tag.ComponentContainerHandler;
 import org.apache.myfaces.view.facelets.tag.TagHandlerUtils;
 import org.apache.myfaces.view.facelets.tag.jsf.ActionSourceRule;
 import org.apache.myfaces.view.facelets.tag.jsf.ComponentBuilderHandler;
@@ -66,9 +67,6 @@ import org.apache.myfaces.view.facelets.
 import org.apache.myfaces.view.facelets.tag.jsf.EditableValueHolderRule;
 import org.apache.myfaces.view.facelets.tag.jsf.ValueHolderRule;
 import org.apache.myfaces.view.facelets.tag.jsf.core.AjaxHandler;
-import org.apache.myfaces.view.facelets.tag.ui.DecorateHandler;
-import org.apache.myfaces.view.facelets.tag.ui.IncludeHandler;
-import org.apache.myfaces.view.facelets.tag.ui.InsertHandler;
 
 /**
  * This handler is responsible for apply composite components. It
@@ -101,8 +99,7 @@ public class CompositeComponentResourceT
                                                         InsertFacetHandler.class);
         _componentHandlers = TagHandlerUtils.findNextByType(nextHandler,
                 javax.faces.view.facelets.ComponentHandler.class,
-                InsertChildrenHandler.class, InsertHandler.class,
-                DecorateHandler.class, IncludeHandler.class, TextHandler.class);
+                ComponentContainerHandler.class, TextHandler.class);
     }
 
     public UIComponent createComponent(FaceletContext ctx)
@@ -229,10 +226,7 @@ public class CompositeComponentResourceT
                 else if (insertChildrenUsed)
                 {
                     if (!(handler instanceof javax.faces.view.facelets.ComponentHandler ||
-                            handler instanceof InsertChildrenHandler ||
-                            handler instanceof InsertHandler ||
-                            handler instanceof DecorateHandler ||
-                            handler instanceof IncludeHandler ||
+                            nextHandler instanceof ComponentContainerHandler ||
                             handler instanceof TextHandler))
                     {
                         handler.apply(ctx, c);
@@ -265,11 +259,8 @@ public class CompositeComponentResourceT
             else if (insertChildrenUsed)
             {
                 if (!(nextHandler instanceof javax.faces.view.facelets.ComponentHandler ||
-                        nextHandler instanceof InsertChildrenHandler ||
-                        nextHandler instanceof InsertHandler ||
-                        nextHandler instanceof DecorateHandler ||
-                        nextHandler instanceof IncludeHandler ||
-                        nextHandler instanceof TextHandler))
+                      nextHandler instanceof ComponentContainerHandler ||
+                      nextHandler instanceof TextHandler))
                 {
                     nextHandler.apply(ctx, c);
                 }

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InsertChildrenHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InsertChildrenHandler.java?rev=1306699&r1=1306698&r2=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InsertChildrenHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InsertChildrenHandler.java Thu Mar 29 03:14:59 2012
@@ -30,13 +30,14 @@ import javax.faces.view.facelets.TagHand
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletTag;
 import org.apache.myfaces.view.facelets.AbstractFaceletContext;
 import org.apache.myfaces.view.facelets.FaceletCompositionContext;
+import org.apache.myfaces.view.facelets.tag.ComponentContainerHandler;
 
 /**
  * @author Leonardo Uribe (latest modification by $Author$)
  * @version $Revision$ $Date$
  */
 @JSFFaceletTag(name="composite:insertChildren")
-public class InsertChildrenHandler extends TagHandler
+public class InsertChildrenHandler extends TagHandler implements ComponentContainerHandler
 {
     public static final String INSERT_CHILDREN_USED = "org.apache.myfaces.INSERT_CHILDREN_USED";
     

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseHandler.java?rev=1306699&r1=1306698&r2=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseHandler.java Thu Mar 29 03:14:59 2012
@@ -36,6 +36,7 @@ import javax.faces.view.facelets.TagHand
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletTag;
 import org.apache.myfaces.view.facelets.FaceletCompositionContext;
+import org.apache.myfaces.view.facelets.tag.ComponentContainerHandler;
 import org.apache.myfaces.view.facelets.tag.TagHandlerUtils;
 import org.apache.myfaces.view.facelets.tag.jsf.ComponentSupport;
 
@@ -48,7 +49,7 @@ import org.apache.myfaces.view.facelets.
  * @version $Id$
  */
 @JSFFaceletTag(name="c:choose")
-public final class ChooseHandler extends TagHandler
+public final class ChooseHandler extends TagHandler implements ComponentContainerHandler
 {
 
     private final ChooseOtherwiseHandler otherwise;

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseWhenHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseWhenHandler.java?rev=1306699&r1=1306698&r2=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseWhenHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ChooseWhenHandler.java Thu Mar 29 03:14:59 2012
@@ -31,6 +31,7 @@ import javax.faces.view.facelets.TagHand
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletAttribute;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletTag;
+import org.apache.myfaces.view.facelets.tag.ComponentContainerHandler;
 
 /**
  * Subtag of <choose> that includes its body if its
@@ -40,7 +41,7 @@ import org.apache.myfaces.buildtools.mav
  * @version $Id$
  */
 @JSFFaceletTag(name="c:when")
-public final class ChooseWhenHandler extends TagHandler
+public final class ChooseWhenHandler extends TagHandler implements ComponentContainerHandler
 {
 
     /**

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ForEachHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ForEachHandler.java?rev=1306699&r1=1306698&r2=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ForEachHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/ForEachHandler.java Thu Mar 29 03:14:59 2012
@@ -40,6 +40,7 @@ import javax.faces.view.facelets.TagHand
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletAttribute;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletTag;
 import org.apache.myfaces.view.facelets.FaceletCompositionContext;
+import org.apache.myfaces.view.facelets.tag.ComponentContainerHandler;
 import org.apache.myfaces.view.facelets.tag.jsf.ComponentSupport;
 
 /**
@@ -52,7 +53,7 @@ import org.apache.myfaces.view.facelets.
  * @version $Id$
  */
 @JSFFaceletTag(name="c:forEach")
-public final class ForEachHandler extends TagHandler
+public final class ForEachHandler extends TagHandler implements ComponentContainerHandler
 {
 
     private static class ArrayIterator implements Iterator<Object>

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/IfHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/IfHandler.java?rev=1306699&r1=1306698&r2=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/IfHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jstl/core/IfHandler.java Thu Mar 29 03:14:59 2012
@@ -33,6 +33,7 @@ import javax.faces.view.facelets.TagHand
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletAttribute;
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletTag;
 import org.apache.myfaces.view.facelets.FaceletCompositionContext;
+import org.apache.myfaces.view.facelets.tag.ComponentContainerHandler;
 import org.apache.myfaces.view.facelets.tag.jsf.ComponentSupport;
 
 /**
@@ -48,7 +49,7 @@ import org.apache.myfaces.view.facelets.
         name="scope",
         className="java.lang.String",
         longDescription="Scope for var.")
-public final class IfHandler extends TagHandler
+public final class IfHandler extends TagHandler implements ComponentContainerHandler
 {
 
     /**

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/DecorateHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/DecorateHandler.java?rev=1306699&r1=1306698&r2=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/DecorateHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/DecorateHandler.java Thu Mar 29 03:14:59 2012
@@ -41,6 +41,7 @@ import org.apache.myfaces.buildtools.mav
 import org.apache.myfaces.view.facelets.AbstractFaceletContext;
 import org.apache.myfaces.view.facelets.FaceletCompositionContext;
 import org.apache.myfaces.view.facelets.TemplateClient;
+import org.apache.myfaces.view.facelets.tag.ComponentContainerHandler;
 import org.apache.myfaces.view.facelets.tag.TagHandlerUtils;
 import org.apache.myfaces.view.facelets.tag.jsf.ComponentSupport;
 
@@ -58,7 +59,7 @@ import org.apache.myfaces.view.facelets.
  * @version $Id$
  */
 @JSFFaceletTag(name="ui:decorate")
-public final class DecorateHandler extends TagHandler implements TemplateClient
+public final class DecorateHandler extends TagHandler implements TemplateClient, ComponentContainerHandler
 {
 
     //private static final Logger log = Logger.getLogger("facelets.tag.ui.decorate");

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/IncludeHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/IncludeHandler.java?rev=1306699&r1=1306698&r2=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/IncludeHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/IncludeHandler.java Thu Mar 29 03:14:59 2012
@@ -43,6 +43,7 @@ import org.apache.myfaces.view.facelets.
 import org.apache.myfaces.view.facelets.FaceletCompositionContext;
 import org.apache.myfaces.view.facelets.el.VariableMapperWrapper;
 import org.apache.myfaces.view.facelets.impl.TemplateContextImpl;
+import org.apache.myfaces.view.facelets.tag.ComponentContainerHandler;
 import org.apache.myfaces.view.facelets.tag.TagHandlerUtils;
 import org.apache.myfaces.view.facelets.tag.jsf.ComponentSupport;
 
@@ -59,7 +60,7 @@ import org.apache.myfaces.view.facelets.
  * @version $Id$
  */
 @JSFFaceletTag(name="ui:include", bodyContent="JSP")
-public final class IncludeHandler extends TagHandler
+public final class IncludeHandler extends TagHandler implements ComponentContainerHandler
 {
 
     private static final String ERROR_PAGE_INCLUDE_PATH = "javax.faces.error.xhtml";

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/InsertHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/InsertHandler.java?rev=1306699&r1=1306698&r2=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/InsertHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/InsertHandler.java Thu Mar 29 03:14:59 2012
@@ -34,6 +34,7 @@ import org.apache.myfaces.buildtools.mav
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFaceletTag;
 import org.apache.myfaces.view.facelets.AbstractFaceletContext;
 import org.apache.myfaces.view.facelets.TemplateClient;
+import org.apache.myfaces.view.facelets.tag.ComponentContainerHandler;
 
 /**
  * The insert tag is used within your templates to declare spots of replicable data.
@@ -42,7 +43,7 @@ import org.apache.myfaces.view.facelets.
  * @version $Id$
  */
 @JSFFaceletTag(name="ui:insert")
-public final class InsertHandler extends TagHandler implements TemplateClient
+public final class InsertHandler extends TagHandler implements TemplateClient, ComponentContainerHandler
 {
 
     /**

Modified: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/tag/composite/CompositeComponentTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/tag/composite/CompositeComponentTestCase.java?rev=1306699&r1=1306698&r2=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/tag/composite/CompositeComponentTestCase.java (original)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/tag/composite/CompositeComponentTestCase.java Thu Mar 29 03:14:59 2012
@@ -58,6 +58,14 @@ public class CompositeComponentTestCase 
     }
     
     @Override
+    protected void setUpServletObjects() throws Exception
+    {
+        super.setUpServletObjects();
+        servletContext.addInitParameter("javax.faces.FACELETS_LIBRARIES", "/test-facelet.taglib.xml");
+    }
+    
+    
+    @Override
     protected void setUpExternalContext() throws Exception
     {
         super.setUpExternalContext();
@@ -573,6 +581,75 @@ public class CompositeComponentTestCase 
         Assert.assertTrue(resp.contains("OMEGA"));
     }
     
+        
+    @Test
+    public void testCompositeInsertChildren5() throws Exception
+    {
+        HelloWorld helloWorld = new HelloWorld(); 
+        
+        facesContext.getExternalContext().getRequestMap().put("helloWorldBean",
+                helloWorld);
+        
+        UIViewRoot root = facesContext.getViewRoot();
+        vdl.buildView(facesContext, root, "testCompositeInsertChildren5.xhtml");
+        
+        UIComponent panelGroup1 = root.findComponent("testGroup1");
+        Assert.assertNotNull(panelGroup1);
+        //UINamingContainer compositeComponent1 = (UINamingContainer) panelGroup1.getChildren().get(0);
+        //Assert.assertNotNull(compositeComponent1);
+        //UIComponent facet1 = compositeComponent1.getFacet(UIComponent.COMPOSITE_FACET_NAME);
+        //Assert.assertNotNull(facet1);
+        
+        StringWriter sw = new StringWriter();
+        MockResponseWriter mrw = new MockResponseWriter(sw);
+        facesContext.setResponseWriter(mrw);
+
+        panelGroup1.encodeAll(facesContext);
+
+        sw.flush();
+        
+        String resp = sw.toString();
+
+        Assert.assertTrue(resp.contains("ALFA"));
+        Assert.assertTrue(resp.contains("BETA"));
+        Assert.assertTrue(resp.contains("GAMMA"));
+        Assert.assertTrue(resp.contains("OMEGA"));
+    }
+
+    @Test
+    public void testCompositeInsertChildren6() throws Exception
+    {
+        HelloWorld helloWorld = new HelloWorld(); 
+        
+        facesContext.getExternalContext().getRequestMap().put("helloWorldBean",
+                helloWorld);
+        
+        UIViewRoot root = facesContext.getViewRoot();
+        vdl.buildView(facesContext, root, "testCompositeInsertChildren6.xhtml");
+        
+        UIComponent panelGroup1 = root.findComponent("testGroup1");
+        Assert.assertNotNull(panelGroup1);
+        //UINamingContainer compositeComponent1 = (UINamingContainer) panelGroup1.getChildren().get(0);
+        //Assert.assertNotNull(compositeComponent1);
+        //UIComponent facet1 = compositeComponent1.getFacet(UIComponent.COMPOSITE_FACET_NAME);
+        //Assert.assertNotNull(facet1);
+        
+        StringWriter sw = new StringWriter();
+        MockResponseWriter mrw = new MockResponseWriter(sw);
+        facesContext.setResponseWriter(mrw);
+
+        panelGroup1.encodeAll(facesContext);
+
+        sw.flush();
+        
+        String resp = sw.toString();
+
+        Assert.assertTrue(resp.contains("ALFA"));
+        Assert.assertTrue(resp.contains("BETA"));
+        Assert.assertTrue(resp.contains("GAMMA"));
+        Assert.assertTrue(resp.contains("OMEGA"));
+    }
+
     @Test
     public void testCompositeInsertFacet() throws Exception
     {

Added: myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/resources/testComposite/compositeInsertChildren6.xhtml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/resources/testComposite/compositeInsertChildren6.xhtml?rev=1306699&view=auto
==============================================================================
--- myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/resources/testComposite/compositeInsertChildren6.xhtml (added)
+++ myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/resources/testComposite/compositeInsertChildren6.xhtml Thu Mar 29 03:14:59 2012
@@ -0,0 +1,35 @@
+<!--
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ $Id: defineInclude.xml 804043 2009-08-13 22:08:44Z lu4242 $
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:composite="http://java.sun.com/jsf/composite"
+	xmlns:testComposite="http://java.sun.com/jsf/composite/testComposite">
+<head>
+</head>
+<body>
+<composite:interface>
+</composite:interface>
+<composite:implementation>
+   <ui:insert name="item">
+       <composite:insertChildren/>
+   </ui:insert>
+   <h:outputText value="GAMMA "/> 
+</composite:implementation>
+</body>
+</html>
\ No newline at end of file

Propchange: myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/resources/testComposite/compositeInsertChildren6.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/test-facelet.taglib.xml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/test-facelet.taglib.xml?rev=1306699&r1=1306698&r2=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/test-facelet.taglib.xml (original)
+++ myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/test-facelet.taglib.xml Thu Mar 29 03:14:59 2012
@@ -31,5 +31,10 @@
             <handler-class>org.apache.myfaces.view.facelets.tag.composite.SimpleComponentTagHandler</handler-class>
         </component>
     </tag>
+    
+    <tag>
+        <tag-name>testUserTag5</tag-name>
+        <source>testCompositeInsertChildren5UserTagHandler.xhtml</source>
+    </tag>
 
 </facelet-taglib>
\ No newline at end of file

Copied: myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren5.xhtml (from r1305478, myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren4.xhtml)
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren5.xhtml?p2=myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren5.xhtml&p1=myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren4.xhtml&r1=1305478&r2=1306699&rev=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren4.xhtml (original)
+++ myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren5.xhtml Thu Mar 29 03:14:59 2012
@@ -18,16 +18,17 @@
 	xmlns:h="http://java.sun.com/jsf/html"
 	xmlns:f="http://java.sun.com/jsf/core"
     xmlns:ui="http://java.sun.com/jsf/facelets"
-	xmlns:testComposite="http://java.sun.com/jsf/composite/testComposite">
+	xmlns:testComposite="http://java.sun.com/jsf/composite/testComposite"
+    xmlns:testComponent="http://myfaces.apache.org/testComponent">
 <head>
 </head>
 <body>
-<ui:composition template="testCompositeInsertChildren4Template.xhtml">
-    <ui:define name="item">
-        <testComposite:compositeInsertChildren4>
-            <h:outputText value="BETA " />
-        </testComposite:compositeInsertChildren4>
-    </ui:define>
-</ui:composition>
+<h:panelGroup id="testGroup1">
+  <testComposite:compositeInsertChildren5>
+      <h:outputText value="ALFA " />
+      <testComponent:testUserTag5/>
+      <h:outputText value="OMEGA " />
+  </testComposite:compositeInsertChildren5>
+</h:panelGroup>
 </body>
 </html>
\ No newline at end of file

Copied: myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren5UserTagHandler.xhtml (from r1305478, myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren4Template.xhtml)
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren5UserTagHandler.xhtml?p2=myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren5UserTagHandler.xhtml&p1=myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren4Template.xhtml&r1=1305478&r2=1306699&rev=1306699&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren4Template.xhtml (original)
+++ myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren5UserTagHandler.xhtml Thu Mar 29 03:14:59 2012
@@ -23,14 +23,7 @@
 </head>
 <body>
 <ui:composition>
-<h:panelGroup id="testGroup1">
-    <h:outputText value="ALFA " />
-    <ui:insert name="item">
-        <!-- This one should not be rendered -->
-        <h:outputText value="EPSILON "/>
-    </ui:insert>
-    <h:outputText value="OMEGA " />
-</h:panelGroup>
+    <h:outputText value="BETA " />
 </ui:composition>
 </body>
 </html>
\ No newline at end of file

Added: myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren6.xhtml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren6.xhtml?rev=1306699&view=auto
==============================================================================
--- myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren6.xhtml (added)
+++ myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren6.xhtml Thu Mar 29 03:14:59 2012
@@ -0,0 +1,37 @@
+<!--
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ $Id: defineInclude.xml 804043 2009-08-13 22:08:44Z lu4242 $
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:c="http://java.sun.com/jsp/jstl/core"
+	xmlns:testComposite="http://java.sun.com/jsf/composite/testComposite"
+    xmlns:testComponent="http://myfaces.apache.org/testComponent">
+<head>
+</head>
+<body>
+<h:panelGroup id="testGroup1">
+  <testComposite:compositeInsertChildren6>
+      <h:outputText value="ALFA " />
+      <c:if test="true">
+        <h:outputText value="BETA " />
+      </c:if>
+  </testComposite:compositeInsertChildren6>
+  <h:outputText value="OMEGA " />
+</h:panelGroup>
+</body>
+</html>
\ No newline at end of file

Propchange: myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/testCompositeInsertChildren6.xhtml
------------------------------------------------------------------------------
    svn:eol-style = native