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 2010/05/19 07:18:56 UTC
svn commit: r946028 - in
/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces: renderkit/html/
view/facelets/ view/facelets/tag/composite/
Author: lu4242
Date: Wed May 19 05:18:55 2010
New Revision: 946028
URL: http://svn.apache.org/viewvc?rev=946028&view=rev
Log:
MYFACES-2638 Fix PostAddToViewEvent and PreRemoveFromViewEvent publishing conditions (remove events call when refreshTransientBuild and replace it with alternate custom event calling)
Modified:
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.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/composite/InsertFacetHandler.java
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java?rev=946028&r1=946027&r2=946028&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlScriptRenderer.java Wed May 19 05:18:55 2010
@@ -38,6 +38,7 @@ import org.apache.myfaces.shared_impl.re
import org.apache.myfaces.shared_impl.renderkit.RendererUtils;
import org.apache.myfaces.shared_impl.renderkit.html.HTML;
import org.apache.myfaces.shared_impl.renderkit.html.util.ResourceUtils;
+import org.apache.myfaces.view.facelets.PostBuildComponentTreeOnRestoreViewEvent;
/**
* Renderer used by h:outputScript component
@@ -47,7 +48,10 @@ import org.apache.myfaces.shared_impl.re
* @since 2.0
*/
@JSFRenderer(renderKitId = "HTML_BASIC", family = "javax.faces.Output", type = "javax.faces.resource.Script")
-@ListenerFor(systemEventClass = PostAddToViewEvent.class)
+@ListenersFor({
+@ListenerFor(systemEventClass = PostAddToViewEvent.class),
+@ListenerFor(systemEventClass = PostBuildComponentTreeOnRestoreViewEvent.class)
+})
public class HtmlScriptRenderer extends Renderer implements PartialStateHolder, ComponentSystemEventListener {
//private static final Log log = LogFactory.getLog(HtmlScriptRenderer.class);
private static final Logger log = Logger.getLogger(HtmlScriptRenderer.class.getName());
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java?rev=946028&r1=946027&r2=946028&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlStylesheetRenderer.java Wed May 19 05:18:55 2010
@@ -55,7 +55,10 @@ import org.apache.myfaces.view.facelets.
* @version $Revision$ $Date$
*/
@JSFRenderer(renderKitId = "HTML_BASIC", family = "javax.faces.Output", type = "javax.faces.resource.Stylesheet")
-@ListenerFor(systemEventClass = PostAddToViewEvent.class)
+@ListenersFor({
+@ListenerFor(systemEventClass = PostAddToViewEvent.class),
+@ListenerFor(systemEventClass = PostBuildComponentTreeOnRestoreViewEvent.class)
+})
public class HtmlStylesheetRenderer extends Renderer implements
ComponentSystemEventListener, PartialStateHolder
{
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java?rev=946028&r1=946027&r2=946028&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java Wed May 19 05:18:55 2010
@@ -318,8 +318,9 @@ public class FaceletViewDeclarationLangu
// cc:insertChildren or cc:insertFacet will not work correctly, because
// we expect PostAddToViewEvent will be propagated from parent to child, and
// facelets refreshing algorithm do the opposite.
- FaceletViewDeclarationLanguage._publishPreRemoveFromViewEvent(context, view);
- FaceletViewDeclarationLanguage._publishPostAddToViewEvent(context, view);
+ //FaceletViewDeclarationLanguage._publishPreRemoveFromViewEvent(context, view);
+ //FaceletViewDeclarationLanguage._publishPostAddToViewEvent(context, view);
+ FaceletViewDeclarationLanguage._publishPostBuildComponentTreeOnRestoreViewEvent(context, view);
}
context.getAttributes().remove(REFRESHING_TRANSIENT_BUILD);
@@ -404,9 +405,9 @@ public class FaceletViewDeclarationLangu
}
}
- public static void _publishPostAddToViewEvent(FacesContext context, UIComponent component)
+ public static void _publishPostBuildComponentTreeOnRestoreViewEvent(FacesContext context, UIComponent component)
{
- context.getApplication().publishEvent(context, PostAddToViewEvent.class, UIComponent.class, component);
+ context.getApplication().publishEvent(context, PostBuildComponentTreeOnRestoreViewEvent.class, UIComponent.class, component);
if (component.getChildCount() > 0)
{
@@ -424,7 +425,7 @@ public class FaceletViewDeclarationLangu
// This prevents skip components when processing
do
{
- _publishPostAddToViewEvent(context, child);
+ _publishPostBuildComponentTreeOnRestoreViewEvent(context, child);
currentChild = child;
}
while ((i < children.size()) &&
@@ -436,7 +437,7 @@ public class FaceletViewDeclarationLangu
{
for (UIComponent child : component.getFacets().values())
{
- _publishPostAddToViewEvent(context, child);
+ _publishPostBuildComponentTreeOnRestoreViewEvent(context, child);
}
}
}
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=946028&r1=946027&r2=946028&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 Wed May 19 05:18:55 2010
@@ -80,6 +80,8 @@ public class InsertChildrenHandler exten
parentCompositeComponent.subscribeToEvent(PostAddToViewEvent.class,
new RelocateAllChildrenListener(parent, parent.getChildCount()));
+ parentCompositeComponent.subscribeToEvent(PostBuildComponentTreeOnRestoreViewEvent.class,
+ new RelocateAllChildrenListener(parent, parent.getChildCount()));
/*
if (ctx.getFacesContext().getAttributes().containsKey(
FaceletViewDeclarationLanguage.MARK_INITIAL_STATE_KEY))
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InsertFacetHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InsertFacetHandler.java?rev=946028&r1=946027&r2=946028&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InsertFacetHandler.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InsertFacetHandler.java Wed May 19 05:18:55 2010
@@ -40,6 +40,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.FaceletCompositionContext;
+import org.apache.myfaces.view.facelets.PostBuildComponentTreeOnRestoreViewEvent;
import org.apache.myfaces.view.facelets.tag.jsf.ComponentSupport;
/**
@@ -116,6 +117,8 @@ public class InsertFacetHandler extends
parentCompositeComponent.subscribeToEvent(PostAddToViewEvent.class,
new RelocateFacetListener(parent, facetName));
+ parentCompositeComponent.subscribeToEvent(PostBuildComponentTreeOnRestoreViewEvent.class,
+ new RelocateFacetListener(parent, facetName));
/*
if (ctx.getFacesContext().getAttributes().containsKey(
FaceletViewDeclarationLanguage.MARK_INITIAL_STATE_KEY))