in src/main/java/org/apache/sling/thumbnails/internal/models/RenderedResourceImpl.java [49:73]
public RenderedResourceImpl(@Self SlingHttpServletRequest request,
@OSGiService ConfigurationResourceResolver configResourceResolver,
@OSGiService RenditionSupport renditionSupport, @OSGiService ThumbnailSupport thumbnailSupport) {
Resource resource = Optional.ofNullable(request.getResourceResolver().getResource(request.getParameter("src")))
.orElse(request.getRequestPathInfo().getSuffixResource());
Resource contextResource = request.getRequestPathInfo().getSuffixResource();
if (thumbnailSupport.getPersistableTypes().contains(resource.getResourceType())) {
this.renditions = renditionSupport.listRenditions(resource);
this.renditionsPath = thumbnailSupport.getRenditionPath(resource.getResourceType());
} else {
this.renditions = Collections.emptyList();
this.renditionsPath = null;
}
Collection<Resource> transformationResources = configResourceResolver.getResourceCollection(contextResource,
"files", "transformations");
availableTransformations = transformationResources.stream().map(r -> r.adaptTo(Transformation.class))
.collect(Collectors.toList());
supportedRenditions = availableTransformations.stream().map(Transformation::getName)
.collect(Collectors.toList());
renditions.stream().filter(r -> !supportedRenditions.contains(StringUtils.substringBefore(r.getName(), ".")))
.map(Resource::getName).forEach(supportedRenditions::add);
}