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

commit 0a5b75a599c48421516850b004414b1dd991cd56
Author: Thiago H. de Paula Figueiredo <[email protected]>
AuthorDate: Sat Jan 28 15:31:46 2023 -0300

    TAP5-2744: eliminating a infinite recursion
---
 .../ComponentDependencyGraphvizGeneratorImpl.java        | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyGraphvizGeneratorImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyGraphvizGeneratorImpl.java
index b8fb2bc19..f53816687 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyGraphvizGeneratorImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentDependencyGraphvizGeneratorImpl.java
@@ -39,11 +39,12 @@ public class ComponentDependencyGraphvizGeneratorImpl 
implements ComponentDepend
     {
         
         final StringBuilder dotFile = new StringBuilder("digraph {\n\n");
-        
+
+        dotFile.append("\trankdir=LR;\n");
         dotFile.append("\tfontname=\"Helvetica,Arial,sans-serif\";\n");
-        dotFile.append("\tnode [fontname=\"Helvetica,Arial,sans-serif\"];\n");
+//      dotFile.append("\tnode 
[fontname=\"Helvetica,Arial,sans-serif\",fontsize=\"8pt\"];\n");
         dotFile.append("\tedge [fontname=\"Helvetica,Arial,sans-serif\"];\n");
-        dotFile.append("\tnode [shape=box];\n\n");
+        dotFile.append("\tnode [shape=rect];\n\n");
         
         final Set<String> allClasses = new HashSet<>();
         
@@ -117,10 +118,13 @@ public class ComponentDependencyGraphvizGeneratorImpl 
implements ComponentDepend
 
     private void addDependencies(String className, Set<String> allClasses) 
     {
-        allClasses.add(className);
-        for (String dependency : 
componentDependencyRegistry.getDependencies(className))
+        if (!allClasses.contains(className))
         {
-            addDependencies(dependency, allClasses);
+            allClasses.add(className);
+            for (String dependency : 
componentDependencyRegistry.getDependencies(className))
+            {
+                addDependencies(dependency, allClasses);
+            }
         }
     }
 

Reply via email to