public Set<Capability> match(SimpleFilter sf, boolean obeyMandatory) { Set<Capability> matches = match(capSet, sf); return obeyMandatory ? matchMandatory(matches, sf) : matches; }
private boolean hasResource(String type, String name, Version version) { CapabilitySet set = capSets.get(IDENTITY_NAMESPACE); if (set != null) { Map<String, Object> attrs = new HashMap<>(); attrs.put(CAPABILITY_TYPE_ATTRIBUTE, type); attrs.put(IDENTITY_NAMESPACE, name); attrs.put(CAPABILITY_VERSION_ATTRIBUTE, version); SimpleFilter sf = SimpleFilter.convert(attrs); return !set.match(sf, true).isEmpty(); } else { return false; } }
private boolean hasResource(String type, String name, Version version) { CapabilitySet set = capSets.get(IDENTITY_NAMESPACE); if (set != null) { Map<String, Object> attrs = new HashMap<>(); attrs.put(CAPABILITY_TYPE_ATTRIBUTE, type); attrs.put(IDENTITY_NAMESPACE, name); attrs.put(CAPABILITY_VERSION_ATTRIBUTE, version); SimpleFilter sf = SimpleFilter.convert(attrs); return !set.match(sf, true).isEmpty(); } else { return false; } }
public Set<Capability> match(SimpleFilter sf, boolean obeyMandatory) { Set<Capability> matches = match(capSet, sf); return obeyMandatory ? matchMandatory(matches, sf) : matches; }
@SuppressWarnings("unchecked") private static <T extends Resource> Set<T> collectDependencies(T resource, CapabilitySet capSet) { Set<T> result = new LinkedHashSet<>(); for (Requirement requirement : resource.getRequirements(null)) { String filter = requirement.getDirectives().get(Constants.FILTER_DIRECTIVE); SimpleFilter sf = (filter != null) ? SimpleFilter.parse(filter) : SimpleFilter.MATCH_ALL_FILTER; for (Capability cap : capSet.match(sf, true)) { result.add((T) cap.getResource()); } } return result; }
@Override public Map<Requirement, Collection<Capability>> findProviders(Collection<? extends Requirement> requirements) { Map<Requirement, Collection<Capability>> result = new HashMap<>(); for (Requirement requirement : requirements) { CapabilitySet set = capSets.get(requirement.getNamespace()); if (set != null) { SimpleFilter sf; if (requirement instanceof RequirementImpl) { sf = ((RequirementImpl) requirement).getFilter(); } else { String filter = requirement.getDirectives().get(Constants.FILTER_DIRECTIVE); sf = (filter != null) ? SimpleFilter.parse(filter) : SimpleFilter.MATCH_ALL_FILTER; } result.put(requirement, set.match(sf, true)); } else { result.put(requirement, Collections.<Capability>emptyList()); } } return result; } }
@Override public Map<Requirement, Collection<Capability>> findProviders(Collection<? extends Requirement> requirements) { Map<Requirement, Collection<Capability>> result = new HashMap<>(); for (Requirement requirement : requirements) { CapabilitySet set = capSets.get(requirement.getNamespace()); if (set != null) { SimpleFilter sf; if (requirement instanceof RequirementImpl) { sf = ((RequirementImpl) requirement).getFilter(); } else { String filter = requirement.getDirectives().get(Constants.FILTER_DIRECTIVE); sf = (filter != null) ? SimpleFilter.parse(filter) : SimpleFilter.MATCH_ALL_FILTER; } result.put(requirement, set.match(sf, true)); } else { result.put(requirement, Collections.<Capability>emptyList()); } } return result; } }