X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fbroker%2Fimpl%2FDOMRpcRouter.java;h=f8e47bb4d90358a156930943ed87eb16fcdc2226;hp=02d27108621b3308d00194db4c26e0d8945ee7ea;hb=4ef15f7a7e3fb5bcaa6a3202d268a5c945e0aa71;hpb=329dc0e33bd86edbf02b37090fc431607af9b47e 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..f8e47bb4d9 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 @@ -70,15 +70,6 @@ public final class DOMRpcRouter implements AutoCloseable, DOMRpcService, DOMRpcP return registerRpcImplementation(implementation, ImmutableSet.copyOf(rpcs)); } - private synchronized void removeRpcImplementation(final DOMRpcImplementation implementation, - final Set rpcs) { - final DOMRpcRoutingTable oldTable = routingTable; - final DOMRpcRoutingTable newTable = oldTable.remove(implementation, rpcs); - routingTable = newTable; - - listenerNotifier.execute(() -> notifyRemoved(newTable, implementation)); - } - @Override public synchronized DOMRpcImplementationRegistration registerRpcImplementation( final T implementation, final Set rpcs) { @@ -96,9 +87,18 @@ public final class DOMRpcRouter implements AutoCloseable, DOMRpcService, DOMRpcP }; } + private synchronized void removeRpcImplementation(final DOMRpcImplementation implementation, + final Set rpcs) { + final DOMRpcRoutingTable oldTable = routingTable; + final DOMRpcRoutingTable newTable = oldTable.remove(implementation, rpcs); + routingTable = newTable; + + listenerNotifier.execute(() -> notifyRemoved(newTable, implementation)); + } + @Override public CheckedFuture invokeRpc(final SchemaPath type, - final NormalizedNode input) { + final NormalizedNode input) { return routingTable.invokeRpc(type, input); } @@ -143,15 +143,15 @@ public final class DOMRpcRouter implements AutoCloseable, DOMRpcService, DOMRpcP listenerNotifier.shutdown(); } - private static final class Registration - extends AbstractListenerRegistration { + private static final class Registration extends + AbstractListenerRegistration { private final DOMRpcRouter router; private Map> prevRpcs; Registration(final DOMRpcRouter router, final T listener, - final Map> rpcs) { + final Map> rpcs) { super(Preconditions.checkNotNull(listener)); this.router = Preconditions.checkNotNull(router); this.prevRpcs = Preconditions.checkNotNull(rpcs); @@ -187,7 +187,8 @@ public final class DOMRpcRouter implements AutoCloseable, DOMRpcService, DOMRpcP for (Entry> e : diff.entriesOnlyOnRight().entrySet()) { added.addAll(Collections2.transform(e.getValue(), i -> DOMRpcIdentifier.create(e.getKey(), i))); } - for (Entry>> e : diff.entriesDiffering().entrySet()) { + for (Entry>> e : diff.entriesDiffering() + .entrySet()) { for (YangInstanceIdentifier i : Sets.difference(e.getValue().rightValue(), e.getValue().leftValue())) { added.add(DOMRpcIdentifier.create(e.getKey(), i)); } @@ -212,7 +213,8 @@ public final class DOMRpcRouter implements AutoCloseable, DOMRpcService, DOMRpcP for (Entry> e : diff.entriesOnlyOnLeft().entrySet()) { removed.addAll(Collections2.transform(e.getValue(), i -> DOMRpcIdentifier.create(e.getKey(), i))); } - for (Entry>> e : diff.entriesDiffering().entrySet()) { + for (Entry>> e : diff.entriesDiffering() + .entrySet()) { for (YangInstanceIdentifier i : Sets.difference(e.getValue().leftValue(), e.getValue().rightValue())) { removed.add(DOMRpcIdentifier.create(e.getKey(), i)); }