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