private VaultPackageAssembler lazyConstruct()

in src/main/java/org/apache/sling/feature/cpconverter/handlers/slinginitialcontent/AssemblerProvider.java [74:97]


    private VaultPackageAssembler lazyConstruct(@NotNull BundleSlingInitialContentExtractContext context,
                                                @NotNull String repositoryPath,
                                                @NotNull ArtifactId bundleArtifactId,
                                                @NotNull PackageType packageType) throws ConverterException {
        VaultPackageAssembler assembler = packageAssemblers.get(packageType);
        if (assembler == null) {
            final String packageNameSuffix;
            switch (packageType) {
                case APPLICATION:
                    packageNameSuffix = "-apps";
                    break;
                case CONTENT:
                    packageNameSuffix = "-content";
                    break;
                default:
                    throw new ConverterException("Unexpected package type " + packageType + " detected for path " + repositoryPath);
            }
            final PackageId packageId = new PackageId(bundleArtifactId.getGroupId(), bundleArtifactId.getArtifactId() + packageNameSuffix, bundleArtifactId.getVersion());
            assembler = VaultPackageAssembler.create(context.getConverter().getTempDirectory(), packageId, "Generated out of Sling Initial Content from bundle " + bundleArtifactId + " by cp2fm");
            packageAssemblers.put(packageType, assembler);
            logger.info("Created package {} out of Sling-Initial-Content from '{}'", packageId, bundleArtifactId);
        }
        return assembler;
    }