Move createProxy()
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / java / org / opendaylight / controller / md / sal / binding / impl / BindingDOMDataBrokerAdapter.java
index f63db76b4fc1a106672e0c28e7c7f00cf60604a8..d94b6abbd88e7480f2d92468ac084589fef80a4e 100644 (file)
@@ -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;
@@ -25,34 +24,28 @@ import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
 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;
@@ -80,6 +73,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<DataBroker> {
 
         @Override
@@ -96,12 +94,12 @@ public class BindingDOMDataBrokerAdapter extends AbstractForwardedDataBroker imp
 
     }
 
-    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);
     }
-
 }