in src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java [881:917]
private boolean handleResourceChange(ResourceChange.ChangeType type, String path, AtomicBoolean resolverRefreshed,
AtomicBoolean hasReloadedConfig) {
boolean changed = false;
// removal of a resource is handled differently
if (type == ResourceChange.ChangeType.REMOVED) {
final Boolean result = handleConfigurationUpdate(path, hasReloadedConfig, resolverRefreshed, true);
if (result != null) {
if (result) {
changed = true;
} else {
changed |= removeResource(path, resolverRefreshed);
}
}
// session.move() is handled differently see also SLING-3713 and
} else if (type == ResourceChange.ChangeType.ADDED) {
final Boolean result = handleConfigurationUpdate(path, hasReloadedConfig, resolverRefreshed, false);
if (result != null) {
if (result) {
changed = true;
} else {
changed |= addResource(path, resolverRefreshed);
}
}
} else if (type == ResourceChange.ChangeType.CHANGED) {
final Boolean result = handleConfigurationUpdate(path, hasReloadedConfig, resolverRefreshed, false);
if (result != null) {
if (result) {
changed = true;
} else {
changed |= updateResource(path, resolverRefreshed);
}
}
}
return changed;
}