in src/main/java/org/apache/sling/feature/cpconverter/repoinit/createpath/CreatePathSegmentProcessor.java [47:73]
public static boolean processSegments(@NotNull RepoPath path, @NotNull Collection<VaultPackageAssembler> packageAssemblers, @NotNull CreatePath cp) {
String repositoryPath = "";
boolean foundType = false;
for (final String part : path.getSegments()) {
final String platformName = PlatformNameFormat.getPlatformName(part);
repositoryPath = repositoryPath.concat(ConverterConstants.SLASH).concat(platformName);
boolean segmentAdded = false;
//loop all package assemblers and check if .content.xml is defined
for (VaultPackageAssembler packageAssembler : packageAssemblers) {
File currentContent = packageAssembler.getFileEntry(repositoryPath.concat(ConverterConstants.SLASH).concat(DOT_CONTENT_XML));
if (currentContent.exists() && currentContent.isFile()) {
//add segment if jcr:primaryType is defined.
segmentAdded = addSegment(cp, part, currentContent);
if (segmentAdded) {
foundType = true;
break;
}
}
}
if (!segmentAdded) {
//use sling:Folder (defined by repo-init runtime module)
cp.addSegment(part, null);
}
}
return foundType;
}