public List findProviders()

in src/main/java/org/apache/sling/feature/resolver/impl/ResolveContextImpl.java [58:76]


    public List<Capability> findProviders(Requirement requirement) {
        List<Capability> providers = new ArrayList<>();

        String f = requirement.getDirectives().get("filter");
        try {
            Filter filter = FrameworkUtil.createFilter(f);
            for (Resource r : availableResources) {
                for (Capability c : r.getCapabilities(requirement.getNamespace())) {
                    if (filter.matches(c.getAttributes())) {
                        providers.add(c);
                    }
                }
            }
        } catch (InvalidSyntaxException e) {
            throw new RuntimeException("Invalid filter " + f + " in requirement " + requirement);
        }

        return providers;
    }