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);
+ }
}
}