*/
package org.opendaylight.controller.md.sal.binding.impl;
-
import com.google.common.collect.ClassToInstanceMap;
import com.google.common.collect.ImmutableSet;
import java.util.Set;
import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService;
import org.opendaylight.controller.md.sal.dom.api.DOMService;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
+import org.opendaylight.yangtools.yang.binding.DataObject;
/**
* The DataBrokerImpl simply defers to the DOMDataBroker for all its operations.
* All transactions and listener registrations are wrapped by the DataBrokerImpl
* to allow binding aware components to use the DataBroker transparently.
*
+ * <p>
* Besides this the DataBrokerImpl and it's collaborators also cache data that
* is already transformed from the binding independent to binding aware format
- *
-
*/
-public class BindingDOMDataBrokerAdapter extends AbstractForwardedDataBroker implements DataBroker {
-
-
- static final Factory<DataBroker> BUILDER_FACTORY = new BindingDOMAdapterBuilder.Factory<DataBroker>() {
-
- @Override
- public BindingDOMAdapterBuilder<DataBroker> newBuilder() {
- return new Builder();
- }
-
- };
+@Deprecated
+public class BindingDOMDataBrokerAdapter extends AbstractForwardedDataBroker
+ implements DataBroker, DataTreeChangeService {
+ static final Factory<DataBroker> BUILDER_FACTORY = Builder::new;
private final DataTreeChangeService treeChangeService;
public BindingDOMDataBrokerAdapter(final DOMDataBroker domDataBroker, final BindingToNormalizedNodeCodec codec) {
super(domDataBroker, codec);
- final DOMDataTreeChangeService domTreeChange = (DOMDataTreeChangeService) domDataBroker.getSupportedExtensions().get(DOMDataTreeChangeService.class);
- if(domTreeChange != null) {
+ final DOMDataTreeChangeService domTreeChange = (DOMDataTreeChangeService) domDataBroker
+ .getSupportedExtensions().get(DOMDataTreeChangeService.class);
+ if (domTreeChange != null) {
treeChangeService = BindingDOMDataTreeChangeServiceAdapter.create(codec, domTreeChange);
} else {
treeChangeService = null;
return new BindingDOMTransactionChainAdapter(getDelegate(), getCodec(), listener);
}
+ @Override
+ public String toString() {
+ return "BindingDOMDataBrokerAdapter for " + getDelegate();
+ }
+
private static class Builder extends BindingDOMAdapterBuilder<DataBroker> {
@Override
}
- public <L extends DataTreeChangeListener> ListenerRegistration<L> registerDataTreeChangeListener(
- final DataTreeIdentifier treeId, final L listener) {
- if(treeChangeService == null) {
+ @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);
}
-
}