import org.opendaylight.mdsal.binding.api.ReadTransaction;
import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
import org.opendaylight.mdsal.binding.api.TransactionChain;
-import org.opendaylight.mdsal.binding.api.TransactionChainListener;
import org.opendaylight.mdsal.binding.api.WriteTransaction;
import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMAdapterBuilder.Factory;
import org.opendaylight.mdsal.dom.api.DOMDataBroker;
-import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService;
+import org.opendaylight.mdsal.dom.api.DOMDataBroker.DataTreeChangeExtension;
import org.opendaylight.mdsal.dom.api.DOMService;
import org.opendaylight.yangtools.concepts.Registration;
import org.opendaylight.yangtools.yang.binding.DataObject;
public BindingDOMDataBrokerAdapter(final AdapterContext adapterContext, final DOMDataBroker domDataBroker) {
super(adapterContext, domDataBroker);
- final var domTreeChange = domDataBroker.extension(DOMDataTreeChangeService.class);
+ final var domTreeChange = domDataBroker.extension(DataTreeChangeExtension.class);
treeChangeService = domTreeChange == null ? null
: new BindingDOMDataTreeChangeServiceAdapter(adapterContext, domTreeChange);
}
}
@Override
- public TransactionChain createTransactionChain(final TransactionChainListener listener) {
- return new BindingDOMTransactionChainAdapter(getDelegate()::createTransactionChain, adapterContext(), listener);
+ public TransactionChain createTransactionChain() {
+ return new BindingDOMTransactionChainAdapter(getDelegate().createTransactionChain(), adapterContext());
}
@Override
- public TransactionChain createMergingTransactionChain(final TransactionChainListener listener) {
- return new BindingDOMTransactionChainAdapter(getDelegate()::createMergingTransactionChain, adapterContext(),
- listener);
+ public TransactionChain createMergingTransactionChain() {
+ return new BindingDOMTransactionChainAdapter(getDelegate().createMergingTransactionChain(), adapterContext());
}
@Override
- public <T extends DataObject> Registration registerDataTreeChangeListener(final DataTreeIdentifier<T> treeId,
+ public <T extends DataObject> Registration registerTreeChangeListener(final DataTreeIdentifier<T> treeId,
final DataTreeChangeListener<T> listener) {
- if (treeChangeService == null) {
+ return getTreeChangeService().registerTreeChangeListener(treeId, listener);
+ }
+
+ @Override
+ @Deprecated(since = "13.0.0", forRemoval = true)
+ public <T extends DataObject> Registration registerLegacyTreeChangeListener(final DataTreeIdentifier<T> treeId,
+ final DataTreeChangeListener<T> listener) {
+ return getTreeChangeService().registerLegacyTreeChangeListener(treeId, listener);
+ }
+
+ private @NonNull DataTreeChangeService getTreeChangeService() {
+ final var local = treeChangeService;
+ if (local == null) {
throw new UnsupportedOperationException("Underlying data broker does not expose DOMDataTreeChangeService.");
}
- return treeChangeService.registerDataTreeChangeListener(treeId, listener);
+ return local;
}
private static class Builder extends BindingDOMAdapterBuilder<DataBroker> {
return new BindingDOMDataBrokerAdapter(adapterContext(), delegates.getInstance(DOMDataBroker.class));
}
}
-
}