protected Iterator computeOutput()

in src/main/java/org/apache/sling/pipes/internal/PathPipe.java [77:101]


    protected Iterator<Resource> computeOutput() {
        Iterator<Resource> output = Collections.emptyIterator();
        String expr = getExpr();
        try {
            String path = isRootPath(expr) ? expr : getInput().getPath() + SLASH + expr;
            logger.info("creating path {}", path);
            boolean modified = resolver.getResource(path) == null;
            if (!isDryRun()) {
                if (StringUtils.isNotBlank(nodeType)) {
                    //in that case we are in a "JCR" mode
                    JcrUtils.getOrCreateByPath(path, intermediateType, nodeType, resolver.adaptTo(Session.class), autosave);
                } else {
                    ResourceUtil.getOrCreateResource(resolver, path, resourceType, intermediateType, autosave);
                }
                Resource resource = resolver.getResource(path);
                if (modified && resource != null) {
                    plumber.markWithJcrLastModified(this, resource);
                }
                output = Collections.singleton(resource).iterator();
            }
        } catch (PersistenceException | RepositoryException e) {
            logger.error ("Not able to create path {}", expr, e);
        }
        return output;
    }