protected DistributionPackage createPackageForAdd()

in src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java [85:119]


    protected DistributionPackage createPackageForAdd(@NotNull ResourceResolver resourceResolver, @NotNull final DistributionRequest request) throws DistributionException {
        DistributionPackage distributionPackage;
        OutputStream outputStream = null;
        String digestMessage = null;

        final File file;

        try {
            file = File.createTempFile("distrpck-create-" + randomUUID(), "." + getType(), tempDirectory);
            if (digestAlgorithm != null) {
                outputStream = openDigestOutputStream(new FileOutputStream(file), digestAlgorithm);
            } else {
                outputStream = new FileOutputStream(file);
            }

            final DistributionExportFilter filter = distributionContentSerializer.isRequestFiltering() ? null : DistributionExportFilter.createFilter(request, nodeFilters, propertyFilters);
            DistributionExportOptions distributionExportOptions = new DistributionExportOptions(request, filter);
            distributionContentSerializer.exportToStream(resourceResolver, distributionExportOptions, outputStream);
            outputStream.flush();

            if (digestAlgorithm != null) {
                digestMessage = readDigestMessage((DigestOutputStream) outputStream);
            }
            DistributionPackageInfo info = new DistributionPackageInfo(getType());
            DistributionPackageUtils.fillInfo(info, request);
            distributionPackage = new FileDistributionPackage(file, getType(), digestAlgorithm, digestMessage,
                    info);
        } catch (IOException e) {
            throw new DistributionException(e);
        } finally {
            IOUtils.closeQuietly(outputStream);
        }

        return distributionPackage;
    }