in compat/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java [649:715]
private void fireEvent(
int event,
List<ResolutionListener> listeners,
ResolutionNode node,
Artifact replacement,
VersionRange newRange) {
for (ResolutionListener listener : listeners) {
switch (event) {
case ResolutionListener.TEST_ARTIFACT:
listener.testArtifact(node.getArtifact());
break;
case ResolutionListener.PROCESS_CHILDREN:
listener.startProcessChildren(node.getArtifact());
break;
case ResolutionListener.FINISH_PROCESSING_CHILDREN:
listener.endProcessChildren(node.getArtifact());
break;
case ResolutionListener.INCLUDE_ARTIFACT:
listener.includeArtifact(node.getArtifact());
break;
case ResolutionListener.OMIT_FOR_NEARER:
listener.omitForNearer(node.getArtifact(), replacement);
break;
case ResolutionListener.OMIT_FOR_CYCLE:
listener.omitForCycle(node.getArtifact());
break;
case ResolutionListener.UPDATE_SCOPE:
listener.updateScope(node.getArtifact(), replacement.getScope());
break;
case ResolutionListener.UPDATE_SCOPE_CURRENT_POM:
listener.updateScopeCurrentPom(node.getArtifact(), replacement.getScope());
break;
case ResolutionListener.MANAGE_ARTIFACT_VERSION:
if (listener instanceof ResolutionListenerForDepMgmt asImpl) {
asImpl.manageArtifactVersion(node.getArtifact(), replacement);
} else {
listener.manageArtifact(node.getArtifact(), replacement);
}
break;
case ResolutionListener.MANAGE_ARTIFACT_SCOPE:
if (listener instanceof ResolutionListenerForDepMgmt asImpl) {
asImpl.manageArtifactScope(node.getArtifact(), replacement);
} else {
listener.manageArtifact(node.getArtifact(), replacement);
}
break;
case ResolutionListener.MANAGE_ARTIFACT_SYSTEM_PATH:
if (listener instanceof ResolutionListenerForDepMgmt asImpl) {
asImpl.manageArtifactSystemPath(node.getArtifact(), replacement);
} else {
listener.manageArtifact(node.getArtifact(), replacement);
}
break;
case ResolutionListener.SELECT_VERSION_FROM_RANGE:
listener.selectVersionFromRange(node.getArtifact());
break;
case ResolutionListener.RESTRICT_RANGE:
if (node.getArtifact().getVersionRange().hasRestrictions()
|| replacement.getVersionRange().hasRestrictions()) {
listener.restrictRange(node.getArtifact(), replacement, newRange);
}
break;
default:
throw new IllegalStateException("Unknown event: " + event);
}
}
}