Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 09c3fa9

Browse files
authored
[1.9.x] Remove hack from Basic connector (#1675)
There was an issue #996 that is still open and points to `MavenITmng4470AuthenticatedDeploymentToProxyTest` IT, so lets trigger it and lets fix it. OTOH, it may be very well already fixed... Unrelated: fix for reproducer... (was wondering whole day why and what 11 things it resolved...)
1 parent c1a8e85 commit 09c3fa9

File tree

4 files changed

+19
-38
lines changed

4 files changed

+19
-38
lines changed

maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,6 @@ public void get(
188188
RunnableErrorForwarder errorForwarder = new RunnableErrorForwarder();
189189
List<ChecksumAlgorithmFactory> checksumAlgorithmFactories = layout.getChecksumAlgorithmFactories();
190190

191-
boolean first = true;
192-
193191
for (MetadataDownload transfer : safeMetadataDownloads) {
194192
URI location = layout.getLocation(transfer.getMetadata(), false);
195193

@@ -211,12 +209,7 @@ public void get(
211209
checksumLocations,
212210
null,
213211
listener);
214-
if (first) {
215-
task.run();
216-
first = false;
217-
} else {
218-
executor.execute(errorForwarder.wrap(task));
219-
}
212+
executor.execute(errorForwarder.wrap(task));
220213
}
221214

222215
for (ArtifactDownload transfer : safeArtifactDownloads) {
@@ -256,12 +249,7 @@ public void get(
256249
providedChecksums,
257250
listener);
258251
}
259-
if (first) {
260-
task.run();
261-
first = false;
262-
} else {
263-
executor.execute(errorForwarder.wrap(task));
264-
}
252+
executor.execute(errorForwarder.wrap(task));
265253
}
266254

267255
errorForwarder.await();
@@ -279,8 +267,6 @@ public void put(
279267
Executor executor = getExecutor(parallelPut ? safeArtifactUploads.size() + safeMetadataUploads.size() : 1);
280268
RunnableErrorForwarder errorForwarder = new RunnableErrorForwarder();
281269

282-
boolean first = true;
283-
284270
for (ArtifactUpload transfer : safeArtifactUploads) {
285271
URI location = layout.getLocation(transfer.getArtifact(), true);
286272

@@ -293,12 +279,8 @@ public void put(
293279

294280
Runnable task = new PutTaskRunner(
295281
location, transfer.getFile(), transfer.getFileTransformer(), checksumLocations, listener);
296-
if (first) {
297-
task.run();
298-
first = false;
299-
} else {
300-
executor.execute(errorForwarder.wrap(task));
301-
}
282+
283+
executor.execute(errorForwarder.wrap(task));
302284
}
303285

304286
errorForwarder.await(); // make sure all artifacts are PUT before we go with Metadata
@@ -315,12 +297,8 @@ public void put(
315297
layout.getChecksumLocations(transfer.getMetadata(), true, location);
316298

317299
Runnable task = new PutTaskRunner(location, transfer.getFile(), checksumLocations, listener);
318-
if (first) {
319-
task.run();
320-
first = false;
321-
} else {
322-
executor.execute(errorForwarder.wrap(task));
323-
}
300+
301+
executor.execute(errorForwarder.wrap(task));
324302
}
325303

326304
errorForwarder.await(); // make sure each group is done before starting next group

maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ResolveTransitiveDependenciesParallel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ private static Runnable resolveWithDependencies(
216216
DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, null);
217217
List<ArtifactResult> artifactResults =
218218
system.resolveDependencies(session, dependencyRequest).getArtifactResults();
219-
int resolved = 9;
219+
int resolved = 0;
220220
int fails = 0;
221221
for (ArtifactResult artifactResult : artifactResults) {
222222
if (artifactResult.isResolved()) {

maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DeferredCredentialsProvider.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020

2121
import java.net.InetAddress;
2222
import java.net.UnknownHostException;
23-
import java.util.HashMap;
2423
import java.util.Iterator;
2524
import java.util.Map;
25+
import java.util.concurrent.ConcurrentHashMap;
2626

2727
import org.apache.http.auth.AuthScope;
2828
import org.apache.http.auth.Credentials;
@@ -39,11 +39,11 @@ final class DeferredCredentialsProvider implements CredentialsProvider {
3939

4040
private final CredentialsProvider delegate;
4141

42-
private final Map<AuthScope, Factory> factories;
42+
private final ConcurrentHashMap<AuthScope, Factory> factories;
4343

4444
DeferredCredentialsProvider() {
4545
delegate = new BasicCredentialsProvider();
46-
factories = new HashMap<>();
46+
factories = new ConcurrentHashMap<>();
4747
}
4848

4949
public void setCredentials(AuthScope authScope, Factory factory) {

maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingAuthCache.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
*/
1919
package org.eclipse.aether.transport.http;
2020

21-
import java.util.HashMap;
2221
import java.util.Map;
22+
import java.util.concurrent.ConcurrentHashMap;
2323

2424
import org.apache.http.HttpHost;
2525
import org.apache.http.auth.AuthScheme;
@@ -33,11 +33,11 @@ final class SharingAuthCache implements AuthCache {
3333

3434
private final LocalState state;
3535

36-
private final Map<HttpHost, AuthScheme> authSchemes;
36+
private final ConcurrentHashMap<HttpHost, AuthScheme> authSchemes;
3737

3838
SharingAuthCache(LocalState state) {
3939
this.state = state;
40-
authSchemes = new HashMap<>();
40+
authSchemes = new ConcurrentHashMap<>();
4141
}
4242

4343
private static HttpHost toKey(HttpHost host) {
@@ -54,17 +54,20 @@ public AuthScheme get(HttpHost host) {
5454
AuthScheme authScheme = authSchemes.get(host);
5555
if (authScheme == null) {
5656
authScheme = state.getAuthScheme(host);
57-
authSchemes.put(host, authScheme);
57+
if (authScheme != null) {
58+
authSchemes.put(host, authScheme);
59+
}
5860
}
5961
return authScheme;
6062
}
6163

6264
@Override
6365
public void put(HttpHost host, AuthScheme authScheme) {
66+
host = toKey(host);
6467
if (authScheme != null) {
65-
authSchemes.put(toKey(host), authScheme);
68+
authSchemes.put(host, authScheme);
6669
} else {
67-
remove(host);
70+
authSchemes.remove(host);
6871
}
6972
}
7073

0 commit comments

Comments
 (0)