Move RestconfMappingNodeUtil 77/107077/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 26 Jul 2023 11:39:59 +0000 (13:39 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 26 Jul 2023 11:51:18 +0000 (13:51 +0200)
RestconfMappingNodeUtil contains only utilities for creating
ietf-restconf-monitoring's streams content. Move it and assign better
names all around.

Change-Id: I57ce249aa1a425337bfbc9deb3c0407c38d2c590
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/monitoring/RestconfStateStreams.java [moved from restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtil.java with 92% similarity]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImpl.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/SubscribeToStreamUtil.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/rfc8040/monitoring/RestconfStateStreamsTest.java [moved from restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtilTest.java with 87% similarity]

similarity index 92%
rename from restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/utils/mapping/RestconfMappingNodeUtil.java
rename to restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/monitoring/RestconfStateStreams.java
index ec35f824e24163b01bc51b6ab3dfd881d2bf9c26..0af247a3a875a836620d448a1e6cd55570a002f0 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.restconf.nb.rfc8040.utils.mapping;
+package org.opendaylight.restconf.nb.rfc8040.monitoring;
 
 import static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.restconf.monitoring.rev170126.$YangModuleInfoImpl.qnameOf;
 
@@ -36,9 +36,9 @@ import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 
 /**
- * Util class for mapping nodes.
+ * Utilities for creating the content of {@code /ietf-restconf-monitoring:restconf-state/streams}.
  */
-public final class RestconfMappingNodeUtil {
+public final class RestconfStateStreams {
     @VisibleForTesting
     static final QName DESCRIPTION_QNAME = qnameOf("description");
     @VisibleForTesting
@@ -52,7 +52,7 @@ public final class RestconfMappingNodeUtil {
     @VisibleForTesting
     static final QName REPLAY_LOG_CREATION_TIME = qnameOf("replay-log-creation-time");
 
-    private RestconfMappingNodeUtil() {
+    private RestconfStateStreams() {
         // Hidden on purpose
     }
 
@@ -67,7 +67,7 @@ public final class RestconfMappingNodeUtil {
      * @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,
+    public static MapEntryNode notificationStreamEntry(final QName notifiQName,
             final Collection<? extends NotificationDefinition> notifications, final Instant start,
             final String outputType, final URI uri) {
         for (final NotificationDefinition notificationDefinition : notifications) {
@@ -118,9 +118,9 @@ public final class RestconfMappingNodeUtil {
      * @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 EffectiveModelContext schemaContext, final String streamName) {
+    public static MapEntryNode dataChangeStreamEntry(final YangInstanceIdentifier path, final Instant start,
+            final String outputType, final URI uri, final EffectiveModelContext schemaContext,
+            final String streamName) {
         final SchemaNode schemaNode = ParserIdentifier.toInstanceIdentifier(
             IdentifierCodec.serialize(path, schemaContext), schemaContext, Optional.empty()).getSchemaNode();
         final DataContainerNodeBuilder<NodeIdentifierWithPredicates, MapEntryNode> streamEntry =
index b65ff44b2c0ad6ca8d48148134a6a4a6db692d71..96c31f2ae7466b94939c35b8bdadc405b2f80277 100644 (file)
@@ -53,6 +53,7 @@ import org.opendaylight.restconf.nb.rfc8040.databind.DatabindProvider;
 import org.opendaylight.restconf.nb.rfc8040.databind.jaxrs.QueryParams;
 import org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload;
 import org.opendaylight.restconf.nb.rfc8040.legacy.QueryParameters;
+import org.opendaylight.restconf.nb.rfc8040.monitoring.RestconfStateStreams;
 import org.opendaylight.restconf.nb.rfc8040.rests.services.api.RestconfDataService;
 import org.opendaylight.restconf.nb.rfc8040.rests.services.api.RestconfStreamsSubscriptionService;
 import org.opendaylight.restconf.nb.rfc8040.rests.transactions.MdsalRestconfStrategy;
@@ -67,7 +68,6 @@ import org.opendaylight.restconf.nb.rfc8040.rests.utils.RestconfStreamsConstants
 import org.opendaylight.restconf.nb.rfc8040.streams.StreamsConfiguration;
 import org.opendaylight.restconf.nb.rfc8040.streams.listeners.ListenersBroker;
 import org.opendaylight.restconf.nb.rfc8040.streams.listeners.NotificationListenerAdapter;
-import org.opendaylight.restconf.nb.rfc8040.utils.mapping.RestconfMappingNodeUtil;
 import org.opendaylight.restconf.nb.rfc8040.utils.parser.ParserIdentifier;
 import org.opendaylight.yang.gen.v1.urn.sal.restconf.event.subscription.rev140708.NotificationOutputTypeGrouping.NotificationOutputType;
 import org.opendaylight.yangtools.yang.common.ErrorTag;
@@ -231,7 +231,7 @@ public class RestconfDataServiceImpl implements RestconfDataService {
     private void writeNotificationStreamToDatastore(final EffectiveModelContext schemaContext,
             final UriInfo uriInfo, final DOMDataTreeWriteOperations tx, final NotificationListenerAdapter listener) {
         final URI uri = streamUtils.prepareUriByStreamName(uriInfo, listener.getStreamName());
-        final MapEntryNode mapToStreams = RestconfMappingNodeUtil.mapYangNotificationStreamByIetfRestconfMonitoring(
+        final MapEntryNode mapToStreams = RestconfStateStreams.notificationStreamEntry(
                 listener.getSchemaPath().lastNodeIdentifier(), schemaContext.getNotifications(), null,
                 listener.getOutputType(), uri);
 
index 59469b019d78d39353dd79e0882893ed37026a59..22535f79a1870ae8b0c301e6f700675a91cee8db 100644 (file)
@@ -25,13 +25,13 @@ import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
 import org.opendaylight.restconf.nb.rfc8040.NotificationQueryParams;
 import org.opendaylight.restconf.nb.rfc8040.Rfc8040;
 import org.opendaylight.restconf.nb.rfc8040.databind.DatabindProvider;
+import org.opendaylight.restconf.nb.rfc8040.monitoring.RestconfStateStreams;
 import org.opendaylight.restconf.nb.rfc8040.rests.services.impl.RestconfStreamsSubscriptionServiceImpl.HandlersHolder;
 import org.opendaylight.restconf.nb.rfc8040.rests.utils.RestconfStreamsConstants;
 import org.opendaylight.restconf.nb.rfc8040.streams.listeners.ListenerAdapter;
 import org.opendaylight.restconf.nb.rfc8040.streams.listeners.ListenersBroker;
 import org.opendaylight.restconf.nb.rfc8040.streams.listeners.NotificationListenerAdapter;
 import org.opendaylight.restconf.nb.rfc8040.utils.RestconfConstants;
-import org.opendaylight.restconf.nb.rfc8040.utils.mapping.RestconfMappingNodeUtil;
 import org.opendaylight.restconf.nb.rfc8040.utils.parser.IdentifierCodec;
 import org.opendaylight.yangtools.yang.common.ErrorTag;
 import org.opendaylight.yangtools.yang.common.ErrorType;
@@ -137,7 +137,7 @@ abstract class SubscribeToStreamUtil {
         notificationListenerAdapter.listen(handlersHolder.getNotificationServiceHandler());
         final DOMDataBroker dataBroker = handlersHolder.getDataBroker();
         notificationListenerAdapter.setCloseVars(dataBroker, handlersHolder.getDatabindProvider());
-        final MapEntryNode mapToStreams = RestconfMappingNodeUtil.mapYangNotificationStreamByIetfRestconfMonitoring(
+        final MapEntryNode mapToStreams = RestconfStateStreams.notificationStreamEntry(
                     notificationListenerAdapter.getSchemaPath().lastNodeIdentifier(),
                     schemaContext.getNotifications(), notificationListenerAdapter.getStart(),
                     notificationListenerAdapter.getOutputType(), uri);
@@ -195,8 +195,7 @@ abstract class SubscribeToStreamUtil {
         final EffectiveModelContext schemaContext = schemaHandler.currentContext().modelContext();
         final String serializedPath = IdentifierCodec.serialize(listener.getPath(), schemaContext);
 
-        final MapEntryNode mapToStreams =
-            RestconfMappingNodeUtil.mapDataChangeNotificationStreamByIetfRestconfMonitoring(listener.getPath(),
+        final MapEntryNode mapToStreams = RestconfStateStreams.dataChangeStreamEntry(listener.getPath(),
                 listener.getStart(), listener.getOutputType(), uri, schemaContext, serializedPath);
         final DOMDataTreeWriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
         writeDataToDS(writeTransaction, mapToStreams);
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.restconf.nb.rfc8040.utils.mapping;
+package org.opendaylight.restconf.nb.rfc8040.monitoring;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -40,10 +40,10 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Unit tests for {@link RestconfMappingNodeUtil}.
+ * Unit tests for {@link RestconfStateStreams}.
  */
-public class RestconfMappingNodeUtilTest {
-    private static final Logger LOG = LoggerFactory.getLogger(RestconfMappingNodeUtilTest.class);
+public class RestconfStateStreamsTest {
+    private static final Logger LOG = LoggerFactory.getLogger(RestconfStateStreamsTest.class);
 
     private static Collection<? extends Module> modules;
     private static EffectiveModelContext schemaContext;
@@ -68,8 +68,7 @@ public class RestconfMappingNodeUtilTest {
     @Test
     public void restconfMappingNodeTest() {
         // write modules into list module in Restconf
-        final ContainerNode mods = SchemaContextHandler.mapModulesByIetfYangLibraryYang(
-            RestconfMappingNodeUtilTest.modules, schemaContext, "1");
+        final ContainerNode mods = SchemaContextHandler.mapModulesByIetfYangLibraryYang(modules, schemaContext, "1");
 
         // verify loaded modules
         verifyLoadedModules(mods);
@@ -87,8 +86,8 @@ public class RestconfMappingNodeUtilTest {
         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, schemaContextMonitoring, streamName);
+        final MapEntryNode mappedData = RestconfStateStreams.dataChangeStreamEntry(path, start, outputType, uri,
+            schemaContextMonitoring, streamName);
         assertMappedData(map, mappedData);
     }
 
@@ -99,23 +98,23 @@ public class RestconfMappingNodeUtilTest {
         final URI uri = new URI("uri");
 
         final Map<QName, Object> map = prepareMap("notifi", uri, start, outputType);
-        map.put(RestconfMappingNodeUtil.DESCRIPTION_QNAME, "Notifi");
+        map.put(RestconfStateStreams.DESCRIPTION_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);
+        final MapEntryNode mappedData = RestconfStateStreams.notificationStreamEntry(notifiQName,
+            schemaContextMonitoring.getNotifications(), start, outputType, uri);
         assertMappedData(map, mappedData);
     }
 
     private static Map<QName, Object> prepareMap(final String name, final URI uri, final Instant start,
             final String outputType) {
         final Map<QName, Object> map = new HashMap<>();
-        map.put(RestconfMappingNodeUtil.NAME_QNAME, name);
-        map.put(RestconfMappingNodeUtil.LOCATION_QNAME, uri.toString());
-        map.put(RestconfMappingNodeUtil.REPLAY_SUPPORT_QNAME, Boolean.TRUE);
-        map.put(RestconfMappingNodeUtil.REPLAY_LOG_CREATION_TIME, DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(
+        map.put(RestconfStateStreams.NAME_QNAME, name);
+        map.put(RestconfStateStreams.LOCATION_QNAME, uri.toString());
+        map.put(RestconfStateStreams.REPLAY_SUPPORT_QNAME, Boolean.TRUE);
+        map.put(RestconfStateStreams.REPLAY_LOG_CREATION_TIME, DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(
             OffsetDateTime.ofInstant(start, ZoneId.systemDefault())));
-        map.put(RestconfMappingNodeUtil.ENCODING_QNAME, outputType);
+        map.put(RestconfStateStreams.ENCODING_QNAME, outputType);
         return map;
     }
 
@@ -188,7 +187,7 @@ public class RestconfMappingNodeUtilTest {
             }
         }
 
-        verifyLoadedModules(RestconfMappingNodeUtilTest.modulesRest, loadedModules);
+        verifyLoadedModules(modulesRest, loadedModules);
     }
 
     /**