protected void processSubPackage()

in src/main/java/org/apache/sling/feature/cpconverter/handlers/VersionResolverContentPackageEntryHandler.java [42:76]


    protected void processSubPackage(@NotNull String path, @Nullable String runMode, @NotNull VaultPackage contentPackage, @NotNull ContentPackage2FeatureModelConverter converter, boolean isEmbeddedPackage)
            throws IOException, ConverterException {

        boolean addPackage;
        PackageId currentId = contentPackage.getId();

        logger.info("Checking if other {}:{} content-package versions were handled already", currentId.getGroup(), currentId.getName());

        PackageId olderId = getPackage(currentId);

        if (olderId != null) {
            logger.info("Comparing {}:{} package versions: current one is {}, previous one is {} ",
                        currentId.getGroup(), currentId.getName(), currentId.getVersionString(), olderId.getVersionString());

            addPackage = currentId.compareTo(olderId) > 0;

            if (addPackage) {
                logger.info("Replacing version {} of content-package {}:{} with version {}",
                            olderId.getVersionString(), currentId.getGroup(), currentId.getName(), currentId.getVersionString());

                subContentPackages.remove(olderId);
            }
        } else {
            logger.info("There were not other version of {}:{} content-package", currentId.getGroup(), currentId.getName());

            addPackage = true;
        }

        if (addPackage) {
            subContentPackages.put(currentId, path);

            // iteratively traverse the sub(-sub)*content-packages
            scanner.traverse(contentPackage, runMode);
        }
    }