Skip to content

Commit

Permalink
[MRESOLVER-519] Drop almost equal/same method copies (#452)
Browse files Browse the repository at this point in the history
And introduce one in parent class.
---

https://issues.apache.org/jira/browse/MRESOLVER-519
  • Loading branch information
cstamas authored Apr 1, 2024
1 parent 8b614a8 commit 9c1e29d
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 55 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,30 @@ protected static List<? extends Version> filterVersions(
return versions;
}

protected ArtifactDescriptorResult resolveCachedArtifactDescriptor(
DataPool pool,
ArtifactDescriptorRequest descriptorRequest,
RepositorySystemSession session,
Dependency d,
Results results,
List<DependencyNode> nodes) {
Object key = pool.toKey(descriptorRequest);
ArtifactDescriptorResult descriptorResult = pool.getDescriptor(key, descriptorRequest);
if (descriptorResult == null) {
try {
descriptorResult = descriptorReader.readArtifactDescriptor(session, descriptorRequest);
pool.putDescriptor(key, descriptorResult);
} catch (ArtifactDescriptorException e) {
results.addException(d, e, nodes);
pool.putDescriptor(key, e);
return null;
}
} else if (descriptorResult == DataPool.NO_DESCRIPTOR) {
return null;
}
return descriptorResult;
}

/**
* Helper class used during collection.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@
import org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate;
import org.eclipse.aether.internal.impl.collect.PremanagedDependency;
import org.eclipse.aether.repository.RemoteRepository;
import org.eclipse.aether.resolution.ArtifactDescriptorException;
import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
import org.eclipse.aether.resolution.ArtifactDescriptorResult;
import org.eclipse.aether.resolution.VersionRangeRequest;
Expand Down Expand Up @@ -467,32 +466,12 @@ private ArtifactDescriptorResult resolveDescriptorForVersion(
return isLackingDescriptor(args.session, newArtifact)
? new ArtifactDescriptorResult(descriptorRequest)
: resolveCachedArtifactDescriptor(
args.pool, descriptorRequest, args.session, newContext.withDependency(newDependency), results);
}

private ArtifactDescriptorResult resolveCachedArtifactDescriptor(
DataPool pool,
ArtifactDescriptorRequest descriptorRequest,
RepositorySystemSession session,
DependencyProcessingContext context,
Results results) {
Object key = pool.toKey(descriptorRequest);
ArtifactDescriptorResult descriptorResult = pool.getDescriptor(key, descriptorRequest);
if (descriptorResult == null) {
try {
descriptorResult = descriptorReader.readArtifactDescriptor(session, descriptorRequest);
pool.putDescriptor(key, descriptorResult);
} catch (ArtifactDescriptorException e) {
results.addException(context.dependency, e, context.parents);
pool.putDescriptor(key, e);
return null;
}

} else if (descriptorResult == DataPool.NO_DESCRIPTOR) {
return null;
}

return descriptorResult;
args.pool,
descriptorRequest,
args.session,
newContext.withDependency(newDependency).dependency,
results,
context.parents);
}

static class ParallelDescriptorResolver implements Closeable {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@
import org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate;
import org.eclipse.aether.internal.impl.collect.PremanagedDependency;
import org.eclipse.aether.repository.RemoteRepository;
import org.eclipse.aether.resolution.ArtifactDescriptorException;
import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
import org.eclipse.aether.resolution.ArtifactDescriptorResult;
import org.eclipse.aether.resolution.VersionRangeRequest;
Expand Down Expand Up @@ -368,33 +367,8 @@ private ArtifactDescriptorResult getArtifactDescriptorResult(
ArtifactDescriptorRequest descriptorRequest) {
return noDescriptor
? new ArtifactDescriptorResult(descriptorRequest)
: resolveCachedArtifactDescriptor(args.pool, descriptorRequest, args.session, d, results, args);
}

private ArtifactDescriptorResult resolveCachedArtifactDescriptor(
DataPool pool,
ArtifactDescriptorRequest descriptorRequest,
RepositorySystemSession session,
Dependency d,
Results results,
Args args) {
Object key = pool.toKey(descriptorRequest);
ArtifactDescriptorResult descriptorResult = pool.getDescriptor(key, descriptorRequest);
if (descriptorResult == null) {
try {
descriptorResult = descriptorReader.readArtifactDescriptor(session, descriptorRequest);
pool.putDescriptor(key, descriptorResult);
} catch (ArtifactDescriptorException e) {
results.addException(d, e, args.nodes.nodes);
pool.putDescriptor(key, e);
return null;
}

} else if (descriptorResult == DataPool.NO_DESCRIPTOR) {
return null;
}

return descriptorResult;
: resolveCachedArtifactDescriptor(
args.pool, descriptorRequest, args.session, d, results, args.nodes.nodes);
}

static class Args {
Expand Down

0 comments on commit 9c1e29d

Please sign in to comment.