- /**
- * We are subscribed to our target leaf, but that is a wildcard:
- * /bgp-rib/rib/peer/peer-role
- *
- * MD-SAL assumption: we are getting one {@link DataTreeCandidate} for each expanded
- * wildcard path, so are searching for a particular key.
- */
- private final class PeerRoleListener implements DOMDataTreeChangeListener {
-
- @Override
- public void onDataTreeChanged(final Collection<DataTreeCandidate> changes) {
- LOG.debug("Data Changed for Peer role {}", changes);
- for (final DataTreeCandidate tc : changes) {
- // Obtain the peer's path
- final YangInstanceIdentifier peerPath = IdentifierUtils.peerPath(tc.getRootPath());
-
- // Check for removal
- final Optional<NormalizedNode<?, ?>> maybePeerRole = tc.getRootNode().getDataAfter();
- final PeerRole role;
- if (maybePeerRole.isPresent()) {
- final LeafNode<?> peerRoleLeaf = (LeafNode<?>) maybePeerRole.get();
- // We could go for a coded, but his is simpler and faster
- role = PeerRole.valueOf(BindingMapping.getClassName((String) peerRoleLeaf.getValue()));
- } else {
- role = null;
- }
-
- peerRoleChanged(peerPath, role);
- }
+ public void onDataTreeChanged(final DataTreeCandidateNode change, final YangInstanceIdentifier peerPath) {
+ LOG.debug("Data Changed for Peer role {} path {}", change, peerPath);
+
+ // Check for removal
+ final Optional<NormalizedNode<?, ?>> maybePeerRole = change.getDataAfter();
+ final PeerRole role;
+ if (maybePeerRole.isPresent()) {
+ final LeafNode<?> peerRoleLeaf = (LeafNode<?>) maybePeerRole.get();
+ // We could go for a codec, but this is simpler and faster
+ role = PeerRole.valueOf(BindingMapping.getClassName((String) peerRoleLeaf.getValue()));
+ } else {
+ role = null;