Reduce use of getDataChildByName() 17/81517/2
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 9 Apr 2019 13:28:14 +0000 (15:28 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 10 Apr 2019 06:54:51 +0000 (08:54 +0200)
findDataChildByName() is a better replacement, use that instead.

Change-Id: I8e6be2dfd68c1146c231e8381ce16d64a35896ce
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit deb81986a6a314b95137c3809c93d511e827bd3f)

restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/BaseYangSwaggerGenerator.java
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/mountpoints/MountPointSwagger.java

index a47f502316ecbc5a766d319bcfa6b4d86e6c8f04..82ee192ce0f40d7e79c3dc9c302a783891b5b1e2 100644 (file)
@@ -362,14 +362,16 @@ public abstract class BaseYangSwaggerGenerator {
             final List<QName> listKeys = ((ListSchemaNode) schemaNode).getKeyDefinition();
             for (final QName listKey : listKeys) {
                 final ListPathBuilder keyBuilder = newListPathBuilder();
-                final DataSchemaNode dataChildByName = ((DataNodeContainer) schemaNode).getDataChildByName(listKey);
                 final String pathParamIdentifier = keyBuilder.nextParamIdentifier(listKey.getLocalName());
 
                 path.append(pathParamIdentifier);
 
                 final Parameter pathParam = new Parameter();
                 pathParam.setName(listKey.getLocalName());
-                pathParam.setDescription(dataChildByName.getDescription().orElse(null));
+
+                ((DataNodeContainer) schemaNode).findDataChildByName(listKey).flatMap(DataSchemaNode::getDescription)
+                    .ifPresent(pathParam::setDescription);
+
                 pathParam.setType("string");
                 pathParam.setParamType("path");
 
index a29a9a0404a938953b0a70b72537f049db202ed1..ad79f153fe0dd5cf6880ff53308c633060dec936 100644 (file)
@@ -85,10 +85,10 @@ public class MountPointSwagger implements DOMMountPointListener, AutoCloseable {
         return urlToId;
     }
 
-    private String findModuleName(final YangInstanceIdentifier id, final SchemaContext context) {
+    private static String findModuleName(final YangInstanceIdentifier id, final SchemaContext context) {
         final PathArgument rootQName = id.getPathArguments().iterator().next();
         for (final Module mod : context.getModules()) {
-            if (mod.getDataChildByName(rootQName.getNodeType()) != null) {
+            if (mod.findDataChildByName(rootQName.getNodeType()).isPresent()) {
                 return mod.getName();
             }
         }