From: Robert Varga Date: Wed, 25 Jan 2017 22:05:02 +0000 (+0100) Subject: Take advantage of default methods in DOMRpcProviderService X-Git-Tag: release/nitrogen~23 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=adf49155eced15c9f654d7bed7ee45cd95686e4f;ds=sidebyside Take advantage of default methods in DOMRpcProviderService We can make one of the methods default, as all implementations are exactly the same (codifying contract). Change-Id: I64f0b62fd3a0987ed1ed01ec14b2c4d3b77560ac Signed-off-by: Robert Varga --- diff --git a/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMRpcProviderService.java b/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMRpcProviderService.java index 82de4b02a2..21f0da24bf 100644 --- a/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMRpcProviderService.java +++ b/opendaylight/md-sal/sal-dom-api/src/main/java/org/opendaylight/controller/md/sal/dom/api/DOMRpcProviderService.java @@ -7,6 +7,7 @@ */ package org.opendaylight.controller.md.sal.dom.api; +import com.google.common.collect.ImmutableSet; import java.util.Set; import javax.annotation.Nonnull; @@ -40,8 +41,10 @@ public interface DOMRpcProviderService extends DOMService { * @throws NullPointerException if implementation or types is null * @throws IllegalArgumentException if types is empty or contains a null element. */ - @Nonnull DOMRpcImplementationRegistration registerRpcImplementation( - @Nonnull T implementation, @Nonnull DOMRpcIdentifier... rpcs); + default @Nonnull DOMRpcImplementationRegistration registerRpcImplementation( + @Nonnull final T implementation, @Nonnull final DOMRpcIdentifier... rpcs) { + return registerRpcImplementation(implementation, ImmutableSet.copyOf(rpcs)); + } /** * Register an {@link DOMRpcImplementation} object with this service. diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMRpcRouter.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMRpcRouter.java index 02d2710862..2851735962 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMRpcRouter.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMRpcRouter.java @@ -12,7 +12,6 @@ import com.google.common.base.Verify; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; -import com.google.common.collect.ImmutableSet; import com.google.common.collect.MapDifference; import com.google.common.collect.MapDifference.ValueDifference; import com.google.common.collect.Maps; @@ -64,12 +63,6 @@ public final class DOMRpcRouter implements AutoCloseable, DOMRpcService, DOMRpcP return rpcRouter; } - @Override - public DOMRpcImplementationRegistration registerRpcImplementation( - final T implementation, final DOMRpcIdentifier... rpcs) { - return registerRpcImplementation(implementation, ImmutableSet.copyOf(rpcs)); - } - private synchronized void removeRpcImplementation(final DOMRpcImplementation implementation, final Set rpcs) { final DOMRpcRoutingTable oldTable = routingTable; diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerImpl.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerImpl.java index 33fc244619..40a4efd6fe 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerImpl.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerImpl.java @@ -161,13 +161,6 @@ public class BrokerImpl implements Broker, DOMRpcProviderService, DOMRpcService, return session; } - - @Nonnull - @Override - public DOMRpcImplementationRegistration registerRpcImplementation(@Nonnull final T implementation, @Nonnull final DOMRpcIdentifier... rpcs) { - return rpcProvider.registerRpcImplementation(implementation, rpcs); - } - @Nonnull @Override public DOMRpcImplementationRegistration registerRpcImplementation(@Nonnull final T implementation, @Nonnull final Set rpcs) { diff --git a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/AbstractDOMRpcProviderService.java b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/AbstractDOMRpcProviderService.java index c1374264cc..29598ac53f 100644 --- a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/AbstractDOMRpcProviderService.java +++ b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/AbstractDOMRpcProviderService.java @@ -7,18 +7,14 @@ */ package org.opendaylight.controller.md.sal.dom.spi; -import com.google.common.collect.ImmutableSet; -import org.opendaylight.controller.md.sal.dom.api.DOMRpcIdentifier; -import org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementation; -import org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationRegistration; import org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService; /** * Convenience abstract base class for {@link DOMRpcProviderService} implementations. + * + * @deprecated Useless class. Implement {@link DOMRpcProviderService} directly. */ +@Deprecated public abstract class AbstractDOMRpcProviderService implements DOMRpcProviderService { - @Override - public final DOMRpcImplementationRegistration registerRpcImplementation(final T implementation, final DOMRpcIdentifier... types) { - return registerRpcImplementation(implementation, ImmutableSet.copyOf(types)); - } + } diff --git a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/ForwardingDOMRpcProviderService.java b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/ForwardingDOMRpcProviderService.java index 99c4cad8a9..6267455889 100644 --- a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/ForwardingDOMRpcProviderService.java +++ b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/ForwardingDOMRpcProviderService.java @@ -24,12 +24,8 @@ public abstract class ForwardingDOMRpcProviderService extends ForwardingObject i protected abstract @Nonnull DOMRpcProviderService delegate(); @Override - public DOMRpcImplementationRegistration registerRpcImplementation(final T implementation, final DOMRpcIdentifier... types) { - return delegate().registerRpcImplementation(implementation, types); - } - - @Override - public DOMRpcImplementationRegistration registerRpcImplementation(final T implementation, final Set types) { + public DOMRpcImplementationRegistration registerRpcImplementation( + final T implementation, final Set types) { return delegate().registerRpcImplementation(implementation, types); } }