in src/main/java/org/apache/sling/models/impl/via/ChildResourceViaProvider.java [41:63]
public Object getAdaptable(Object original, String value) {
if (StringUtils.isBlank(value)) {
return ORIGINAL;
}
if (original instanceof Resource) {
return ((Resource) original).getChild(value);
} else if (original instanceof SlingHttpServletRequest) {
final SlingHttpServletRequest request = (SlingHttpServletRequest) original;
final Resource resource = request.getResource();
if (resource == null) {
return null;
}
Resource child = resource.getChild(value);
if (child == null) {
log.debug("Could not obtain child {} of resource {}", value, resource.getPath());
return null;
}
return new ChildResourceRequestWrapper(request, child);
} else {
log.warn("Received unexpected adaptable of type {}.", original.getClass().getName());
return null;
}
}