BUG-8733: Add ListenableDOMDataTreeShard
[mdsal.git] / dom / mdsal-dom-broker / src / main / java / org / opendaylight / mdsal / dom / broker / ShardedDOMDataTreeListenerContext.java
index 0c0b337f26f047cd9141687dc8796699801ed3cf..5713bece9bb86bcf03fb33ad3d5880fa3cc02c4f 100644 (file)
@@ -25,6 +25,7 @@ import org.opendaylight.yangtools.util.MapAdaptor;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
 
+@Deprecated
 class ShardedDOMDataTreeListenerContext<T extends DOMDataTreeListener> implements AutoCloseable {
 
     private final DOMDataTreeListener listener;
@@ -38,17 +39,15 @@ class ShardedDOMDataTreeListenerContext<T extends DOMDataTreeListener> implement
     @GuardedBy("this")
     private Map<DOMDataTreeIdentifier, NormalizedNode<?, ?>> currentData = Collections.emptyMap();
 
-    private ShardedDOMDataTreeListenerContext(T listener, Collection<DOMDataTreeIdentifier> subtrees,
-            boolean allowRxMerges) {
+    private ShardedDOMDataTreeListenerContext(final T listener) {
         for (LogicalDatastoreType type : LogicalDatastoreType.values()) {
             storeListeners.put(type, new StoreListener(type));
         }
         this.listener = Preconditions.checkNotNull(listener, "listener");
     }
 
-    static <T extends DOMDataTreeListener> ShardedDOMDataTreeListenerContext<T> create(final T listener,
-            final Collection<DOMDataTreeIdentifier> subtrees, final boolean allowRxMerges) {
-        return new ShardedDOMDataTreeListenerContext<>(listener, subtrees, allowRxMerges);
+    static <T extends DOMDataTreeListener> ShardedDOMDataTreeListenerContext<T> create(final T listener) {
+        return new ShardedDOMDataTreeListenerContext<>(listener);
     }
 
     synchronized void notifyListener() {
@@ -57,7 +56,7 @@ class ShardedDOMDataTreeListenerContext<T extends DOMDataTreeListener> implement
         listener.onDataTreeChanged(changesToNotify, currentData);
     }
 
-    void register(DOMDataTreeIdentifier subtree, DOMStoreTreeChangePublisher shard) {
+    void register(final DOMDataTreeIdentifier subtree, final DOMStoreTreeChangePublisher shard) {
         ListenerRegistration<?> storeReg =
                 shard.registerTreeChangeListener(subtree.getRootIdentifier(),
                         storeListeners.get(subtree.getDatastoreType()));
@@ -68,12 +67,12 @@ class ShardedDOMDataTreeListenerContext<T extends DOMDataTreeListener> implement
 
         private final LogicalDatastoreType type;
 
-        public StoreListener(LogicalDatastoreType type) {
+        StoreListener(final LogicalDatastoreType type) {
             this.type = type;
         }
 
         @Override
-        public void onDataTreeChanged(Collection<DataTreeCandidate> changes) {
+        public void onDataTreeChanged(final Collection<DataTreeCandidate> changes) {
             receivedDataTreeChanges(type, changes);
             scheduleNotification();
         }
@@ -82,7 +81,8 @@ class ShardedDOMDataTreeListenerContext<T extends DOMDataTreeListener> implement
 
     // FIXME: Should be able to run parallel to notifyListener and should honor
     // allowRxMerges
-    synchronized void receivedDataTreeChanges(LogicalDatastoreType type, Collection<DataTreeCandidate> changes) {
+    synchronized void receivedDataTreeChanges(final LogicalDatastoreType type,
+            final Collection<DataTreeCandidate> changes) {
         Map<DOMDataTreeIdentifier, NormalizedNode<?, ?>> updatedData =
                 MapAdaptor.getDefaultInstance().takeSnapshot(currentData);
         for (DataTreeCandidate change : changes) {