From: Robert Varga Date: Thu, 13 May 2021 05:22:36 +0000 (+0200) Subject: Do not use schema-aware builders in RestconfMappingNodeUtil X-Git-Tag: v2.0.0~69 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=fd7f306caa619d9dec1ed57ecc295d9656233c5c;p=netconf.git Do not use schema-aware builders in RestconfMappingNodeUtil 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 --- diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImpl.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImpl.java index bfb43b3cc5..1dd7ac400b 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImpl.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImpl.java @@ -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, diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/SubscribeToStreamUtil.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/SubscribeToStreamUtil.java index dd75c2bf2c..d1496e1ab2 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/SubscribeToStreamUtil.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/SubscribeToStreamUtil.java @@ -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, diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtil.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtil.java index 1b58884d44..ad6a0edb19 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtil.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtil.java @@ -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 mapEntryBuilder, final Collection features) { - final ListNodeBuilder> leafSetBuilder = Builders.leafSetBuilder() + final ListNodeBuilder> leafSetBuilder = Builders.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 capabilitesContBuilder = - Builders.containerBuilder((ContainerSchemaNode) capabilitesContSchema); - final DataSchemaNode leafListCapa = getChildOfCont((ContainerSchemaNode) capabilitesContSchema, - MonitoringModule.LEAF_LIST_CAPABILITY_QNAME); - final ListNodeBuilder> 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.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> 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 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 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 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 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 streamEntry, - final ListSchemaNode listSchemaNode, final String outputType, final URI uriToWebsocketServer) { - final CollectionNodeBuilder accessListBuilder = Builders.mapBuilder(listSchemaNode); - final DataContainerNodeBuilder 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 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 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 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(); } } diff --git a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtilTest.java b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtilTest.java index 4ea6d79469..5f93049d52 100644 --- a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtilTest.java +++ b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtilTest.java @@ -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 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 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); }