From: aravind.est Date: Tue, 20 Aug 2024 14:25:33 +0000 (+0100) Subject: Add dot file generation from graph X-Git-Tag: 0.1.0~19 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=aa98f28279eef92991ba4509bcd79aa101a32ab2;p=smo%2Fteiv.git Add dot file generation from graph dot file generated from graphs. Issue-ID: SMO-156 Change-Id: Icfb36d1102aaf99140c4630accbd263a5a56fd75 Signed-off-by: aravind.est --- 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 @@ public class EntityGraphGenerator { 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 @@ public class RelationshipGraphGenerator { MutableGraph g = prepareGraph(relationships, entities); File outputFile = new File(graphOutput, name + "-rel"); 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 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);