public void handle()

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