in src/main/java/org/apache/sling/nosql/generic/resource/impl/NoSqlResourceProvider.java [157:184]
public void delete(ResourceResolver resolver, String path) throws PersistenceException {
if (ROOT_PATH.equals(path) || !adapter.validPath(path)) {
throw new PersistenceException("Unable to delete resource at {}" + path, null, path, null);
}
Pattern pathsToDeletePattern = PathUtil.getSameOrDescendantPathPattern(path);
// remove all existing path and probably descendant paths from list of deleted paths
Iterator<String> deletedResourcesIterator = deletedResources.iterator();
while (deletedResourcesIterator.hasNext()) {
String deletedPath = deletedResourcesIterator.next();
if (pathsToDeletePattern.matcher(deletedPath).matches()) {
deletedResourcesIterator.remove();
}
}
// remove all changed descendant items from changeset
Iterator<Map.Entry<String, NoSqlData>> changeResourcesIterator = changedResources.entrySet().iterator();
while (changeResourcesIterator.hasNext()) {
Map.Entry<String, NoSqlData> entry = changeResourcesIterator.next();
if (pathsToDeletePattern.matcher(entry.getKey()).matches()) {
changeResourcesIterator.remove();
}
}
// add path to delete
deletedResources.add(path);
}