Bump upstreams
[bgpcep.git] / bgp / rib-impl / src / main / java / org / opendaylight / protocol / bgp / rib / impl / ApplicationPeer.java
index a021c6442f740d73ad1487d4301293a4f4f6ef15..e1759d8d5a26d9d77389ba3160b1c730c33c6ef9 100644 (file)
@@ -29,9 +29,8 @@ import java.util.Set;
 import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.dom.api.ClusteredDOMDataTreeChangeListener;
-import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService;
+import org.opendaylight.mdsal.dom.api.DOMDataBroker.DataTreeChangeExtension;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
-import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
 import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
 import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer;
@@ -51,7 +50,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.PeerRole;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.rib.TablesKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.RouteTarget;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
@@ -94,7 +92,7 @@ public class ApplicationPeer extends AbstractPeer implements ClusteredDOMDataTre
     private final BGPTableTypeRegistryConsumer tableTypeRegistry;
     private EffectiveRibInWriter effectiveRibInWriter;
     private AdjRibInWriter adjRibInWriter;
-    private ListenerRegistration<ApplicationPeer> registration;
+    private Registration registration;
     private final Set<NodeIdentifierWithPredicates> supportedTables = new HashSet<>();
     private final BGPSessionStateImpl bgpSessionState = new BGPSessionStateImpl();
     private Registration trackerRegistration;
@@ -128,7 +126,7 @@ public class ApplicationPeer extends AbstractPeer implements ClusteredDOMDataTre
         peerRibOutIId = peerRib.node(ADJRIBOUT_NID).node(TABLES_NID).toOptimized();
     }
 
-    public synchronized void instantiateServiceInstance(final DOMDataTreeChangeService dataTreeChangeService,
+    public synchronized void instantiateServiceInstance(final DataTreeChangeExtension dataTreeChangeService,
             final DOMDataTreeIdentifier appPeerDOMId) {
         setActive(true);
         final var localTables = rib.getLocalTablesKeys();
@@ -148,16 +146,19 @@ public class ApplicationPeer extends AbstractPeer implements ClusteredDOMDataTre
         final RegisterAppPeerListener registerAppPeerListener = () -> {
             synchronized (this) {
                 if (getDomChain() != null) {
-                    registration = dataTreeChangeService.registerDataTreeChangeListener(appPeerDOMId, this);
+                    registration = dataTreeChangeService.registerTreeChangeListener(appPeerDOMId, this);
                 }
             }
         };
         peerPath = createPeerPath(peerId);
         adjRibInWriter = adjRibInWriter.transform(peerId, peerPath, context, localTables,
                 Map.of(), registerAppPeerListener);
-        effectiveRibInWriter = new EffectiveRibInWriter(this, rib,
-                rib.createPeerDOMChain(this), peerPath, localTables, tableTypeRegistry,
-                new ArrayList<>(), rtCache);
+
+        final var chain = rib.createPeerDOMChain();
+        chain.addCallback(this);
+
+        effectiveRibInWriter = new EffectiveRibInWriter(this, rib, chain, peerPath, localTables, tableTypeRegistry,
+            new ArrayList<>(), rtCache);
         effectiveRibInWriter.init();
         bgpSessionState.registerMessagesCounter(this);
         trackerRegistration = rib.getPeerTracker().registerPeer(this);
@@ -331,9 +332,8 @@ public class ApplicationPeer extends AbstractPeer implements ClusteredDOMDataTre
     }
 
     @Override
-    public void onTransactionChainFailed(final DOMTransactionChain chain, final DOMDataTreeTransaction transaction,
-            final Throwable cause) {
-        LOG.error("Transaction chain {} failed.", transaction != null ? transaction.getIdentifier() : null, cause);
+    public void onFailure(final Throwable cause) {
+        LOG.error("Transaction chain failed.", cause);
     }
 
     @Override