private ExtendedResourceHolder getAllResources()

in src/main/java/org/apache/sling/resourcemerger/impl/CRUDMergingResourceProvider.java [58:91]


    private ExtendedResourceHolder getAllResources(final ResourceResolver resolver,
            final String path,
            final String relativePath) {
        final ExtendedResourceHolder holder = new ExtendedResourceHolder(ResourceUtil.getName(path));

        holder.count = 0;

        // Loop over resources
        boolean isUnderlying = true;
        final Iterator<Resource> iter = this.picker.pickResources(resolver, relativePath, null).iterator();
        while ( iter.hasNext() ) {
            final Resource rsrc = iter.next();
            holder.count++;
            holder.highestResourcePath = rsrc.getPath();

            final boolean hidden;
            if (isUnderlying) {
                isUnderlying = false;
                hidden = false;
            } else {
                // check parent for hiding
                // SLING 3521 : if parent is not readable, nothing is hidden
                final Resource parent = rsrc.getParent();
                hidden = (parent == null ? false : new ResourceHidingHandler(parent, this.traverseHierarchie).isHidden(holder.name, true));
            }
            if (hidden) {
                holder.resources.clear();
            } else if (!ResourceUtil.isNonExistingResource(rsrc)) {
                holder.resources.add(rsrc);
            }
        }

        return holder;
    }