LOG.debug("Skipping unmodified route {}", route.getIdentifier());
continue;
case DELETE:
+ case DISAPPEARED:
// FIXME: we can batch deletions into a single batch
update = withdraw((MapEntryNode) route.getDataBefore().get());
break;
+ case APPEARED:
case SUBTREE_MODIFIED:
case WRITE:
update = advertise((MapEntryNode) route.getDataAfter().get());
final YangInstanceIdentifier routeId = ribSupport.routePath(routesPath, route.getIdentifier());
switch (route.getModificationType()) {
case DELETE:
+ case DISAPPEARED:
tx.delete(LogicalDatastoreType.OPERATIONAL, routeId);
break;
case UNMODIFIED:
// No-op
break;
+ case APPEARED:
case SUBTREE_MODIFIED:
case WRITE:
tx.put(LogicalDatastoreType.OPERATIONAL, routeId, route.getDataAfter().get());
final YangInstanceIdentifier childPath = tablePath.node(child.getIdentifier());
switch (child.getModificationType()) {
case DELETE:
+ case DISAPPEARED:
tx.delete(LogicalDatastoreType.OPERATIONAL, tablePath.node(child.getIdentifier()));
break;
case UNMODIFIED:
tx.put(LogicalDatastoreType.OPERATIONAL, childPath, child.getDataAfter().get());
}
break;
+ case APPEARED:
case WRITE:
tx.put(LogicalDatastoreType.OPERATIONAL, childPath, child.getDataAfter().get());
// Routes are special, as they may end up being filtered. The previous put conveniently
switch (root.getModificationType()) {
case DELETE:
+ case DISAPPEARED:
// delete the corresponding effective table
tx.delete(LogicalDatastoreType.OPERATIONAL, effectiveTablePath(peerKey, tableKey));
break;
case UNMODIFIED:
LOG.info("Ignoring spurious notification on {} data {}", rootPath, table);
break;
+ case APPEARED:
case WRITE:
writeTable(tx, peerKey, tableKey, table);
break;