Do not use schema-aware builders in RestconfMappingNodeUtil 41/96141/5
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 13 May 2021 05:22:36 +0000 (07:22 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 13 May 2021 10:52:39 +0000 (12:52 +0200)
These builders are going away as they bring little to the table for the
cost they force upon us.

Change-Id: I2359ab28dd6c3632cd0a4f6eeaadf62af517d72d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImpl.java
restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/SubscribeToStreamUtil.java
restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtil.java
restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtilTest.java

index bfb43b3cc5953f31f5ffaa819c3438eef544e656..1dd7ac400bbfd866b6408cc3b20e2bfab3fccbd3 100644 (file)
@@ -238,7 +238,7 @@ public class RestconfDataServiceImpl implements RestconfDataService {
         final URI uri = streamUtils.prepareUriByStreamName(uriInfo, listener.getStreamName());
         final MapEntryNode mapToStreams = RestconfMappingNodeUtil.mapYangNotificationStreamByIetfRestconfMonitoring(
                 listener.getSchemaPath().lastNodeIdentifier(), schemaContext.getNotifications(), null,
-                listener.getOutputType(), uri, SubscribeToStreamUtil.getMonitoringModule(schemaContext));
+                listener.getOutputType(), uri);
 
         final String name = listener.getSchemaPath().lastNodeIdentifier().getLocalName();
         transaction.merge(LogicalDatastoreType.OPERATIONAL,
index dd75c2bf2c276eafda3dfe268345e7f34f6bb7ae..d1496e1ab201900d45e9ea70fcb38d080000f558 100644 (file)
@@ -43,7 +43,6 @@ import org.opendaylight.restconf.nb.rfc8040.utils.parser.IdentifierCodec;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -157,7 +156,7 @@ abstract class SubscribeToStreamUtil {
         final MapEntryNode mapToStreams = RestconfMappingNodeUtil.mapYangNotificationStreamByIetfRestconfMonitoring(
                     notificationListenerAdapter.get().getSchemaPath().lastNodeIdentifier(),
                     schemaContext.getNotifications(), notificationQueryParams.getStart(),
-                    notificationListenerAdapter.get().getOutputType(), uri, getMonitoringModule(schemaContext));
+                    notificationListenerAdapter.get().getOutputType(), uri);
         writeDataToDS(schemaContext,
             notificationListenerAdapter.get().getSchemaPath().lastNodeIdentifier().getLocalName(), writeTransaction,
             mapToStreams);
@@ -217,18 +216,13 @@ abstract class SubscribeToStreamUtil {
 
         final MapEntryNode mapToStreams =
             RestconfMappingNodeUtil.mapDataChangeNotificationStreamByIetfRestconfMonitoring(listener.get().getPath(),
-                notificationQueryParams.getStart(), listener.get().getOutputType(), uri,
-                getMonitoringModule(schemaContext), schemaContext, serializedPath);
+                notificationQueryParams.getStart(), listener.get().getOutputType(), uri, schemaContext, serializedPath);
         writeDataToDS(schemaContext, serializedPath, writeTransaction, mapToStreams);
         submitData(writeTransaction);
         transactionChain.close();
         return uri;
     }
 
-    static Module getMonitoringModule(final EffectiveModelContext schemaContext) {
-        return schemaContext.findModule(MonitoringModule.MODULE_QNAME).orElse(null);
-    }
-
     private static void writeDataToDS(final EffectiveModelContext schemaContext, final String name,
             final DOMDataTreeReadWriteTransaction readWriteTransaction, final MapEntryNode mapToStreams) {
         readWriteTransaction.merge(LogicalDatastoreType.OPERATIONAL,
index 1b58884d440e418215f3ba34733ae983d07e3d4a..ad6a0edb19e09a058c59ce7db5d8b1781ca28855 100644 (file)
@@ -28,7 +28,6 @@ import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
@@ -40,14 +39,9 @@ import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.ListNodeBuilder;
-import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Deviation;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.FeatureDefinition;
-import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.ModuleLike;
 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
@@ -196,15 +190,10 @@ public final class RestconfMappingNodeUtil {
     private static void addFeatureLeafList(
             final DataContainerNodeBuilder<NodeIdentifierWithPredicates, MapEntryNode> mapEntryBuilder,
             final Collection<? extends FeatureDefinition> features) {
-        final ListNodeBuilder<Object, LeafSetEntryNode<Object>> leafSetBuilder = Builders.leafSetBuilder()
+        final ListNodeBuilder<String, LeafSetEntryNode<String>> leafSetBuilder = Builders.<String>leafSetBuilder()
                 .withNodeIdentifier(new NodeIdentifier(IetfYangLibrary.SPECIFIC_MODULE_FEATURE_LEAF_LIST_QNAME));
         for (final FeatureDefinition feature : features) {
-            final String featureName = feature.getQName().getLocalName();
-            leafSetBuilder.withChild(Builders.leafSetEntryBuilder()
-                .withNodeIdentifier(
-                    new NodeWithValue<>(IetfYangLibrary.SPECIFIC_MODULE_FEATURE_LEAF_LIST_QNAME, featureName))
-                .withValue(featureName)
-                .build());
+            leafSetBuilder.withChildValue(feature.getQName().getLocalName());
         }
         mapEntryBuilder.withChild(leafSetBuilder.build());
     }
@@ -224,221 +213,114 @@ public final class RestconfMappingNodeUtil {
     /**
      * Map capabilites by ietf-restconf-monitoring.
      *
-     * @param monitoringModule
-     *             ietf-restconf-monitoring module
+     * @param monitoringModule ietf-restconf-monitoring module
      * @return mapped capabilites
      */
     public static ContainerNode mapCapabilites(final Module monitoringModule) {
-        final DataSchemaNode restconfState =
-                monitoringModule.getDataChildByName(MonitoringModule.CONT_RESTCONF_STATE_QNAME);
-        final DataSchemaNode capabilitesContSchema =
-                getChildOfCont((ContainerSchemaNode) restconfState, MonitoringModule.CONT_CAPABILITES_QNAME);
-        final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> capabilitesContBuilder =
-                Builders.containerBuilder((ContainerSchemaNode) capabilitesContSchema);
-        final DataSchemaNode leafListCapa = getChildOfCont((ContainerSchemaNode) capabilitesContSchema,
-                MonitoringModule.LEAF_LIST_CAPABILITY_QNAME);
-        final ListNodeBuilder<Object, LeafSetEntryNode<Object>> leafListCapaBuilder =
-                Builders.orderedLeafSetBuilder((LeafListSchemaNode) leafListCapa);
-        fillLeafListCapa(leafListCapaBuilder, (LeafListSchemaNode) leafListCapa);
-
         return Builders.containerBuilder()
             .withNodeIdentifier(new NodeIdentifier(MonitoringModule.CONT_RESTCONF_STATE_QNAME))
-            .withChild(capabilitesContBuilder.withChild(leafListCapaBuilder.build()).build())
+            .withChild(Builders.containerBuilder()
+                .withNodeIdentifier(new NodeIdentifier(MonitoringModule.CONT_CAPABILITES_QNAME))
+                .withChild(Builders.<String>orderedLeafSetBuilder()
+                    .withNodeIdentifier(new NodeIdentifier(MonitoringModule.LEAF_LIST_CAPABILITY_QNAME))
+                    .withChildValue(QueryParams.DEPTH)
+                    .withChildValue(QueryParams.FIELDS)
+                    .withChildValue(QueryParams.FILTER)
+                    .withChildValue(QueryParams.REPLAY)
+                    .withChildValue(QueryParams.WITH_DEFAULTS)
+                    .build())
+                .build())
             .build();
     }
 
     /**
-     * Map data to leaf-list.
-     *
-     * @param builder
-     *             builder of parent for children
-     * @param leafListSchema
-     *             leaf list schema
-     */
-    private static void fillLeafListCapa(final ListNodeBuilder<Object, LeafSetEntryNode<Object>> builder,
-            final LeafListSchemaNode leafListSchema) {
-        builder.withChild(leafListEntryBuild(leafListSchema, QueryParams.DEPTH));
-        builder.withChild(leafListEntryBuild(leafListSchema, QueryParams.FIELDS));
-        builder.withChild(leafListEntryBuild(leafListSchema, QueryParams.FILTER));
-        builder.withChild(leafListEntryBuild(leafListSchema, QueryParams.REPLAY));
-        builder.withChild(leafListEntryBuild(leafListSchema, QueryParams.WITH_DEFAULTS));
-    }
-
-    /**
-     * Map value to leaf list entry node.
-     *
-     * @param leafListSchema
-     *             leaf list schema of leaf list entry
-     * @param value
-     *             value of leaf entry
-     * @return entry node
-     */
-    private static LeafSetEntryNode<Object> leafListEntryBuild(final LeafListSchemaNode leafListSchema,
-            final String value) {
-        return Builders.leafSetEntryBuilder(leafListSchema).withValue(value).build();
-    }
-
-    /**
-     * Find specific schema node by qname in parent {@link ContainerSchemaNode}.
-     *
-     * @param parent
-     *             schemaNode
-     * @param childQName
-     *             specific qname of child
-     * @return schema node of child by qname
-     */
-    private static DataSchemaNode getChildOfCont(final ContainerSchemaNode parent, final QName childQName) {
-        for (final DataSchemaNode child : parent.getChildNodes()) {
-            if (child.getQName().equals(childQName)) {
-                return child;
-            }
-        }
-        throw new RestconfDocumentedException(
-                childQName.getLocalName() + " doesn't exist in container " + MonitoringModule.CONT_RESTCONF_STATE_NAME);
-    }
-
-    /**
-     * Map data of yang notification to normalized node according to
-     * ietf-restconf-monitoring.
+     * Map data of yang notification to normalized node according to ietf-restconf-monitoring.
      *
-     * @param notifiQName
-     *             qname of notification from listener
-     * @param notifications
-     *             list of notifications for find schema of notification by
-     *            notifiQName
-     * @param start
-     *             start-time query parameter of notification
-     * @param outputType
-     *             output type of notification
-     * @param uri
-     *             location of registered listener for sending data of
-     *            notification
-     * @param monitoringModule
-     *             ietf-restconf-monitoring module
+     * @param notifiQName qname of notification from listener
+     * @param notifications list of notifications for find schema of notification by notifiQName
+     * @param start start-time query parameter of notification
+     * @param outputType output type of notification
+     * @param uri location of registered listener for sending data of notification
      * @return mapped data of notification - map entry node if parent exists,
      *         container streams with list and map entry node if not
      */
     public static MapEntryNode mapYangNotificationStreamByIetfRestconfMonitoring(final QName notifiQName,
             final Collection<? extends NotificationDefinition> notifications, final Instant start,
-            final String outputType, final URI uri, final Module monitoringModule) {
+            final String outputType, final URI uri) {
         for (final NotificationDefinition notificationDefinition : notifications) {
             if (notificationDefinition.getQName().equals(notifiQName)) {
-                final DataSchemaNode streamListSchema = ((ContainerSchemaNode) ((ContainerSchemaNode) monitoringModule
-                        .getDataChildByName(MonitoringModule.CONT_RESTCONF_STATE_QNAME))
-                                .getDataChildByName(MonitoringModule.CONT_STREAMS_QNAME))
-                                        .getDataChildByName(MonitoringModule.LIST_STREAM_QNAME);
+                final String streamName = notifiQName.getLocalName();
                 final DataContainerNodeBuilder<NodeIdentifierWithPredicates, MapEntryNode> streamEntry =
-                        Builders.mapEntryBuilder((ListSchemaNode) streamListSchema);
+                    Builders.mapEntryBuilder()
+                        .withNodeIdentifier(NodeIdentifierWithPredicates.of(MonitoringModule.LIST_STREAM_QNAME,
+                            MonitoringModule.LEAF_NAME_STREAM_QNAME, streamName))
+                        .withChild(ImmutableNodes.leafNode(MonitoringModule.LEAF_NAME_STREAM_QNAME, streamName));
 
-                final ListSchemaNode listSchema = (ListSchemaNode) streamListSchema;
-                prepareLeafAndFillEntryBuilder(streamEntry,
-                        listSchema.getDataChildByName(MonitoringModule.LEAF_NAME_STREAM_QNAME),
-                        notificationDefinition.getQName().getLocalName());
-
-                final Optional<String> optDesc = notificationDefinition.getDescription();
-                if (optDesc.isPresent()) {
-                    prepareLeafAndFillEntryBuilder(streamEntry,
-                            listSchema.getDataChildByName(MonitoringModule.LEAF_DESCR_STREAM_QNAME), optDesc.get());
-                }
-                prepareLeafAndFillEntryBuilder(streamEntry,
-                        listSchema.getDataChildByName(MonitoringModule.LEAF_REPLAY_SUPP_STREAM_QNAME), true);
+                notificationDefinition.getDescription().ifPresent(
+                    desc -> streamEntry.withChild(ImmutableNodes.leafNode(MonitoringModule.LEAF_DESCR_STREAM_QNAME,
+                        desc)));
+                streamEntry.withChild(ImmutableNodes.leafNode(MonitoringModule.LEAF_REPLAY_SUPP_STREAM_QNAME,
+                    Boolean.TRUE));
                 if (start != null) {
-                    prepareLeafAndFillEntryBuilder(streamEntry,
-                        listSchema.getDataChildByName(MonitoringModule.LEAF_START_TIME_STREAM_QNAME),
+                    streamEntry.withChild(ImmutableNodes.leafNode(MonitoringModule.LEAF_START_TIME_STREAM_QNAME,
                         DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(OffsetDateTime.ofInstant(start,
-                            ZoneId.systemDefault())));
+                            ZoneId.systemDefault()))));
                 }
-                prepareListAndFillEntryBuilder(streamEntry,
-                        (ListSchemaNode) listSchema.getDataChildByName(MonitoringModule.LIST_ACCESS_STREAM_QNAME),
-                        outputType, uri);
 
-                return streamEntry.build();
+                return streamEntry
+                    .withChild(createAccessList(outputType, uri))
+                    .build();
             }
         }
 
         throw new RestconfDocumentedException(notifiQName + " doesn't exist in any modul");
     }
 
-    private static void prepareListAndFillEntryBuilder(
-            final DataContainerNodeBuilder<NodeIdentifierWithPredicates, MapEntryNode> streamEntry,
-            final ListSchemaNode listSchemaNode, final String outputType, final URI uriToWebsocketServer) {
-        final CollectionNodeBuilder<MapEntryNode, MapNode> accessListBuilder = Builders.mapBuilder(listSchemaNode);
-        final DataContainerNodeBuilder<NodeIdentifierWithPredicates, MapEntryNode> entryAccessList =
-                Builders.mapEntryBuilder(listSchemaNode);
-        prepareLeafAndFillEntryBuilder(entryAccessList,
-                listSchemaNode.getDataChildByName(MonitoringModule.LEAF_ENCODING_ACCESS_QNAME), outputType);
-        prepareLeafAndFillEntryBuilder(entryAccessList,
-                listSchemaNode.getDataChildByName(MonitoringModule.LEAF_LOCATION_ACCESS_QNAME),
-                uriToWebsocketServer.toString());
-        streamEntry.withChild(accessListBuilder.withChild(entryAccessList.build()).build());
-    }
-
-    /**
-     * Prepare leaf and fill entry builder.
-     *
-     * @param streamEntry   Stream entry
-     * @param leafSchema    Leaf schema
-     * @param value         Value
-     */
-    private static void prepareLeafAndFillEntryBuilder(
-            final DataContainerNodeBuilder<NodeIdentifierWithPredicates, MapEntryNode> streamEntry,
-            final DataSchemaNode leafSchema, final Object value) {
-        streamEntry.withChild(Builders.leafBuilder((LeafSchemaNode) leafSchema).withValue(value).build());
+    private static MapNode createAccessList(final String outputType, final URI uriToWebsocketServer) {
+        return Builders.mapBuilder()
+            .withNodeIdentifier(new NodeIdentifier(MonitoringModule.LIST_ACCESS_STREAM_QNAME))
+            .withChild(Builders.mapEntryBuilder()
+                .withNodeIdentifier(NodeIdentifierWithPredicates.of(MonitoringModule.LIST_ACCESS_STREAM_QNAME,
+                    MonitoringModule.LEAF_ENCODING_ACCESS_QNAME, outputType))
+                .withChild(ImmutableNodes.leafNode(MonitoringModule.LEAF_ENCODING_ACCESS_QNAME, outputType))
+                .withChild(ImmutableNodes.leafNode(MonitoringModule.LEAF_LOCATION_ACCESS_QNAME,
+                    uriToWebsocketServer.toString()))
+                .build())
+            .build();
     }
 
     /**
-     * Map data of data change notification to normalized node according to
-     * ietf-restconf-monitoring.
+     * Map data of data change notification to normalized node according to ietf-restconf-monitoring.
      *
-     * @param path
-     *             path of data to listen on
-     * @param start
-     *             start-time query parameter of notification
-     * @param outputType
-     *             output type of notification
-     * @param uri
-     *             location of registered listener for sending data of
-     *            notification
-     * @param monitoringModule
-     *             ietf-restconf-monitoring module
-     * @param schemaContext
-     *             schemaContext for parsing instance identifier to get schema
-     *            node of data
+     * @param path path of data to listen on
+     * @param start start-time query parameter of notification
+     * @param outputType output type of notification
+     * @param uri location of registered listener for sending data of notification
+     * @param schemaContext schemaContext for parsing instance identifier to get schema node of data
      * @return mapped data of notification - map entry node if parent exists,
      *         container streams with list and map entry node if not
      */
     public static MapEntryNode mapDataChangeNotificationStreamByIetfRestconfMonitoring(
             final YangInstanceIdentifier path, final Instant start, final String outputType, final URI uri,
-            final Module monitoringModule, final EffectiveModelContext schemaContext, final String streamName) {
+            final EffectiveModelContext schemaContext, final String streamName) {
         final SchemaNode schemaNode = ParserIdentifier
                 .toInstanceIdentifier(ParserIdentifier.stringFromYangInstanceIdentifier(path, schemaContext),
                         schemaContext, Optional.empty())
                 .getSchemaNode();
-        final DataSchemaNode streamListSchema = ((ContainerSchemaNode) ((ContainerSchemaNode) monitoringModule
-                .getDataChildByName(MonitoringModule.CONT_RESTCONF_STATE_QNAME))
-                        .getDataChildByName(MonitoringModule.CONT_STREAMS_QNAME))
-                                .getDataChildByName(MonitoringModule.LIST_STREAM_QNAME);
         final DataContainerNodeBuilder<NodeIdentifierWithPredicates, MapEntryNode> streamEntry =
-                Builders.mapEntryBuilder((ListSchemaNode) streamListSchema);
+            Builders.mapEntryBuilder()
+                .withNodeIdentifier(NodeIdentifierWithPredicates.of(MonitoringModule.LIST_STREAM_QNAME,
+                    MonitoringModule.LEAF_NAME_STREAM_QNAME, streamName))
+                .withChild(ImmutableNodes.leafNode(MonitoringModule.LEAF_NAME_STREAM_QNAME, streamName));
 
-        final ListSchemaNode listSchema = (ListSchemaNode) streamListSchema;
-        prepareLeafAndFillEntryBuilder(streamEntry,
-                listSchema.getDataChildByName(MonitoringModule.LEAF_NAME_STREAM_QNAME), streamName);
+        schemaNode.getDescription().ifPresent(desc ->
+            streamEntry.withChild(ImmutableNodes.leafNode(MonitoringModule.LEAF_DESCR_STREAM_QNAME, desc)));
 
-        final Optional<String> optDesc = schemaNode.getDescription();
-        if (optDesc.isPresent()) {
-            prepareLeafAndFillEntryBuilder(streamEntry,
-                    listSchema.getDataChildByName(MonitoringModule.LEAF_DESCR_STREAM_QNAME), optDesc.get());
-        }
-        prepareLeafAndFillEntryBuilder(streamEntry,
-                listSchema.getDataChildByName(MonitoringModule.LEAF_REPLAY_SUPP_STREAM_QNAME), true);
-        prepareLeafAndFillEntryBuilder(streamEntry,
-                listSchema.getDataChildByName(MonitoringModule.LEAF_START_TIME_STREAM_QNAME),
-                DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(OffsetDateTime.ofInstant(start, ZoneId.systemDefault())));
-        prepareListAndFillEntryBuilder(streamEntry,
-                (ListSchemaNode) listSchema.getDataChildByName(MonitoringModule.LIST_ACCESS_STREAM_QNAME), outputType,
-                uri);
-
-        return streamEntry.build();
+        return streamEntry
+            .withChild(ImmutableNodes.leafNode(MonitoringModule.LEAF_REPLAY_SUPP_STREAM_QNAME, Boolean.TRUE))
+            .withChild(ImmutableNodes.leafNode(MonitoringModule.LEAF_START_TIME_STREAM_QNAME,
+                DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(OffsetDateTime.ofInstant(start, ZoneId.systemDefault()))))
+            .withChild(createAccessList(outputType, uri))
+            .build();
     }
 }
index 4ea6d79469184f2267a2b169052353f3cb8cced4..5f93049d52ff537ba2d9e91ca9d312810180e6a9 100644 (file)
@@ -114,12 +114,11 @@ public class RestconfMappingNodeUtilTest {
         final Instant start = Instant.now();
         final String outputType = "XML";
         final URI uri = new URI("uri");
-        final Module monitoringModule = schemaContextMonitoring.findModule(MonitoringModule.MODULE_QNAME).orElse(null);
         final String streamName = "/nested-module:depth1-cont/depth2-leaf1";
 
         final Map<QName, Object> map = prepareMap(streamName, uri, start, outputType);
         final MapEntryNode mappedData = RestconfMappingNodeUtil.mapDataChangeNotificationStreamByIetfRestconfMonitoring(
-            path, start, outputType, uri, monitoringModule, schemaContextMonitoring, streamName);
+            path, start, outputType, uri, schemaContextMonitoring, streamName);
         assertMappedData(map, mappedData);
     }
 
@@ -128,14 +127,13 @@ public class RestconfMappingNodeUtilTest {
         final Instant start = Instant.now();
         final String outputType = "JSON";
         final URI uri = new URI("uri");
-        final Module monitoringModule = schemaContextMonitoring.findModule(MonitoringModule.MODULE_QNAME).orElse(null);
 
         final Map<QName, Object> map = prepareMap("notifi", uri, start, outputType);
         map.put(MonitoringModule.LEAF_DESCR_STREAM_QNAME, "Notifi");
 
         final QName notifiQName = QName.create("urn:nested:module", "2014-06-03", "notifi");
         final MapEntryNode mappedData = RestconfMappingNodeUtil.mapYangNotificationStreamByIetfRestconfMonitoring(
-            notifiQName, schemaContextMonitoring.getNotifications(), start, outputType, uri, monitoringModule);
+            notifiQName, schemaContextMonitoring.getNotifications(), start, outputType, uri);
         assertMappedData(map, mappedData);
     }