- delegate broker was incorrectly queried for DOMDataTreeChangeService
- it must ask for supported extensions instead of instanceof
Change-Id: I0310926893fc517bb1e1dca48d4966d6ffc18c74
Signed-off-by: Michal Polkorab <[email protected]>
@Override
public <L extends DOMDataTreeChangeListener> ListenerRegistration<L> 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");
}
}