This is an automated email from the ASF dual-hosted git repository. thiagohp pushed a commit to branch better-page-invalidation in repository https://gitbox.apache.org/repos/asf/tapestry-5.git
The following commit(s) were added to refs/heads/better-page-invalidation by this push: new 55974ba85 TAP5-2742: forces pages to never rendered from the unknwon context 55974ba85 is described below commit 55974ba85c66f9bd486490e1dc06883eecdd1c41 Author: Thiago H. de Paula Figueiredo <thi...@arsmachina.com.br> AuthorDate: Sun May 7 17:16:35 2023 -0300 TAP5-2742: forces pages to never rendered from the unknwon context --- .../internal/services/PageSourceImpl.java | 10 ++++++++-- .../apache/tapestry5/modules/TapestryModule.java | 22 ---------------------- 2 files changed, 8 insertions(+), 24 deletions(-) diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java index ff15ab7a7..afcb51fdb 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageSourceImpl.java @@ -168,8 +168,14 @@ public class PageSourceImpl implements PageSource componentDependencyRegistry.clear(rootElement); componentDependencyRegistry.register(rootElement); context = pageClassloaderContextManager.get(className); - pageClassloaderContextManager.get(className); - + if (context.isUnknown()) + { + componentDependencyRegistry.disableInvalidations(); + pageClassloaderContextManager.invalidateAndFireInvalidationEvents(context); + componentDependencyRegistry.enableInvalidations(); + pageClassloaderContextManager.get(className); + return getPage(canonicalPageName); + } } } diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java b/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java index 045c68173..5c57f9e57 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/modules/TapestryModule.java @@ -1013,28 +1013,6 @@ public final class TapestryModule configuration.addInstance("ErrorFilter", RequestErrorFilter.class); - if (!productionMode) - { - - // TODO: change this to only invalidate the current page - RequestFilter invalidateUnknownContext = new RequestFilter() - { - public boolean service(Request request, Response response, RequestHandler handler) throws IOException - { - try - { - return handler.service(request, response); - } finally - { - pageClassloaderContextManager.invalidateUnknownContext(); - } - } - }; - - configuration.add(PageClassloaderContextManager.class.getName(), - invalidateUnknownContext, "before:EndOfRequest"); - } - } /**