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;
}