void purge()

in src/main/java/org/apache/sling/pipes/internal/PlumberImpl.java [621:641]


    void purge(ResourceResolver resolver, Instant now, int maxDays) throws PersistenceException {
        final Collection<String> pipesToRemove = new ArrayList<>();
        AbstractResourceVisitor visitor = new AbstractResourceVisitor() {
            @Override
            protected void visit(Resource res) {
                Calendar cal = res.getValueMap().get(PN_STATUS_MODIFIED, Calendar.class);
                if (cal != null && ChronoUnit.DAYS.between(cal.toInstant(), now) > maxDays) {
                    pipesToRemove.add(res.getPath());
                }
            }
        };
        visitor.accept(resolver.getResource(PIPES_REPOSITORY_PATH));
        if (!pipesToRemove.isEmpty()) {
            log.info("about to remove {} pipe instances", pipesToRemove.size());
            for (String path : pipesToRemove) {
                cleanResourceAndEmptyParents(resolver.getResource(path));
            }
            resolver.commit();
            log.info("purge done.");
        }
    }