in src/main/java/org/apache/sling/feature/cpconverter/handlers/AbstractUserEntryHandler.java [45:65]
public void handle(@NotNull String path, @NotNull Archive archive, @NotNull Entry entry, @NotNull ContentPackage2FeatureModelConverter converter, String runMode)
throws IOException, ConverterException {
Matcher matcher = getPattern().matcher(path);
if (matcher.matches()) {
RepoPath originalPath = new RepoPath(PlatformNameFormat.getRepositoryPath(matcher.group(1)));
RepoPath intermediatePath = originalPath.getParent();
byte[] tmp = IOUtils.toByteArray((archive.openInputStream(entry)));
AbstractUserParser parser = createParser(converter, originalPath, intermediatePath);
boolean converted = parser.parse(new ByteArrayInputStream(tmp));
if (!converted && !path.contains(systemUserSegment) && converter.hasMainPackageAssembler()) {
// write back regular users, groups and their intermediate folders that did not get converted into
// repo-init statements to the content package
VaultPackageAssembler assembler = converter.getMainPackageAssembler();
try (InputStream input = new ByteArrayInputStream(tmp);
OutputStream output = assembler.createEntry(path)) {
IOUtils.copy(input, output);
}
}
}
}