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);
}
}
}