@Override public Collection<Capability> findProviders(Requirement req) { if (req == null) throw MESSAGES.illegalArgumentNull("req"); // Try to find the providers in the storage List<Capability> providers = new ArrayList<Capability>(); providers.addAll(storage.findProviders(req)); // Try to find the providers in the delegates if (providers.isEmpty()) { for (XRepository delegate : delegates) { Collection<Capability> caps = delegate.findProviders(req); if (!caps.isEmpty()) { // Add the delegate resources to the storage for (Capability cap : caps) { XResource res = (XResource) cap.getResource(); XIdentityCapability icap = res.getIdentityCapability(); XResource storageResource = storage.getResource(icap); if (storageResource == null) { storageResource = storage.addResource(res); } providers.add(storageResource.getIdentityCapability()); } break; } } } return Collections.unmodifiableList(providers); }
MavenCoordinates mavenId = MavenCoordinates.parse(identifier); Requirement req = XRequirementBuilder.create(mavenId).getRequirement(); Collection<Capability> caps = repository.findProviders(req); if (caps.isEmpty() == false) { XResource resource = (XResource) caps.iterator().next().getResource();
MavenCoordinates mavenId = MavenCoordinates.parse(identifier); Requirement req = XRequirementBuilder.create(mavenId).getRequirement(); Collection<Capability> caps = repository.findProviders(req); if (caps.isEmpty() == false) { XResource resource = (XResource) caps.iterator().next().getResource();