cstamas commented on code in PR #2008:
URL: https://github.com/apache/maven-resolver/pull/2008#discussion_r3644929254


##########
maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemValidator.java:
##########
@@ -89,19 +106,21 @@ public void validateVersionRequest(RepositorySystemSession 
session, VersionReque
     @Override
     public void validateVersionRangeRequest(RepositorySystemSession session, 
VersionRangeRequest request) {
         ArrayList<Exception> exceptions = new ArrayList<>();
-        for (ValidatorFactory factory : validatorFactories) {
-            Validator validator = factory.newInstance(session);
-            try {
-                validator.validateArtifact(request.getArtifact());
-            } catch (Exception e) {
-                exceptions.add(e);
-            }
-            for (RemoteRepository repository : request.getRepositories()) {
+        for (Map.Entry<String, ValidatorFactory> entry : 
validatorFactories.entrySet()) {
+            Validator validator = newInstance(session, entry.getKey(), 
entry.getValue());
+            if (validator != ValidatorFactory.NOOP) {

Review Comment:
   Well, am leaving it as it is not hurting. OTOH, with today's app frameworks 
we at least avoid busy-looping (and calling no-op method) over thousands of 
managed deps... 



##########
maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemValidator.java:
##########
@@ -50,10 +53,11 @@
 @Singleton
 @Named
 public class DefaultRepositorySystemValidator implements 
RepositorySystemValidator {
-    private final List<ValidatorFactory> validatorFactories;
+    private static final Object SESSION_VALIDATORS = 
Keys.of(DefaultRepositorySystemValidator.class, "validators");
+    private final Map<String, ValidatorFactory> validatorFactories;

Review Comment:
   See "What is Sisu" here https://eclipse.dev/sisu/org.eclipse.sisu.inject/
   
   This is most common technique to have injected "variations" (or qualified 
beans) for same (component) contract.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to