From: JvD_Ericsson Date: Thu, 5 Dec 2024 08:38:51 +0000 (+0000) Subject: TEIV: update graph generator to include attributes X-Git-Tag: 0.2.0~19 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F13%2F13813%2F5;p=smo%2Fteiv.git TEIV: update graph generator to include attributes Issue-ID: SMO-??? Change-Id: I682402e952f4ba37730db04504dbff42440bcb3c Signed-off-by: JvD_Ericsson --- diff --git a/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/graphgenerator/EntityGraphGenerator.java b/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/graphgenerator/EntityGraphGenerator.java index 8245b66..9b150f4 100644 --- a/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/graphgenerator/EntityGraphGenerator.java +++ b/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/graphgenerator/EntityGraphGenerator.java @@ -36,6 +36,7 @@ import org.springframework.stereotype.Component; import java.io.File; import java.io.IOException; import java.util.List; +import java.util.Optional; import static guru.nidi.graphviz.attribute.Rank.RankDir; @@ -93,11 +94,22 @@ public class EntityGraphGenerator { private void addAttributeNodeToGraph(MutableGraph graph, List attributes, Entity moduleEntity, MutableNode moduleNode) { - String label = ""; + String label = "
"; + Optional optionalId = attributes.stream().filter(att -> "id".equals(att.getName())).findFirst(); + if (optionalId.isPresent()) { + Attribute id = optionalId.get(); + label = label.concat(""); + } + + label += ""; + label = label.concat(""); for (Attribute attribute : attributes) { - label = label.concat(""); + if (!"id".equals(attribute.getName())) { + label = label.concat(""); + } } label = label.concat("
" + id.getName() + " " + helperFunctions + .escapeHtml(id.getYangDataType()) + "
sourceIds << Refer to Module >>
attributes:
" + attribute - .getName() + " " + helperFunctions.escapeHtml(attribute - .getYangDataType()) + "
" + attribute + .getName() + " " + helperFunctions.escapeHtml(attribute + .getYangDataType()) + "
"); MutableNode attributeNode = Factory.mutNode(moduleEntity.getEntityName() + "-attributes").attrs().add(Label.html( diff --git a/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/graphgenerator/EntityGraphGeneratorUml.java b/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/graphgenerator/EntityGraphGeneratorUml.java index 276edf5..72893f4 100644 --- a/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/graphgenerator/EntityGraphGeneratorUml.java +++ b/pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/graphgenerator/EntityGraphGeneratorUml.java @@ -24,6 +24,7 @@ import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.List; +import java.util.Optional; import org.oran.smo.teiv.pgsqlgenerator.Attribute; import org.oran.smo.teiv.pgsqlgenerator.Entity; @@ -71,15 +72,25 @@ public class EntityGraphGeneratorUml { StringBuilder sb = new StringBuilder(); sb.append("@startuml\n"); sb.append("skinparam class {\n"); - sb.append(" BackgroundColor<> " + helperFunctions.getNodeFillColour(moduleName) + " \n"); + sb.append(" BackgroundColor<> ").append(helperFunctions.getNodeFillColour(moduleName)).append("\n"); sb.append(" BackgroundColor<> LightBlue\n"); sb.append("}\n"); sb.append(String.format("class %s <> {%n}%n", moduleName)); + for (Entity entity : entities) { sb.append(String.format("class %s <> {%n", entity.getEntityName())); List attributes = entity.getAttributes(); + Optional optionalId = attributes.stream().filter(att -> "id".equals(att.getName())).findFirst(); + if (optionalId.isPresent()) { + Attribute id = optionalId.get(); + sb.append(String.format(" %s : %s%n", id.getName(), id.getYangDataType())); + } + sb.append(" sourceIds : << Refer to Module >>\n"); + sb.append(" attributes:\n"); for (Attribute attribute : attributes) { - sb.append(String.format(" %s : %s\n", attribute.getName(), attribute.getYangDataType())); + if (!"id".equals(attribute.getName())) { + sb.append(String.format(" %s : %s%n", attribute.getName(), attribute.getYangDataType())); + } } sb.append("}\n"); sb.append(String.format("\"%s\" --> %s\n", moduleName, entity.getEntityName()));