- public DependencyResolver(final Collection<SourceIdentifier> resolvedSources,
- final Collection<SourceIdentifier> unresolvedSources, final Multimap<SourceIdentifier, ModuleImport> unsatisfiedImports) {
- this.resolvedSources = Preconditions.checkNotNull(resolvedSources);
- this.unresolvedSources = Preconditions.checkNotNull(unresolvedSources);
- this.unsatisfiedImports = Preconditions.checkNotNull(unsatisfiedImports);
- }
-
- private static SourceIdentifier findWildcard(final Iterable<SourceIdentifier> haystack, final String needle) {
- for (final SourceIdentifier r : haystack) {
- if (r.getName().equals(needle)) {
- return r;
- }
- }
-
- return null;
- }
-
- private static boolean isKnown(final Collection<SourceIdentifier> haystack, final ModuleImport mi) {
- final String rev = mi.getRevision() != null ? QName.formattedRevision(mi.getRevision()) : null;
- final SourceIdentifier msi = SourceIdentifier.create(mi.getModuleName(), Optional.fromNullable(rev));
-
- // Quick lookup
- if (haystack.contains(msi)) {
- return true;
- }
-
- // Slow revision-less walk
- return rev == null && findWildcard(haystack, mi.getModuleName()) != null;
- }
-
-
-
- public static DependencyResolver create(final Map<SourceIdentifier, YangModelDependencyInfo> depInfo) {