Clean up DOMNotificationRouterEvent 77/109177/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 6 Dec 2023 16:43:25 +0000 (17:43 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 6 Dec 2023 16:55:09 +0000 (17:55 +0100)
Use Empty instead of Void to reduce proliferation of nulls.

Change-Id: I39753a0deccf588578a2875b8bac40d02bd34129
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMNotificationRouter.java
dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMNotificationRouterEvent.java

index bee565a48a94dd0dc26736ab3e4c9bab07e1e464..86b652475310a6a5e1ffb37782fc782dfa7634cc 100644 (file)
@@ -218,15 +218,14 @@ public class DOMNotificationRouter implements AutoCloseable, DOMNotificationPubl
     }
 
     @VisibleForTesting
-    @NonNull ListenableFuture<? extends Object> publish(final DOMNotification notification,
-            final Collection<Reg<?>> subscribers) {
-        final var futures = new ArrayList<ListenableFuture<Void>>(subscribers.size());
+    @NonNull ListenableFuture<?> publish(final DOMNotification notification, final Collection<Reg<?>> subscribers) {
+        final var futures = new ArrayList<ListenableFuture<?>>(subscribers.size());
         subscribers.forEach(subscriber -> {
             final var event = new DOMNotificationRouterEvent(notification);
             futures.add(event.future());
             queueNotificationManager.submitNotification(subscriber, event);
         });
-        return Futures.transform(Futures.successfulAsList(futures), ignored -> (Void)null,
+        return Futures.transform(Futures.successfulAsList(futures), ignored -> Empty.value(),
             MoreExecutors.directExecutor());
     }
 
index a3b47a48bb6ea5574008076a34792be7b5a107c3..83fe2e75d20dc8ac4076a51948de1ca6b7a1262c 100644 (file)
@@ -14,6 +14,7 @@ import com.google.common.util.concurrent.SettableFuture;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.dom.api.DOMNotification;
 import org.opendaylight.mdsal.dom.api.DOMNotificationListener;
+import org.opendaylight.yangtools.yang.common.Empty;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -23,14 +24,14 @@ import org.slf4j.LoggerFactory;
 final class DOMNotificationRouterEvent {
     private static final Logger LOG = LoggerFactory.getLogger(DOMNotificationRouterEvent.class);
 
-    private final SettableFuture<Void> future = SettableFuture.create();
+    private final SettableFuture<Empty> future = SettableFuture.create();
     private final @NonNull DOMNotification notification;
 
     DOMNotificationRouterEvent(final DOMNotification notification) {
         this.notification = requireNonNull(notification);
     }
 
-    ListenableFuture<Void> future() {
+    ListenableFuture<Empty> future() {
         return future;
     }
 
@@ -46,6 +47,6 @@ final class DOMNotificationRouterEvent {
     }
 
     void clear() {
-        future.set(null);
+        future.set(Empty.value());
     }
 }