This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/master by this push:
new d5b3dfc677 CAUSEWAY-3404: minor graph to text improvements
d5b3dfc677 is described below
commit d5b3dfc67717f2cc6e38e223b6ee1e3e1198028c
Author: Andi Huber <[email protected]>
AuthorDate: Fri Jan 19 19:55:06 2024 +0100
CAUSEWAY-3404: minor graph to text improvements
---
.../objgraph/d3js/ObjectGraphRendererEdgeListing.java | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git
a/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/objgraph/d3js/ObjectGraphRendererEdgeListing.java
b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/objgraph/d3js/ObjectGraphRendererEdgeListing.java
index 5755940013..c8b0dee0a7 100644
---
a/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/objgraph/d3js/ObjectGraphRendererEdgeListing.java
+++
b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/objgraph/d3js/ObjectGraphRendererEdgeListing.java
@@ -24,6 +24,7 @@ import
org.apache.causeway.applib.services.metamodel.objgraph.ObjectGraph;
import org.apache.causeway.commons.collections.ImmutableEnumSet;
import org.apache.causeway.commons.functional.IndexedConsumer;
import org.apache.causeway.commons.graph.GraphUtils.GraphKernel;
+import org.apache.causeway.commons.internal.base._Strings;
import lombok.RequiredArgsConstructor;
@@ -42,25 +43,27 @@ public class ObjectGraphRendererEdgeListing implements
ObjectGraph.Renderer {
var listOfWeaklyConnectedEdges = listOfWeaklyConnectedNodes.stream()
.map(connectedObjectIndexes->renderConnectedSubGraph(objGraph.subGraph(connectedObjectIndexes)))
+ .filter(_Strings::isNotEmpty)
.collect(Collectors.joining(",\n"));
sb.append(listOfWeaklyConnectedEdges);
}
- private String renderConnectedSubGraph(final ObjectGraph objGraph) {
- final int maxRelIndex = objGraph.relations().size() - 1;
+ private String renderConnectedSubGraph(final ObjectGraph subGraph) {
+ final int maxRelIndex = subGraph.relations().size() - 1;
+ if(maxRelIndex<0) return null;
var sb = new StringBuilder();
- sb.append("{");
+ sb.append("edges = {");
- objGraph.relations().forEach(IndexedConsumer.zeroBased((i, rel)->{
- var fromId = rel.from().id();
- var toId = rel.to().id();
+ subGraph.relations().forEach(IndexedConsumer.zeroBased((i, rel)->{
+ var fromId = rel.from().name();
+ var toId = rel.to().name();
sb.append(String.format("%s->%s", fromId, toId));
if(i<maxRelIndex) sb.append(",");
if(i%8==7) sb.append("\n");
}));
- sb.append("}").append("\n");
+ sb.append("}");
return sb.toString();
}