import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService;
import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.concepts.Registration;
import org.opendaylight.yangtools.yang.binding.Augmentation;
import org.opendaylight.yangtools.yang.binding.DataObject;
}
@Override
- public <T extends DataObject, L extends DataTreeChangeListener<T>> ListenerRegistration<L>
- registerDataTreeChangeListener(final DataTreeIdentifier<T> treeId, final L listener) {
+ public <T extends DataObject> Registration registerDataTreeChangeListener(final DataTreeIdentifier<T> treeId,
+ final DataTreeChangeListener<T> listener) {
final var domIdentifier = toDomTreeIdentifier(treeId);
- final var storeType = treeId.getDatastoreType();
- final var target = treeId.getRootIdentifier().getTargetType();
+ final var storeType = treeId.datastore();
+ final var target = treeId.path().getTargetType();
final var augment = Augmentation.class.isAssignableFrom(target) ? target : null;
final var domListener = listener instanceof ClusteredDataTreeChangeListener
(ClusteredDataTreeChangeListener<T>) listener, storeType, augment)
: new BindingDOMDataTreeChangeListenerAdapter<>(adapterContext(), listener, storeType, augment);
- final var domReg = getDelegate().registerDataTreeChangeListener(domIdentifier, domListener);
- return new BindingDataTreeChangeListenerRegistration<>(listener, domReg);
+ return getDelegate().registerDataTreeChangeListener(domIdentifier, domListener);
}
@Override
}
private @NonNull DOMDataTreeIdentifier toDomTreeIdentifier(final DataTreeIdentifier<?> treeId) {
- return new DOMDataTreeIdentifier(treeId.getDatastoreType(),
- currentSerializer().toYangInstanceIdentifier(treeId.getRootIdentifier()));
+ return DOMDataTreeIdentifier.of(treeId.datastore(),
+ currentSerializer().toYangInstanceIdentifier(treeId.path()));
}
private @NonNull DOMDataTreeIdentifier toDomTreeInstance(final DataTreeIdentifier<?> treeId) {
- final var instanceIdentifier = treeId.getRootIdentifier();
+ final var instanceIdentifier = treeId.path();
if (instanceIdentifier.isWildcarded()) {
throw new IllegalArgumentException("Cannot register listener for wildcard " + instanceIdentifier);
}