@Override protected boolean isKnown(final Collection<SourceIdentifier> haystack, final ModuleImport mi) { final SemVerSourceIdentifier msi = SemVerSourceIdentifier.create(mi.getModuleName(), mi.getRevision(), mi.getSemanticVersion().orElse(null)); // Quick lookup if (haystack.contains(msi)) { return true; } // Slow revision-less walk return findCompatibleVersion(haystack, mi) != null; }
@Override protected boolean isKnown(final Collection<SourceIdentifier> haystack, final ModuleImport mi) { final SemVerSourceIdentifier msi = SemVerSourceIdentifier.create(mi.getModuleName(), mi.getRevision(), mi.getSemanticVersion().orElse(null)); // Quick lookup if (haystack.contains(msi)) { return true; } // Slow revision-less walk return findCompatibleVersion(haystack, mi) != null; }
protected static SourceIdentifier findCompatibleVersion(final Iterable<SourceIdentifier> haystack, final ModuleImport mi) { final String requestedModuleName = mi.getModuleName(); for (SourceIdentifier r : haystack) { if (requestedModuleName.equals(r.getName()) && isCompatible(((SemVerSourceIdentifier) r).getSemanticVersion(), mi.getSemanticVersion())) { return r; } } return null; }
protected static SourceIdentifier findCompatibleVersion(final Iterable<SourceIdentifier> haystack, final ModuleImport mi) { final String requestedModuleName = mi.getModuleName(); for (SourceIdentifier r : haystack) { if (requestedModuleName.equals(r.getName()) && isCompatible(((SemVerSourceIdentifier) r).getSemanticVersion(), mi.getSemanticVersion())) { return r; } } return null; }