From: Robert Varga Date: Tue, 21 Jul 2020 10:24:30 +0000 (+0200) Subject: Simplify DOMNotificationService contract X-Git-Tag: v7.0.0~80 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=c2a8ec0afe9f563e207c0fa7ad9326639d21503a;p=mdsal.git Simplify DOMNotificationService contract One of the methods can be implemented as a default method, making things easier on implementations. Address the FIXME. Change-Id: I99b2bc8c07a55b6a4e943f0185cdc6d29c8cf2fe Signed-off-by: Robert Varga --- diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationService.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationService.java index 3bbff670a8..46f0f44a60 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationService.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationService.java @@ -7,6 +7,7 @@ */ package org.opendaylight.mdsal.dom.api; +import java.util.Arrays; import java.util.Collection; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.ListenerRegistration; @@ -48,7 +49,8 @@ public interface DOMNotificationService extends DOMService { * null or a SchemaPath which does not represent a valid {@link DOMNotification} type. * @throws NullPointerException if listener is null */ - // FIXME: Java 8: provide a default implementation of this method. - ListenerRegistration - registerNotificationListener(@NonNull T listener, SchemaPath... types); + default ListenerRegistration + registerNotificationListener(@NonNull final T listener, final SchemaPath... types) { + return registerNotificationListener(listener, Arrays.asList(types)); + } } diff --git a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMNotificationRouter.java b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMNotificationRouter.java index 66bccef6d1..d7ee230c3b 100644 --- a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMNotificationRouter.java +++ b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMNotificationRouter.java @@ -23,7 +23,6 @@ import com.lmax.disruptor.PhasedBackoffWaitStrategy; import com.lmax.disruptor.WaitStrategy; import com.lmax.disruptor.dsl.Disruptor; import com.lmax.disruptor.dsl.ProducerType; -import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Set; @@ -138,12 +137,6 @@ public class DOMNotificationRouter implements AutoCloseable, DOMNotificationPubl return reg; } - @Override - public ListenerRegistration registerNotificationListener( - final T listener, final SchemaPath... types) { - return registerNotificationListener(listener, Arrays.asList(types)); - } - /** * Swaps registered listeners and triggers notification update. * diff --git a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/OSGiDOMNotificationRouter.java b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/OSGiDOMNotificationRouter.java index 87ebcdb9a6..4adc9e0163 100644 --- a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/OSGiDOMNotificationRouter.java +++ b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/OSGiDOMNotificationRouter.java @@ -90,10 +90,4 @@ public final class OSGiDOMNotificationRouter implements DOMNotificationService, final Collection types) { return router.registerNotificationListener(listener, types); } - - @Override - public ListenerRegistration registerNotificationListener(final T listener, - final SchemaPath... types) { - return router.registerNotificationListener(listener, types); - } }