in src/main/java/org/apache/sling/discovery/oak/OakDiscoveryService.java [667:690]
public void checkForTopologyChange() {
viewStateManagerLock.lock();
try {
if (!activated) {
logger.debug("checkForTopologyChange: not yet activated, ignoring");
return;
}
DefaultTopologyView t = (DefaultTopologyView) getTopology();
if (t.isCurrent()) {
// if we have a valid view, let the viewStateManager do the
// comparison and sending of an event, if necessary
viewStateManager.handleNewView(t);
setOldView(t);
} else {
// if we don't have a view, then we might have to send
// a CHANGING event, let that be decided by the viewStateManager as well
viewStateManager.handleChanging();
}
} finally {
if (viewStateManagerLock != null) {
viewStateManagerLock.unlock();
}
}
}