in src/main/java/org/apache/sling/servlets/post/AbstractPostOperation.java [592:638]
private Resource seek() {
if (resourceIterator != null) {
if (resourceIterator.hasNext()) {
//return the next resource in the iterator
Resource res = resourceIterator.next();
return res;
}
resourceIterator = null;
}
while (pathIndex < paths.length) {
String path = paths[pathIndex];
pathIndex++;
//SLING-2415 - support wildcard as the last segment of the applyTo path
if (path.endsWith("*")) {
if (path.length() == 1) {
resourceIterator = baseResource.listChildren();
} else if (path.endsWith("/*")) {
path = path.substring(0, path.length() - 2);
if (path.length() == 0) {
resourceIterator = baseResource.listChildren();
} else {
Resource res = resolver.getResource(baseResource, path);
if (res != null) {
resourceIterator = res.listChildren();
}
}
}
if (resourceIterator != null) {
//return the first resource in the iterator
if (resourceIterator.hasNext()) {
Resource res = resourceIterator.next();
return res;
}
resourceIterator = null;
}
} else {
Resource res = resolver.getResource(baseResource, path);
if (res != null) {
return res;
}
}
}
// no more elements in the array
return null;
}