Move restconfStateStreamPath() 79/107079/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 26 Jul 2023 11:55:49 +0000 (13:55 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 26 Jul 2023 14:40:57 +0000 (16:40 +0200)
RestconfStateStreams is a more natural place for these utility methods,
move them there.

Change-Id: Ibf68e1a6e3b1e5bf48f8b38c492200684784c180
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/Rfc8040.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/monitoring/RestconfStateStreams.java
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/main/java/org/opendaylight/restconf/nb/rfc8040/streams/listeners/AbstractNotificationsData.java

index 42a85ca7e407a0d6784bc2fb7bf8ebce5252b280..7906deec111efa657573021b2ec5b68064d4681c 100644 (file)
@@ -7,45 +7,20 @@
  */
 package org.opendaylight.restconf.nb.rfc8040;
 
-import com.google.common.annotations.Beta;
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.restconf.monitoring.rev170126.RestconfState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.restconf.monitoring.rev170126.restconf.state.Streams;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.restconf.monitoring.rev170126.restconf.state.streams.Stream;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.$YangModuleInfoImpl;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.Module;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 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;
 
 /**
  * Common constants defined and relating to RFC8040.
  */
 public final class Rfc8040 {
-    private static final YangInstanceIdentifier RESTCONF_STATE_STREAMS = YangInstanceIdentifier.of(
-        NodeIdentifier.create(RestconfState.QNAME), NodeIdentifier.create(Streams.QNAME),
-        NodeIdentifier.create(Stream.QNAME));
-    private static final QName NAME_QNAME = QName.create(Stream.QNAME, "name").intern();
-
     private Rfc8040() {
         // Hidden on purpose
     }
 
-    @Beta
-    // FIXME: move this method somewhere else
-    public static @NonNull YangInstanceIdentifier restconfStateStreamPath(final String streamName) {
-        return restconfStateStreamPath(NodeIdentifierWithPredicates.of(Stream.QNAME, NAME_QNAME, streamName));
-    }
-
-    @Beta
-    // FIXME: move this method somewhere else
-    public static @NonNull YangInstanceIdentifier restconfStateStreamPath(final NodeIdentifierWithPredicates arg) {
-        return RESTCONF_STATE_STREAMS.node(arg);
-    }
-
     /**
      * Constants for ietf-yang-library model.
      */
index 0af247a3a875a836620d448a1e6cd55570a002f0..763adc1e349be69f13937649c8484b8f86d1bee9 100644 (file)
@@ -17,9 +17,12 @@ import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.util.Collection;
 import java.util.Optional;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
 import org.opendaylight.restconf.nb.rfc8040.utils.parser.IdentifierCodec;
 import org.opendaylight.restconf.nb.rfc8040.utils.parser.ParserIdentifier;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.restconf.monitoring.rev170126.RestconfState;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.restconf.monitoring.rev170126.restconf.state.Streams;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.restconf.monitoring.rev170126.restconf.state.streams.Stream;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.restconf.monitoring.rev170126.restconf.state.streams.stream.Access;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -39,6 +42,10 @@ import org.opendaylight.yangtools.yang.model.api.SchemaNode;
  * Utilities for creating the content of {@code /ietf-restconf-monitoring:restconf-state/streams}.
  */
 public final class RestconfStateStreams {
+    private static final YangInstanceIdentifier RESTCONF_STATE_STREAMS = YangInstanceIdentifier.of(
+        NodeIdentifier.create(RestconfState.QNAME), NodeIdentifier.create(Streams.QNAME),
+        NodeIdentifier.create(Stream.QNAME));
+
     @VisibleForTesting
     static final QName DESCRIPTION_QNAME = qnameOf("description");
     @VisibleForTesting
@@ -56,6 +63,14 @@ public final class RestconfStateStreams {
         // Hidden on purpose
     }
 
+    public static @NonNull YangInstanceIdentifier restconfStateStreamPath(final String streamName) {
+        return restconfStateStreamPath(NodeIdentifierWithPredicates.of(Stream.QNAME, NAME_QNAME, streamName));
+    }
+
+    public static @NonNull YangInstanceIdentifier restconfStateStreamPath(final NodeIdentifierWithPredicates arg) {
+        return RESTCONF_STATE_STREAMS.node(arg);
+    }
+
     /**
      * Map data of yang notification to normalized node according to ietf-restconf-monitoring.
      *
index 96c31f2ae7466b94939c35b8bdadc405b2f80277..02ea4a302e40b0c95d43ae9ed57bc049e18f19f7 100644 (file)
@@ -47,7 +47,6 @@ import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
 import org.opendaylight.restconf.common.patch.PatchContext;
 import org.opendaylight.restconf.common.patch.PatchStatusContext;
 import org.opendaylight.restconf.nb.rfc8040.ReadDataParams;
-import org.opendaylight.restconf.nb.rfc8040.Rfc8040;
 import org.opendaylight.restconf.nb.rfc8040.WriteDataParams;
 import org.opendaylight.restconf.nb.rfc8040.databind.DatabindProvider;
 import org.opendaylight.restconf.nb.rfc8040.databind.jaxrs.QueryParams;
@@ -236,7 +235,7 @@ public class RestconfDataServiceImpl implements RestconfDataService {
                 listener.getOutputType(), uri);
 
         tx.merge(LogicalDatastoreType.OPERATIONAL,
-            Rfc8040.restconfStateStreamPath(mapToStreams.name()), mapToStreams);
+            RestconfStateStreams.restconfStateStreamPath(mapToStreams.name()), mapToStreams);
     }
 
     @Override
index 22535f79a1870ae8b0c301e6f700675a91cee8db..0dc24039f4bcf8f8d2b1c92b5f82679169ed1767 100644 (file)
@@ -23,7 +23,6 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteOperations;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
 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;
@@ -206,7 +205,8 @@ abstract class SubscribeToStreamUtil {
     // FIXME: callers are utter duplicates, refactor them
     private static void writeDataToDS(final DOMDataTreeWriteOperations tx, final MapEntryNode mapToStreams) {
         // FIXME: use put() here
-        tx.merge(LogicalDatastoreType.OPERATIONAL, Rfc8040.restconfStateStreamPath(mapToStreams.name()), mapToStreams);
+        tx.merge(LogicalDatastoreType.OPERATIONAL, RestconfStateStreams.restconfStateStreamPath(mapToStreams.name()),
+            mapToStreams);
     }
 
     private static void submitData(final DOMDataTreeWriteTransaction readWriteTransaction) {
index babb22171321d4ffc144ab3d7b3f923936444415..a12f8be46ceb745c129619e28976410b98b310e4 100644 (file)
@@ -23,8 +23,8 @@ import javax.xml.transform.stream.StreamResult;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.dom.api.DOMDataBroker;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
-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.yangtools.util.xml.UntrustedXML;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.slf4j.Logger;
@@ -68,7 +68,7 @@ abstract class AbstractNotificationsData {
     //        or they should be giving us the transaction
     protected ListenableFuture<?> deleteDataInDS() {
         final DOMDataTreeWriteTransaction wTx = dataBroker.newWriteOnlyTransaction();
-        wTx.delete(LogicalDatastoreType.OPERATIONAL, Rfc8040.restconfStateStreamPath(localName));
+        wTx.delete(LogicalDatastoreType.OPERATIONAL, RestconfStateStreams.restconfStateStreamPath(localName));
         return wTx.commit();
     }