X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fbinding%2Fimpl%2FBindingDOMDataBrokerAdapter.java;h=7b4c5495d6d2ff3fef2cdc467fe035f8d16015cd;hb=b4bf55727093657662d8c16a50fa85f87978a586;hp=1c43f1287648d4ef48d3fef5f0a15e41e54c1e7d;hpb=412db94945c5db5d2da918f5e23bd3abcecc4d10;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingDOMDataBrokerAdapter.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingDOMDataBrokerAdapter.java index 1c43f12876..7b4c5495d6 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingDOMDataBrokerAdapter.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingDOMDataBrokerAdapter.java @@ -7,7 +7,6 @@ */ package org.opendaylight.controller.md.sal.binding.impl; - import com.google.common.collect.ClassToInstanceMap; import com.google.common.collect.ImmutableSet; import java.util.Set; @@ -32,28 +31,20 @@ import org.opendaylight.yangtools.yang.binding.DataObject; * All transactions and listener registrations are wrapped by the DataBrokerImpl * to allow binding aware components to use the DataBroker transparently. * + *

* 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, DataTreeChangeService { - - - static final Factory BUILDER_FACTORY = new BindingDOMAdapterBuilder.Factory() { - - @Override - public BindingDOMAdapterBuilder newBuilder() { - return new Builder(); - } - - }; +public class BindingDOMDataBrokerAdapter extends AbstractForwardedDataBroker + implements DataBroker, DataTreeChangeService { + static final Factory 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; @@ -81,6 +72,11 @@ public class BindingDOMDataBrokerAdapter extends AbstractForwardedDataBroker imp return new BindingDOMTransactionChainAdapter(getDelegate(), getCodec(), listener); } + @Override + public String toString() { + return "BindingDOMDataBrokerAdapter for " + getDelegate(); + } + private static class Builder extends BindingDOMAdapterBuilder { @Override @@ -98,12 +94,11 @@ public class BindingDOMDataBrokerAdapter extends AbstractForwardedDataBroker imp } @Override - public > ListenerRegistration registerDataTreeChangeListener( - final DataTreeIdentifier treeId, final L listener) { - if(treeChangeService == null) { + public > ListenerRegistration + registerDataTreeChangeListener(final DataTreeIdentifier treeId, final L listener) { + if (treeChangeService == null) { throw new UnsupportedOperationException("Underlying data broker does not expose DOMDataTreeChangeService."); } return treeChangeService.registerDataTreeChangeListener(treeId, listener); } - }