Replace jsonb as yang data type from image generation 77/13277/6
authoraravind.est <aravindhan.a@est.tech>
Fri, 23 Aug 2024 16:27:25 +0000 (17:27 +0100)
committeraravind.est <aravindhan.a@est.tech>
Thu, 29 Aug 2024 08:11:34 +0000 (09:11 +0100)
Jsonb datatype in image generation replaced with uses information or with the container name.

Issue-ID: SMO-156
Change-Id: If2602412bb7180eed2e1e48c274340267000588e
Signed-off-by: aravind.est <aravindhan.a@est.tech>
pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/Processor.java
pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/YangModelProcessor.java
pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/graphgenerator/EntityGraphGenerator.java [moved from pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/grapghgenerator/EntityGraphGenerator.java with 92% similarity]
pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/graphgenerator/EntityGraphGeneratorUml.java [moved from pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/grapghgenerator/EntityGraphGeneratorUml.java with 98% similarity]
pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/graphgenerator/RelationshipGraphGenerator.java [moved from pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/grapghgenerator/RelationshipGraphGenerator.java with 98% similarity]
pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/graphgenerator/RelationshipGraphGeneratorUml.java [moved from pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/grapghgenerator/RelationshipGraphGeneratorUml.java with 98% similarity]

index 4112fa7..e0ffffb 100644 (file)
@@ -27,13 +27,13 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 
-import org.oran.smo.teiv.pgsqlgenerator.grapghgenerator.EntityGraphGenerator;
-import org.oran.smo.teiv.pgsqlgenerator.grapghgenerator.EntityGraphGeneratorUml;
-import org.oran.smo.teiv.pgsqlgenerator.grapghgenerator.RelationshipGraphGeneratorUml;
+import org.oran.smo.teiv.pgsqlgenerator.graphgenerator.EntityGraphGenerator;
+import org.oran.smo.teiv.pgsqlgenerator.graphgenerator.EntityGraphGeneratorUml;
+import org.oran.smo.teiv.pgsqlgenerator.graphgenerator.RelationshipGraphGeneratorUml;
 import org.oran.smo.teiv.pgsqlgenerator.schema.consumerdata.ConsumerDataSchemaGenerator;
 import org.oran.smo.teiv.pgsqlgenerator.schema.data.DataSchemaGenerator;
 import org.oran.smo.teiv.pgsqlgenerator.schema.model.ModelSchemaGenerator;
-import org.oran.smo.teiv.pgsqlgenerator.grapghgenerator.RelationshipGraphGenerator;
+import org.oran.smo.teiv.pgsqlgenerator.graphgenerator.RelationshipGraphGenerator;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 import org.springframework.util.ResourceUtils;
index 6d4e790..d3b8132 100644 (file)
@@ -179,8 +179,8 @@ public class YangModelProcessor {
 
                             String dataType = dataTypeMapping.get(container.getUses().toString());
                             Attribute.AttributeBuilder attributeBuilder = Attribute.builder().name(container
-                                    .getContainerName()).yangDataType(dataType).dataType(dataType).constraints(
-                                            new ArrayList());
+                                    .getContainerName()).yangDataType("<< Refer to Module >>").dataType(dataType)
+                                    .constraints(new ArrayList());
                             if (container.getContainerName().equals("geo-location")) {
                                 dataType = dataTypeMapping.get("geo:geo-location");
                             }
@@ -18,7 +18,7 @@
  *  SPDX-License-Identifier: Apache-2.0
  *  ============LICENSE_END=========================================================
  */
-package org.oran.smo.teiv.pgsqlgenerator.grapghgenerator;
+package org.oran.smo.teiv.pgsqlgenerator.graphgenerator;
 
 import guru.nidi.graphviz.attribute.*;
 import guru.nidi.graphviz.engine.Format;
@@ -27,6 +27,7 @@ import guru.nidi.graphviz.model.Factory;
 import guru.nidi.graphviz.model.MutableGraph;
 import guru.nidi.graphviz.model.MutableNode;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.oran.smo.teiv.pgsqlgenerator.Attribute;
 import org.oran.smo.teiv.pgsqlgenerator.Entity;
 import org.springframework.beans.factory.annotation.Value;
@@ -92,8 +93,8 @@ public class EntityGraphGenerator {
         String label = "<TABLE border='1' cellborder='0' cellspacing='0' cellpadding='4'>";
         for (Attribute attribute : attributes) {
             label = label.concat("<TR> <TD bgcolor='#EEEEEE' align='left'>" + attribute
-                    .getName() + "</TD> <TD align='right' bgcolor='#EEEEEE'>" + attribute
-                            .getYangDataType() + "</TD> </TR>");
+                    .getName() + "</TD> <TD align='right' bgcolor='#EEEEEE'>" + escapeHtml(attribute
+                            .getYangDataType()) + "</TD> </TR>");
         }
         label = label.concat("</TABLE>");
         MutableNode attributeNode = Factory.mutNode(moduleEntity.getEntityName() + "-attributes").attrs().add(Label.html(
@@ -101,4 +102,8 @@ public class EntityGraphGenerator {
         graph.add(attributeNode);
         graph.add(moduleNode.addLink(attributeNode));
     }
+
+    private String escapeHtml(String text) {
+        return StringUtils.replaceEach(text, new String[] { "<", ">" }, new String[] { "&lt;", "&gt;" });
+    }
 }