This is an automated email from the ASF dual-hosted git repository.
cstamas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git
The following commit(s) were added to refs/heads/master by this push:
new f299b25d3 Remove hack from Basic connector (#1676)
f299b25d3 is described below
commit f299b25d31f20954497bb7f05249b351848ef7b4
Author: Tamas Cservenak <[email protected]>
AuthorDate: Thu Nov 20 16:26:08 2025 +0100
Remove hack from Basic connector (#1676)
Similar as in 1.9.x, but here the Executor may be null (threading and
pooling has been reworked) so we need to check for executor being non-null.
---
.../aether/connector/basic/BasicRepositoryConnector.java | 16 ++++------------
.../transport/apache/DeferredCredentialsProvider.java | 6 +++---
.../aether/transport/apache/SharingAuthCache.java | 15 +++++++++------
3 files changed, 16 insertions(+), 21 deletions(-)
diff --git
a/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java
b/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java
index fd2d51e93..7f76efa7a 100644
---
a/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java
+++
b/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java
@@ -217,8 +217,6 @@ final class BasicRepositoryConnector implements
RepositoryConnector {
RunnableErrorForwarder errorForwarder = new RunnableErrorForwarder();
List<ChecksumAlgorithmFactory> checksumAlgorithmFactories =
layout.getChecksumAlgorithmFactories();
- boolean first = true;
-
for (MetadataDownload transfer : safeMetadataDownloads) {
URI location = layout.getLocation(transfer.getMetadata(), false);
@@ -240,9 +238,8 @@ final class BasicRepositoryConnector implements
RepositoryConnector {
checksumLocations,
null,
listener);
- if (executor == null || first) {
+ if (executor == null) {
task.run();
- first = false;
} else {
executor.submit(errorForwarder.wrap(task));
}
@@ -285,9 +282,8 @@ final class BasicRepositoryConnector implements
RepositoryConnector {
providedChecksums,
listener);
}
- if (executor == null || first) {
+ if (executor == null) {
task.run();
- first = false;
} else {
executor.submit(errorForwarder.wrap(task));
}
@@ -309,8 +305,6 @@ final class BasicRepositoryConnector implements
RepositoryConnector {
getExecutor(false, parallelPut ? safeArtifactUploads.size() +
safeMetadataUploads.size() : 1);
RunnableErrorForwarder errorForwarder = new RunnableErrorForwarder();
- boolean first = true;
-
for (ArtifactUpload transfer : safeArtifactUploads) {
URI location = layout.getLocation(transfer.getArtifact(), true);
@@ -322,9 +316,8 @@ final class BasicRepositoryConnector implements
RepositoryConnector {
layout.getChecksumLocations(transfer.getArtifact(), true,
location);
Runnable task = new PutTaskRunner(location, transfer.getPath(),
checksumLocations, listener);
- if (executor == null || first) {
+ if (executor == null) {
task.run();
- first = false;
} else {
executor.submit(errorForwarder.wrap(task));
}
@@ -344,9 +337,8 @@ final class BasicRepositoryConnector implements
RepositoryConnector {
layout.getChecksumLocations(transfer.getMetadata(),
true, location);
Runnable task = new PutTaskRunner(location,
transfer.getPath(), checksumLocations, listener);
- if (executor == null || first) {
+ if (executor == null) {
task.run();
- first = false;
} else {
executor.submit(errorForwarder.wrap(task));
}
diff --git
a/maven-resolver-transport-apache/src/main/java/org/eclipse/aether/transport/apache/DeferredCredentialsProvider.java
b/maven-resolver-transport-apache/src/main/java/org/eclipse/aether/transport/apache/DeferredCredentialsProvider.java
index bb0b20188..fd32f1dd7 100644
---
a/maven-resolver-transport-apache/src/main/java/org/eclipse/aether/transport/apache/DeferredCredentialsProvider.java
+++
b/maven-resolver-transport-apache/src/main/java/org/eclipse/aether/transport/apache/DeferredCredentialsProvider.java
@@ -20,9 +20,9 @@ package org.eclipse.aether.transport.apache;
import java.net.InetAddress;
import java.net.UnknownHostException;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.Credentials;
@@ -39,11 +39,11 @@ final class DeferredCredentialsProvider implements
CredentialsProvider {
private final CredentialsProvider delegate;
- private final Map<AuthScope, Factory> factories;
+ private final ConcurrentHashMap<AuthScope, Factory> factories;
DeferredCredentialsProvider() {
delegate = new BasicCredentialsProvider();
- factories = new HashMap<>();
+ factories = new ConcurrentHashMap<>();
}
public void setCredentials(AuthScope authScope, Factory factory) {
diff --git
a/maven-resolver-transport-apache/src/main/java/org/eclipse/aether/transport/apache/SharingAuthCache.java
b/maven-resolver-transport-apache/src/main/java/org/eclipse/aether/transport/apache/SharingAuthCache.java
index ef4c25163..d868eacaf 100644
---
a/maven-resolver-transport-apache/src/main/java/org/eclipse/aether/transport/apache/SharingAuthCache.java
+++
b/maven-resolver-transport-apache/src/main/java/org/eclipse/aether/transport/apache/SharingAuthCache.java
@@ -18,8 +18,8 @@
*/
package org.eclipse.aether.transport.apache;
-import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScheme;
@@ -33,11 +33,11 @@ final class SharingAuthCache implements AuthCache {
private final LocalState state;
- private final Map<HttpHost, AuthScheme> authSchemes;
+ private final ConcurrentHashMap<HttpHost, AuthScheme> authSchemes;
SharingAuthCache(LocalState state) {
this.state = state;
- authSchemes = new HashMap<>();
+ authSchemes = new ConcurrentHashMap<>();
}
private static HttpHost toKey(HttpHost host) {
@@ -54,17 +54,20 @@ final class SharingAuthCache implements AuthCache {
AuthScheme authScheme = authSchemes.get(host);
if (authScheme == null) {
authScheme = state.getAuthScheme(host);
- authSchemes.put(host, authScheme);
+ if (authScheme != null) {
+ authSchemes.put(host, authScheme);
+ }
}
return authScheme;
}
@Override
public void put(HttpHost host, AuthScheme authScheme) {
+ host = toKey(host);
if (authScheme != null) {
- authSchemes.put(toKey(host), authScheme);
+ authSchemes.put(host, authScheme);
} else {
- remove(host);
+ authSchemes.remove(host);
}
}