public void setRendition()

in src/main/java/org/apache/sling/thumbnails/internal/RenditionSupportImpl.java [94:114]


    public void setRendition(@NotNull Resource file, @NotNull String renditionName, @NotNull InputStream contents)
            throws PersistenceException {
        if (renditionName.indexOf("/") != 0) {
            renditionName = "/" + renditionName;
        }
        try (ResourceResolver serviceResolver = transformationServiceUser.getTransformationServiceUser()) {

            Resource renditionFile = ResourceUtil.getOrCreateResource(serviceResolver,
                    file.getPath() + "/" + thumbnailSupport.getRenditionPath(file.getResourceType()) + renditionName,
                    Collections.singletonMap(JcrConstants.JCR_PRIMARYTYPE, JcrConstants.NT_FILE),
                    JcrConstants.NT_UNSTRUCTURED, false);
            Map<String, Object> properties = new HashMap<>();
            properties.put(JcrConstants.JCR_PRIMARYTYPE, JcrConstants.NT_UNSTRUCTURED);
            properties.put(JcrConstants.JCR_DATA, contents);
            ResourceUtil.getOrCreateResource(serviceResolver, renditionFile.getPath() + "/" + JcrConstants.JCR_CONTENT,
                    properties, JcrConstants.NT_UNSTRUCTURED, true);
        } catch (LoginException le) {
            throw new PersistenceException("Could not save due to LoginException", le);
        }

    }