OpenAPI: netopeer2 duplicated mapping key 62/110262/7
authorlubos-cicut <lubos.cicut@pantheon.tech>
Mon, 19 Feb 2024 10:24:21 +0000 (11:24 +0100)
committerIvan Hrasko <ivan.hrasko@pantheon.tech>
Fri, 8 Mar 2024 12:10:31 +0000 (13:10 +0100)
When we load netopeer2 modules, OpenAPI in browser returns duplicated
mapping key error. This change add discriminator to schemas which are
duplicated.

JIRA: NETCONF-1254
Change-Id: Ieaa5913bcf56cddbee0dcb2df9ad17cb1af078bd
Signed-off-by: lubos-cicut <lubos.cicut@pantheon.tech>
restconf/restconf-openapi/src/main/java/org/opendaylight/restconf/openapi/impl/SchemasStream.java

index 022668a3b8a30e3594087a18b1a04ffea2e76311..e3de701dcf4c3ff3aeccbe2d500fb545981388da 100644 (file)
@@ -184,14 +184,9 @@ public final class SchemasStream extends InputStream {
             final ArrayDeque<SchemaEntity> result, final String parentName, final boolean isParentConfig) {
         if (node instanceof ContainerSchemaNode || node instanceof ListSchemaNode) {
             final var newTitle = title + "_" + node.getQName().getLocalName();
-            final String discriminator;
-            if (!definitionNames.isListedNode(node)) {
-                final var parentNameConfigLocalName = parentName + "_" + node.getQName().getLocalName();
-                final var names = List.of(parentNameConfigLocalName);
-                discriminator = definitionNames.pickDiscriminator(node, names);
-            } else {
-                discriminator = definitionNames.getDiscriminator(node);
-            }
+            final var parentNameConfigLocalName = parentName + "_" + node.getQName().getLocalName();
+            final var names = List.of(parentNameConfigLocalName);
+            final var discriminator = definitionNames.pickDiscriminator(node, names);
             final var child = new NodeSchemaEntity(node, newTitle, discriminator, OBJECT_TYPE, stack, parentName,
                 isParentConfig, definitionNames);
             final var isConfig = node.isConfiguration() && isParentConfig;