You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2018/12/02 19:38:46 UTC

[myfaces] branch master updated: [perf] use VisitCallbacks as singleton if possible

This is an automated email from the ASF dual-hosted git repository.

tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git


The following commit(s) were added to refs/heads/master by this push:
     new 2f6c0c4  [perf] use VisitCallbacks as singleton if possible
2f6c0c4 is described below

commit 2f6c0c44444d98454a6800059705f61aa5d6b43b
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Sun Dec 2 20:38:43 2018 +0100

    [perf] use VisitCallbacks as singleton if possible
---
 .../org/apache/myfaces/application/NavigationHandlerImpl.java    | 7 ++++---
 .../view/facelets/DefaultFaceletsStateManagementStrategy.java    | 9 +--------
 .../myfaces/view/facelets/FaceletViewDeclarationLanguage.java    | 2 +-
 .../PublishDynamicComponentRefreshTransientBuildCallback.java    | 3 +++
 .../view/facelets/tag/jsf/ComponentTagHandlerDelegate.java       | 6 +++++-
 5 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java b/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java
index 6888189..21f9e28 100755
--- a/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java
@@ -320,8 +320,7 @@ public class NavigationHandlerImpl
                         facesContext.getAttributes().put(SKIP_ITERATION_HINT, Boolean.TRUE);
 
                         VisitContext visitContext = VisitContext.createVisitContext(facesContext, null, VISIT_HINTS);
-                        facesContext.getViewRoot().visitTree(visitContext,
-                                                             new PreDisposeViewCallback());
+                        facesContext.getViewRoot().visitTree(visitContext, PreDisposeViewCallback.INSTANCE);
                     }
                     finally
                     {
@@ -425,7 +424,9 @@ public class NavigationHandlerImpl
 
     private static class PreDisposeViewCallback implements VisitCallback
     {
-
+        public static final PreDisposeViewCallback INSTANCE = new PreDisposeViewCallback();
+        
+        @Override
         public VisitResult visit(VisitContext context, UIComponent target)
         {
             context.getFacesContext().getApplication().publishEvent(context.getFacesContext(),
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java b/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java
index e5ff57d..d34b2d4 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java
@@ -1176,21 +1176,14 @@ public class DefaultFaceletsStateManagementStrategy extends StateManagementStrat
     private class SaveStateAndResetViewCallback implements VisitCallback
     {
         private final Map<String, Object> states;
-        
         private final UIViewRoot view;
-        
         private boolean viewResetable;
-        
         private boolean skipRoot;
-        
         private int count;
-        
         private boolean forceHardReset;
-        
         private boolean removeAddedComponents;
         
-        public SaveStateAndResetViewCallback(UIViewRoot view, Map<String, Object> states,
-                boolean forceHardReset)
+        public SaveStateAndResetViewCallback(UIViewRoot view, Map<String, Object> states, boolean forceHardReset)
         {
             this.states = states;
             this.view = view;
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java b/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
index 468b140..99cf8a9 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
@@ -445,7 +445,7 @@ public class FaceletViewDeclarationLanguage extends FaceletViewDeclarationLangua
                 {
                     VisitContext visitContext = (VisitContext) getVisitContextFactory().
                         getVisitContext(context, null, VISIT_HINTS_DYN_REFRESH);
-                    view.visitTree(visitContext, new PublishDynamicComponentRefreshTransientBuildCallback());
+                    view.visitTree(visitContext, PublishDynamicComponentRefreshTransientBuildCallback.INSTANCE);
                 }
                 if (!usePartialStateSavingOnThisView || refreshTransientBuildOnPSS)
                 {
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/PublishDynamicComponentRefreshTransientBuildCallback.java b/impl/src/main/java/org/apache/myfaces/view/facelets/PublishDynamicComponentRefreshTransientBuildCallback.java
index 4f20f77..ab4214b 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/PublishDynamicComponentRefreshTransientBuildCallback.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/PublishDynamicComponentRefreshTransientBuildCallback.java
@@ -29,6 +29,9 @@ import javax.faces.component.visit.VisitResult;
  */
 public class PublishDynamicComponentRefreshTransientBuildCallback implements VisitCallback
 {
+    public static final PublishDynamicComponentRefreshTransientBuildCallback INSTANCE =
+            new PublishDynamicComponentRefreshTransientBuildCallback();
+    
     @Override
     public VisitResult visit(VisitContext context, UIComponent target)
     {
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/ComponentTagHandlerDelegate.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/ComponentTagHandlerDelegate.java
index 691ec89..ae9c800 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/ComponentTagHandlerDelegate.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/ComponentTagHandlerDelegate.java
@@ -259,7 +259,7 @@ public class ComponentTagHandlerDelegate extends TagHandlerDelegate
             {
                 VisitContext visitContext = (VisitContext) mctx.getVisitContextFactory().
                     getVisitContext(facesContext, null, VISIT_HINTS_DYN_REFRESH);
-                c.visitTree(visitContext, new PublishFaceletDynamicComponentRefreshTransientBuildCallback());
+                c.visitTree(visitContext, PublishFaceletDynamicComponentRefreshTransientBuildCallback.INSTANCE);
             }
             
             mctx.incrementUniqueComponentId();
@@ -965,6 +965,10 @@ public class ComponentTagHandlerDelegate extends TagHandlerDelegate
     
     private static class PublishFaceletDynamicComponentRefreshTransientBuildCallback implements VisitCallback
     {
+        public static final PublishFaceletDynamicComponentRefreshTransientBuildCallback INSTANCE
+                = new PublishFaceletDynamicComponentRefreshTransientBuildCallback();
+        
+        @Override
         public VisitResult visit(VisitContext context, UIComponent target)
         {
             context.getFacesContext().getApplication().publishEvent(