From 03e639ec0e4b1b2a55a8763b5642b1118e52861c Mon Sep 17 00:00:00 2001 From: Michal Polkorab Date: Tue, 22 Sep 2015 16:34:06 +0200 Subject: [PATCH] Bug 4327 - Fixed DataTreeChangeListener registration in PingPongDataBroker - delegate broker was incorrectly queried for DOMDataTreeChangeService - it must ask for supported extensions instead of instanceof - this is lithium branch fix, beryllium change: https://git.opendaylight.org/gerrit/#/c/27164/ Change-Id: Ie1757c762018e7188d76a7728f2f8ea52293d73f Signed-off-by: Michal Polkorab --- .../md/sal/dom/broker/impl/PingPongDataBroker.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/PingPongDataBroker.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/PingPongDataBroker.java index 55f8a1557d..53de1a2944 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/PingPongDataBroker.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/PingPongDataBroker.java @@ -49,13 +49,15 @@ public final class PingPongDataBroker extends ForwardingDOMDataBroker implements @Override public void close() { - // TODO Auto-generated method stub + // intentionally NOOP } @Override public ListenerRegistration registerDataTreeChangeListener(final DOMDataTreeIdentifier treeId, final L listener) { - if (delegate instanceof DOMDataTreeChangeService) { - return ((DOMDataTreeChangeService)delegate).registerDataTreeChangeListener(treeId, listener); + final DOMDataTreeChangeService treeService = + (DOMDataTreeChangeService) delegate.getSupportedExtensions().get(DOMDataTreeChangeService.class); + if (treeService != null) { + return treeService.registerDataTreeChangeListener(treeId, listener); } throw new UnsupportedOperationException("Delegate " + delegate + " does not support required functionality"); -- 2.36.6