@Override public <T extends DataObject, L extends DataTreeChangeListener<T>> ListenerRegistration<L> registerDataTreeChangeListener( final DataTreeIdentifier<T> treeId, final L listener) { if(treeChangeService == null) { throw new UnsupportedOperationException("Underlying data broker does not expose DOMDataTreeChangeService."); } return treeChangeService.registerDataTreeChangeListener(treeId, listener); }
/** * Register this instance as a data change listener. * * @param service A {@link DataTreeChangeService} instance. * @param store A {@link LogicalDatastoreType} instance used to * determine the target datastore. */ protected final void registerListener(DataTreeChangeService service, LogicalDatastoreType store) { InstanceIdentifier<T> path = getWildcardPath(); DataTreeIdentifier<T> ident = new DataTreeIdentifier<>(store, path); try { ListenerRegistration<DataTreeChangeListener<T>> reg = service. registerDataTreeChangeListener(ident, this); registration.set(reg); } catch (Exception e) { String msg = new StringBuilder( "Failed to register data tree change listener: type="). append(targetType.getName()). append(", path=").append(path). toString(); getLogger().error(msg, e); throw new IllegalStateException(msg, e); } }
try { ListenerRegistration<DataTreeChangeListener<T>> reg = service. registerDataTreeChangeListener(ident, listener); addCloseable(reg); } catch (Exception e) {