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]