void addRepoinitExtension()

in src/main/java/org/apache/sling/feature/cpconverter/handlers/slinginitialcontent/ParentFolderRepoInitHandler.java [72:105]


    void addRepoinitExtension(@NotNull List<VaultPackageAssembler> assemblers,
                              @NotNull FeaturesManager featureManager) throws IOException, ConverterException {

        try (Formatter formatter = new Formatter()) {
            parentFolderPaths.stream()
                    .filter(entry -> parentFolderPaths.stream()
                            .noneMatch(other -> !other.equals(
                                    entry) &&
                                    other.startsWith(entry)
                            )
                    )
                    .filter(entry ->
                            !entry.isRepositoryPath()
                    )
                    .map(entry ->
                            // we want to make sure of all our entries that are repositoryPaths, 
                            // we create repoinit statements to create the parent folders with proper types.
                            // if we don't do this we will end up with constraintViolationExceptions.
                            getCreatePath(entry, assemblers)
                    )
                    .filter(Objects::nonNull)

                    .forEach(
                            createPath -> formatter.format("%s", createPath.asRepoInitString())
                    );

            String text = formatter.toString();

            if (!text.isEmpty()) {
                featureManager.addOrAppendRepoInitExtension("content-package", text, null);
            }
        }

    }