This is an automated email from the ASF dual-hosted git repository. thiagohp pushed a commit to branch javax in repository https://gitbox.apache.org/repos/asf/tapestry-5.git
The following commit(s) were added to refs/heads/javax by this push: new 7f4c85a6c TAP5-2779: some little adjustments 7f4c85a6c is described below commit 7f4c85a6c2cfd8649891ada7d27bfcd0175bce5f Author: Thiago H. de Paula Figueiredo <thi...@arsmachina.com.br> AuthorDate: Sun Nov 24 21:05:31 2024 -0300 TAP5-2779: some little adjustments --- .../services/ComponentDependencyRegistryImpl.java | 19 +++++++++++++------ .../tapestry5/internal/services/PageSourceImpl.java | 12 ------------ 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java index 24c0b2a89..23f9105b2 100644 --- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java +++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImpl.java @@ -707,18 +707,25 @@ public class ComponentDependencyRegistryImpl implements ComponentDependencyRegis for (String resource : resources) { - final Set<String> dependents = getDependents(resource); - for (String furtherDependent : dependents) + // Avoid resource invalidations + if (!resource.contains(":")) { - if (!resources.contains(furtherDependent) && !furtherDependents.contains(furtherDependent)) + + final Set<String> dependents = getDependents(resource); + for (String furtherDependent : dependents) { - furtherDependents.add(furtherDependent); + if (!resources.contains(furtherDependent) && !furtherDependents.contains(furtherDependent)) + { + furtherDependents.add(furtherDependent); + } } + + clear(resource); + } - clear(resource); - } + } return furtherDependents; } 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 c4633cc29..9c326702d 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 @@ -111,9 +111,6 @@ public class PageSourceImpl implements PageSource private final Map<String, Boolean> abstractClassInfoCache = CollectionFactory.newConcurrentMap(); - private final static ThreadLocal<String> CURRENT_PAGE = - ThreadLocal.withInitial(() -> null); - private final static ThreadLocal<Set<String>> CALL_STACK = ThreadLocal.withInitial(HashSet::new); @@ -185,15 +182,6 @@ public class PageSourceImpl implements PageSource if (multipleClassLoaders) { - if (canonicalPageName.equals(CURRENT_PAGE.get())) - { - throw new IllegalStateException("Infinite method loop detected. Bailing out."); - } - else - { - CURRENT_PAGE.set(canonicalPageName); - } - // Avoiding problems in PlasticClassPool.createTransformation() // when the class being loaded has a page superclass final List<String> pageDependencies = getPageDependencies(className);