import java.util.Collection;
import java.util.Map;
-import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
import org.opendaylight.yangtools.yang.model.api.source.SourceDependency;
import org.opendaylight.yangtools.yang.model.api.source.SourceIdentifier;
import org.opendaylight.yangtools.yang.model.spi.source.SourceInfo;
// Quick lookup
return haystack.contains(new SourceIdentifier(dependency.name(), dependency.revision()))
// Slow revision-less walk
- || dependency.revision() == null && findWildcard(haystack, dependency.name()) != null;
- }
-
- private static SourceIdentifier findWildcard(final Collection<SourceIdentifier> haystack,
- final Unqualified needle) {
- for (var sourceId : haystack) {
- if (needle.equals(sourceId.name())) {
- return sourceId;
- }
- }
- return null;
+ || dependency.revision() == null && haystack.stream().anyMatch(dependency::isSatisfiedBy);
}
}
\ No newline at end of file