From aa98f28279eef92991ba4509bcd79aa101a32ab2 Mon Sep 17 00:00:00 2001 From: "aravind.est" Date: Tue, 20 Aug 2024 15:25:33 +0100 Subject: [PATCH] Add dot file generation from graph dot file generated from graphs. Issue-ID: SMO-156 Change-Id: Icfb36d1102aaf99140c4630accbd263a5a56fd75 Signed-off-by: aravind.est --- .../grapghgenerator/EntityGraphGenerator.java | 4 +++- .../grapghgenerator/RelationshipGraphGenerator.java | 9 +++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/grapghgenerator/EntityGraphGenerator.java b/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/grapghgenerator/EntityGraphGenerator.java index 6c564d6..6ba77ac 100644 --- a/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/grapghgenerator/EntityGraphGenerator.java +++ b/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/grapghgenerator/EntityGraphGenerator.java @@ -65,12 +65,14 @@ private void generateGraph(String name, List entities) throws IOExceptio MutableGraph g = prepareGraph(entities, name); File outputFile = new File(graphOutput, name); Graphviz.fromGraph(g).render(Format.SVG).toFile(outputFile); + Graphviz.fromGraph(g).render(Format.DOT).toFile(outputFile); log.info("Graph rendered to: {}", outputFile.getAbsolutePath()); } private MutableGraph prepareGraph(List moduleEntities, String moduleName) { MutableGraph g = Factory.mutGraph(moduleName).setDirected(true).graphAttrs().add(Rank.dir(RankDir.LEFT_TO_RIGHT)) - .nodeAttrs().add(Shape.RECT, Style.BOLD, Color.BLACK, Style.FILLED, Color.LIGHTGRAY.fill()); + .nodeAttrs().add(Shape.RECT, Style.BOLD, Color.BLACK, Style.FILLED, Color.LIGHTGRAY.fill(), Font.name( + "Arial")); MutableNode moduleNameNode = Factory.mutNode(moduleName).attrs().add(Color.LIGHTBLUE.fill()); g.add(moduleNameNode); for (Entity moduleEntity : moduleEntities) { diff --git a/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/grapghgenerator/RelationshipGraphGenerator.java b/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/grapghgenerator/RelationshipGraphGenerator.java index 98acbdf..31541f7 100644 --- a/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/grapghgenerator/RelationshipGraphGenerator.java +++ b/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/grapghgenerator/RelationshipGraphGenerator.java @@ -21,8 +21,11 @@ package org.oran.smo.teiv.pgsqlgenerator.grapghgenerator; import guru.nidi.graphviz.attribute.Arrow; +import guru.nidi.graphviz.attribute.Attributes; import guru.nidi.graphviz.attribute.Color; import guru.nidi.graphviz.attribute.EndLabel; +import guru.nidi.graphviz.attribute.Font; +import guru.nidi.graphviz.attribute.ForAll; import guru.nidi.graphviz.attribute.Shape; import guru.nidi.graphviz.model.Factory; import guru.nidi.graphviz.model.MutableGraph; @@ -70,12 +73,14 @@ private void generateGraph(String name, List relationships, List moduleRelationships, List moduleEntities) { - MutableGraph g = Factory.mutGraph("moduleName").setDirected(true).linkAttrs().add(Color.DARKSLATEGRAY4).nodeAttrs() - .add(Shape.BOX); + Attributes arialFont = Font.name("Arial"); + MutableGraph g = Factory.mutGraph("moduleName").setDirected(true).linkAttrs().add(Color.DARKSLATEGRAY4, arialFont) + .nodeAttrs().add(Shape.BOX, arialFont); for (Entity moduleEntity : moduleEntities) { MutableNode node = Factory.mutNode(moduleEntity.getEntityName()); g.add(node);