public void run()

in src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageCleanup.java [54:86]


    public void run () {
        log.debug("Cleaning up {} packages", packageBuilder.getType());
        ResourceResolver serviceResolver = null;
        try {
            int deleted = 0, total = 0;
            serviceResolver = resolverFactory.getServiceResourceResolver(null);
            for (Iterator<ResourceDistributionPackage> pkgs = packageBuilder.getPackages(serviceResolver) ; pkgs.hasNext() ; total++) {
                ResourceDistributionPackage pkg = pkgs.next();
                if (pkg.disposable()) {
                    log.debug("Delete package {}", pkg.getId());
                    deleted++;
                    pkg.delete(false);
                } else {
                    log.debug("package {} is not disposable", pkg.getId());
                }
            }
            if (serviceResolver.hasChanges()) {
                serviceResolver.commit();
            }
            log.debug("Cleaned up {}/{} {} packages",
                    deleted, total, packageBuilder.getType());
        } catch (LoginException e) {
            log.error("Failed to get distribution service resolver: {}", e.getMessage());
        } catch (DistributionException e) {
            log.error("Failed to get the list of packages", e);
        } catch (PersistenceException e) {
            log.error("Failed to delete disposable packages", e);
        } finally {
            if (serviceResolver != null && serviceResolver.isLive()) {
                serviceResolver.close();
            }
        }
    }