in src/main/java/org/apache/sling/nosql/generic/resource/impl/NoSqlResourceProvider.java [69:94]
public Resource getResource(ResourceResolver resourceResolver, String path) {
if (!adapter.validPath(path)) {
return null;
}
if (!this.deletedResources.isEmpty()) {
for (String deletedPath : deletedResources) {
Pattern deletedPathPattern = PathUtil.getSameOrDescendantPathPattern(deletedPath);
if (deletedPathPattern.matcher(path).matches()) {
return null;
}
}
}
if (this.changedResources.containsKey(path)) {
return new NoSqlResource(this.changedResources.get(path), resourceResolver, this);
}
NoSqlData data = adapter.get(path);
if (data != null) {
return new NoSqlResource(data, resourceResolver, this);
}
else if (ROOT_PATH.equals(path)) {
// root path exists implicitly - bot not yet in nosql store - return a "virtual" resource until something is stored in it
NoSqlData rootData = new NoSqlData(ROOT_PATH, new HashMap<String, Object>());
return new NoSqlResource(rootData, resourceResolver, this);
}
return null;
}