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 4f84b1e30 TAP5-2779: fixing broken ComponentDependencyRegistry tests
4f84b1e30 is described below

commit 4f84b1e30bd0cf2d3d5c86b9c95d6dc8deab0fb3
Author: Thiago H. de Paula Figueiredo <[email protected]>
AuthorDate: Sat Aug 3 22:36:59 2024 -0300

    TAP5-2779: fixing broken ComponentDependencyRegistry tests
---
 .../services/ComponentDependencyRegistryImpl.java       | 11 +++++++++--
 .../services/ComponentDependencyRegistryImplTest.java   | 17 ++++++++++++-----
 2 files changed, 21 insertions(+), 7 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 fcaec091b..6c62350e0 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
@@ -1,4 +1,4 @@
-// Copyright 2022, 2023 The Apache Software Foundation
+// Copyright 2022, 2023, 2024 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -109,6 +109,8 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
     
     final private boolean storedDependencyInformationPresent;
     
+    private boolean enableEnsureClassIsAlreadyProcessed = true;
+    
     public ComponentDependencyRegistryImpl(
             final PageClassLoaderContextManager pageClassLoaderContextManager,
             final PlasticManager plasticManager,
@@ -819,9 +821,14 @@ public class ComponentDependencyRegistryImpl implements 
ComponentDependencyRegis
             INVALIDATIONS_DISABLED.set(0);
         }
     }
+    
+    // Only for unit tests
+    void setEnableEnsureClassIsAlreadyProcessed(boolean 
enableEnsureClassIsAlreadyProcessed) {
+        this.enableEnsureClassIsAlreadyProcessed = 
enableEnsureClassIsAlreadyProcessed;
+    }
 
     private void ensureClassIsAlreadyProcessed(String className) {
-        if (!contains(className))
+        if (enableEnsureClassIsAlreadyProcessed && !contains(className))
         {
             ThrowawayClassLoader classLoader = new 
ThrowawayClassLoader(getClass().getClassLoader());
             try 
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImplTest.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImplTest.java
index 9c535be69..8115652dc 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImplTest.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentDependencyRegistryImplTest.java
@@ -30,7 +30,6 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.function.BiConsumer;
-import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
 import org.apache.tapestry5.commons.MappedConfiguration;
@@ -116,7 +115,6 @@ public class ComponentDependencyRegistryImplTest
     
     private TemplateParser templateParser;
     
-    @SuppressWarnings("deprecation")
     private ComponentTemplateLocator componentTemplateLocator;
     
     @BeforeMethod
@@ -238,6 +236,9 @@ public class ComponentDependencyRegistryImplTest
     @Test(timeOut = 5000)
     public void listen()
     {
+        
+        
componentDependencyRegistry.setEnableEnsureClassIsAlreadyProcessed(false);
+        
         add("foo", "bar");
         add("d", "a");
         add("dd", "aa");
@@ -286,6 +287,8 @@ public class ComponentDependencyRegistryImplTest
         final String beltrano = "beltrano";
         final String sicrano = "sicrano";
         
+        
componentDependencyRegistry.setEnableEnsureClassIsAlreadyProcessed(false);
+        
         assertEquals(
                 "getDependents() should never return null", 
                 Collections.emptySet(),
@@ -395,6 +398,8 @@ public class ComponentDependencyRegistryImplTest
             add(c, d, DependencyType.USAGE);
         };
         
+        
componentDependencyRegistry.setEnableEnsureClassIsAlreadyProcessed(false);
+        
         add(className, page, DependencyType.INJECT_PAGE);
         
         add(className, superclass, DependencyType.SUPERCLASS);
@@ -420,6 +425,8 @@ public class ComponentDependencyRegistryImplTest
     public void register()
     {
         
+        
componentDependencyRegistry.setEnableEnsureClassIsAlreadyProcessed(true);
+        
         componentDependencyRegistry.clear();
         
         // Dynamic dependency definitions
@@ -491,13 +498,13 @@ public class ComponentDependencyRegistryImplTest
         
     }
     
-    private void assertDependencies(Class clasz, Class... dependencies) {
+    private void assertDependencies(Class<?> clasz, Class<?>... dependencies) {
         assertEquals(
                 setOf(dependencies),
                 getDependencies(clasz.getName()));
     }
 
-    private static Set<String> setOf(Class ... classes)
+    private static Set<String> setOf(Class<?> ... classes)
     {
         return Arrays.asList(classes).stream()
             .map(Class::getName)
@@ -514,6 +521,7 @@ public class ComponentDependencyRegistryImplTest
         componentDependencyRegistry.add(component, dependency, type, true);
     }
 
+    @SuppressWarnings("hiding")
     private static final class MockMappedConfiguration<String, URL> implements 
MappedConfiguration<String, URL>
     {
         
@@ -559,7 +567,6 @@ public class ComponentDependencyRegistryImplTest
             this.path = path;
         }
 
-        @SuppressWarnings("deprecation")
         @Override
         public java.net.URL toURL() 
         {

Reply via email to