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