You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by th...@apache.org on 2023/01/28 19:20:05 UTC

[tapestry-5] 01/02: TAP5-2744: eliminating a infinite recursion

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 <th...@arsmachina.com.br>
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);
+            }
         }
     }