Simplify getSchemaFromRpc() a bit 75/105575/1
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 22 Apr 2023 10:05:14 +0000 (12:05 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 22 Apr 2023 10:08:22 +0000 (12:08 +0200)
We know the input is always ContainerNode and we have childByArg()
method which skips the Optional ceremony.

Change-Id: I451b93ec9a851b173bbb63097ed2886a48121670
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
plugins/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/NetconfRemoteSchemaYangSourceProvider.java

index c76f2b28248e02dfff99430d8f64d27b55ce7602..0e873961c74fb7a510490bf16e53f603fe9e69d3 100644 (file)
@@ -33,7 +33,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
@@ -77,17 +76,17 @@ public final class NetconfRemoteSchemaYangSourceProvider implements SchemaSource
         return builder.build();
     }
 
-    private static Optional<String> getSchemaFromRpc(final RemoteDeviceId id, final NormalizedNode result) {
+    private static Optional<String> getSchemaFromRpc(final RemoteDeviceId id, final ContainerNode result) {
         if (result == null) {
             return Optional.empty();
         }
 
-        final Optional<DataContainerChild> child = ((ContainerNode) result).findChildByArg(NETCONF_DATA_PATHARG);
-        checkState(child.isPresent() && child.orElseThrow() instanceof DOMSourceAnyxmlNode,
+        final DataContainerChild child = result.childByArg(NETCONF_DATA_PATHARG);
+        checkState(child instanceof DOMSourceAnyxmlNode,
                 "%s Unexpected response to get-schema, expected response with one child %s, but was %s", id,
                 NETCONF_DATA, result);
 
-        final DOMSource wrappedNode = ((DOMSourceAnyxmlNode) child.orElseThrow()).body();
+        final DOMSource wrappedNode = ((DOMSourceAnyxmlNode) child).body();
         final Element dataNode = (Element) requireNonNull(wrappedNode.getNode());
 
         return Optional.of(dataNode.getTextContent().trim());