You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2021/06/20 10:10:54 UTC
[maven-resolver] branch master updated: [MRESOLVER-152] Perform
null checks when interface contracts require it
This is an automated email from the ASF dual-hosted git repository.
michaelo 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 125aa57 [MRESOLVER-152] Perform null checks when interface contracts require it
125aa57 is described below
commit 125aa57de8c79d2aacfa376af1c9e449ea4bbc92
Author: Youri Tomassen <gr...@gmail.com>
AuthorDate: Wed Jun 9 11:30:15 2021 +0200
[MRESOLVER-152] Perform null checks when interface contracts require it
* Add Objects.requireNonNull( Object, "cannot be null" ) on interface
implementations
* Update tests that violated non-null arguments
This closes #112
---
.../aether/DefaultRepositorySystemSession.java | 3 ++
.../basic/BasicRepositoryConnectorFactory.java | 9 ++++--
.../examples/util/ConsoleRepositoryListener.java | 19 +++++++++++
.../examples/util/ConsoleTransferListener.java | 8 +++++
.../internal/impl/AbstractChecksumPolicy.java | 7 ++++
.../internal/impl/DefaultArtifactResolver.java | 6 +++-
.../aether/internal/impl/DefaultDeployer.java | 8 +++++
.../aether/internal/impl/DefaultInstaller.java | 3 +-
.../impl/DefaultLocalRepositoryProvider.java | 2 ++
.../internal/impl/DefaultMetadataResolver.java | 3 +-
.../internal/impl/DefaultOfflineController.java | 4 +++
.../impl/DefaultRemoteRepositoryManager.java | 5 +++
.../impl/DefaultRepositoryEventDispatcher.java | 1 +
.../impl/DefaultRepositoryLayoutProvider.java | 1 +
.../internal/impl/DefaultRepositorySystem.java | 35 ++++++++++++++++++++
.../internal/impl/DefaultTransporterProvider.java | 3 +-
.../internal/impl/DefaultUpdateCheckManager.java | 8 +++++
.../internal/impl/DefaultUpdatePolicyAnalyzer.java | 4 +++
.../EnhancedLocalRepositoryManagerFactory.java | 9 ++++--
.../impl/Maven2RepositoryLayoutFactory.java | 4 +++
.../aether/internal/impl/SafeTransferListener.java | 8 +++++
.../impl/SimpleLocalRepositoryManager.java | 14 ++++++++
.../impl/SimpleLocalRepositoryManagerFactory.java | 11 +++++--
.../impl/collect/DefaultDependencyCollector.java | 2 ++
.../synccontext/DefaultSyncContextFactory.java | 3 ++
.../legacy/DefaultSyncContextFactory.java | 3 ++
.../aether/impl/StubVersionRangeResolver.java | 4 +++
.../eclipse/aether/impl/StubVersionResolver.java | 4 +++
.../aether/internal/impl/DefaultDeployerTest.java | 3 ++
.../impl/DefaultRemoteRepositoryManagerTest.java | 3 ++
.../internal/impl/RecordingRepositoryListener.java | 21 ++++++++++++
.../internal/impl/StaticUpdateCheckManager.java | 10 ++++++
.../internal/impl/StubRemoteRepositoryManager.java | 7 ++++
.../impl/StubRepositoryEventDispatcher.java | 3 ++
.../internal/impl/StubSyncContextFactory.java | 3 ++
.../internal/impl/StubVersionRangeResolver.java | 4 +++
.../aether/internal/impl/StubVersionResolver.java | 4 +++
.../collect/DefaultDependencyCollectorTest.java | 7 ++--
.../connector/transport/AbstractTransporter.java | 7 ++++
.../test/util/IniArtifactDescriptorReader.java | 4 +++
.../test/util/TestLocalRepositoryManager.java | 24 ++++++++++++++
.../internal/test/util/TestVersionScheme.java | 5 +++
.../classpath/ClasspathTransporterFactory.java | 11 +++++--
.../transport/file/FileTransporterFactory.java | 11 +++++--
.../transport/http/HttpTransporterFactory.java | 11 +++++--
.../transport/wagon/PlexusWagonConfigurator.java | 11 +++----
.../aether/transport/wagon/WagonTransporter.java | 7 ++--
.../transport/wagon/WagonTransporterFactory.java | 15 ++++++---
.../filter/AbstractPatternDependencyFilter.java | 4 +++
.../aether/util/filter/AndDependencyFilter.java | 4 +++
.../util/filter/ExclusionsDependencyFilter.java | 4 +++
.../graph/manager/ClassicDependencyManager.java | 4 +++
.../graph/manager/DefaultDependencyManager.java | 4 +++
.../util/graph/manager/NoopDependencyManager.java | 4 +++
.../graph/manager/TransitiveDependencyManager.java | 4 +++
.../util/graph/selector/AndDependencySelector.java | 4 +++
.../selector/ExclusionDependencySelector.java | 4 +++
.../graph/selector/OptionalDependencySelector.java | 4 +++
.../graph/selector/ScopeDependencySelector.java | 4 +++
.../graph/selector/StaticDependencySelector.java | 4 +++
.../ChainedDependencyGraphTransformer.java | 4 +++
.../util/graph/transformer/ConflictIdSorter.java | 3 ++
.../util/graph/transformer/ConflictMarker.java | 3 ++
.../util/graph/transformer/ConflictResolver.java | 2 ++
.../transformer/JavaDependencyContextRefiner.java | 4 +++
.../graph/transformer/NearestVersionSelector.java | 4 +++
.../NoopDependencyGraphTransformer.java | 4 +++
.../graph/traverser/AndDependencyTraverser.java | 4 +++
.../util/graph/traverser/FatArtifactTraverser.java | 4 +++
.../graph/traverser/StaticDependencyTraverser.java | 4 +++
.../util/listener/ChainedRepositoryListener.java | 21 ++++++++++++
.../util/listener/ChainedTransferListener.java | 8 +++++
.../util/repository/ChainedAuthentication.java | 4 +++
.../util/repository/ChainedWorkspaceReader.java | 4 +++
.../util/repository/ComponentAuthentication.java | 2 ++
.../ConservativeAuthenticationSelector.java | 1 +
.../util/repository/ConservativeProxySelector.java | 1 +
.../repository/DefaultAuthenticationSelector.java | 3 ++
.../util/repository/DefaultMirrorSelector.java | 3 ++
.../util/repository/DefaultProxySelector.java | 1 +
.../aether/util/repository/JreProxySelector.java | 5 +++
.../util/repository/SecretAuthentication.java | 1 +
.../repository/SimpleArtifactDescriptorPolicy.java | 4 +++
.../repository/SimpleResolutionErrorPolicy.java | 6 ++++
.../util/repository/StringAuthentication.java | 2 ++
.../aether/util/version/GenericVersionScheme.java | 5 +++
.../util/filter/AbstractDependencyFilterTest.java | 4 +++
.../graph/selector/AndDependencySelectorTest.java | 25 +++++++++++++--
.../graph/transformer/SimpleConflictMarker.java | 3 ++
.../traverser/AndDependencyTraverserTest.java | 37 ++++++++++++++++++++--
.../graph/traverser/FatArtifactTraverserTest.java | 29 ++++++++++++++++-
.../traverser/StaticDependencyTraverserTest.java | 31 +++++++++++++++++-
.../visitor/FilteringDependencyVisitorTest.java | 3 ++
.../PathRecordingDependencyVisitorTest.java | 3 ++
94 files changed, 607 insertions(+), 45 deletions(-)
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java b/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java
index b2c05cd..90b32f4 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java
@@ -815,6 +815,7 @@ public final class DefaultRepositorySystemSession
public Proxy getProxy( RemoteRepository repository )
{
+ requireNonNull( repository, "repository cannot be null" );
return repository.getProxy();
}
@@ -828,6 +829,7 @@ public final class DefaultRepositorySystemSession
public RemoteRepository getMirror( RemoteRepository repository )
{
+ requireNonNull( repository, "repository cannot be null" );
return null;
}
@@ -841,6 +843,7 @@ public final class DefaultRepositorySystemSession
public Authentication getAuthentication( RemoteRepository repository )
{
+ requireNonNull( repository, "repository cannot be null" );
return repository.getAuthentication();
}
diff --git a/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnectorFactory.java b/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnectorFactory.java
index 540b301..aa747a9 100644
--- a/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnectorFactory.java
+++ b/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnectorFactory.java
@@ -8,9 +8,9 @@ package org.eclipse.aether.connector.basic;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -139,7 +139,7 @@ public final class BasicRepositoryConnectorFactory
/**
* Sets the priority of this component.
- *
+ *
* @param priority The priority.
* @return This component for chaining, never {@code null}.
*/
@@ -152,6 +152,9 @@ public final class BasicRepositoryConnectorFactory
public RepositoryConnector newInstance( RepositorySystemSession session, RemoteRepository repository )
throws NoRepositoryConnectorException
{
+ requireNonNull( "session", "session cannot be null" );
+ requireNonNull( "repository", "repository cannot be null" );
+
return new BasicRepositoryConnector( session, repository, transporterProvider, layoutProvider,
checksumPolicyProvider, fileProcessor );
}
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleRepositoryListener.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleRepositoryListener.java
index e1ffccf..d561d7f 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleRepositoryListener.java
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleRepositoryListener.java
@@ -24,6 +24,8 @@ import java.io.PrintStream;
import org.eclipse.aether.AbstractRepositoryListener;
import org.eclipse.aether.RepositoryEvent;
+import static java.util.Objects.requireNonNull;
+
/**
* A simplistic repository listener that logs events to the console.
*/
@@ -45,87 +47,104 @@ public class ConsoleRepositoryListener
public void artifactDeployed( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Deployed " + event.getArtifact() + " to " + event.getRepository() );
}
public void artifactDeploying( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Deploying " + event.getArtifact() + " to " + event.getRepository() );
}
public void artifactDescriptorInvalid( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Invalid artifact descriptor for " + event.getArtifact() + ": "
+ event.getException().getMessage() );
}
public void artifactDescriptorMissing( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Missing artifact descriptor for " + event.getArtifact() );
}
public void artifactInstalled( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Installed " + event.getArtifact() + " to " + event.getFile() );
}
public void artifactInstalling( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Installing " + event.getArtifact() + " to " + event.getFile() );
}
public void artifactResolved( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Resolved artifact " + event.getArtifact() + " from " + event.getRepository() );
}
public void artifactDownloading( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Downloading artifact " + event.getArtifact() + " from " + event.getRepository() );
}
public void artifactDownloaded( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Downloaded artifact " + event.getArtifact() + " from " + event.getRepository() );
}
public void artifactResolving( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Resolving artifact " + event.getArtifact() );
}
public void metadataDeployed( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Deployed " + event.getMetadata() + " to " + event.getRepository() );
}
public void metadataDeploying( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Deploying " + event.getMetadata() + " to " + event.getRepository() );
}
public void metadataInstalled( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Installed " + event.getMetadata() + " to " + event.getFile() );
}
public void metadataInstalling( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Installing " + event.getMetadata() + " to " + event.getFile() );
}
public void metadataInvalid( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Invalid metadata " + event.getMetadata() );
}
public void metadataResolved( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Resolved metadata " + event.getMetadata() + " from " + event.getRepository() );
}
public void metadataResolving( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
out.println( "Resolving metadata " + event.getMetadata() + " from " + event.getRepository() );
}
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleTransferListener.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleTransferListener.java
index bba92d8..ad48993 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleTransferListener.java
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleTransferListener.java
@@ -31,6 +31,8 @@ import org.eclipse.aether.transfer.MetadataNotFoundException;
import org.eclipse.aether.transfer.TransferEvent;
import org.eclipse.aether.transfer.TransferResource;
+import static java.util.Objects.requireNonNull;
+
/**
* A simplistic transfer listener that logs uploads/downloads to the console.
*/
@@ -57,6 +59,7 @@ public class ConsoleTransferListener
@Override
public void transferInitiated( TransferEvent event )
{
+ requireNonNull( event, "event cannot be null" );
String message = event.getRequestType() == TransferEvent.RequestType.PUT ? "Uploading" : "Downloading";
out.println( message + ": " + event.getResource().getRepositoryUrl() + event.getResource().getResourceName() );
@@ -65,6 +68,7 @@ public class ConsoleTransferListener
@Override
public void transferProgressed( TransferEvent event )
{
+ requireNonNull( event, "event cannot be null" );
TransferResource resource = event.getResource();
downloads.put( resource, event.getTransferredBytes() );
@@ -120,6 +124,7 @@ public class ConsoleTransferListener
@Override
public void transferSucceeded( TransferEvent event )
{
+ requireNonNull( event, "event cannot be null" );
transferCompleted( event );
TransferResource resource = event.getResource();
@@ -147,6 +152,7 @@ public class ConsoleTransferListener
@Override
public void transferFailed( TransferEvent event )
{
+ requireNonNull( event, "event cannot be null" );
transferCompleted( event );
if ( !( event.getException() instanceof MetadataNotFoundException ) )
@@ -157,6 +163,7 @@ public class ConsoleTransferListener
private void transferCompleted( TransferEvent event )
{
+ requireNonNull( event, "event cannot be null" );
downloads.remove( event.getResource() );
StringBuilder buffer = new StringBuilder( 64 );
@@ -167,6 +174,7 @@ public class ConsoleTransferListener
public void transferCorrupted( TransferEvent event )
{
+ requireNonNull( event, "event cannot be null" );
event.getException().printStackTrace( out );
}
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/AbstractChecksumPolicy.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/AbstractChecksumPolicy.java
index 7fe0822..32fb0a9 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/AbstractChecksumPolicy.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/AbstractChecksumPolicy.java
@@ -25,6 +25,8 @@ import org.eclipse.aether.transfer.TransferResource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static java.util.Objects.requireNonNull;
+
abstract class AbstractChecksumPolicy
implements ChecksumPolicy
{
@@ -40,12 +42,15 @@ abstract class AbstractChecksumPolicy
public boolean onChecksumMatch( String algorithm, int kind )
{
+ requireNonNull( algorithm, "algorithm cannot be null" );
return true;
}
public void onChecksumMismatch( String algorithm, int kind, ChecksumFailureException exception )
throws ChecksumFailureException
{
+ requireNonNull( algorithm, "algorithm cannot be null" );
+ requireNonNull( exception, "exception cannot be null" );
if ( ( kind & KIND_UNOFFICIAL ) == 0 )
{
throw exception;
@@ -55,6 +60,8 @@ abstract class AbstractChecksumPolicy
public void onChecksumError( String algorithm, int kind, ChecksumFailureException exception )
throws ChecksumFailureException
{
+ requireNonNull( algorithm, "algorithm cannot be null" );
+ requireNonNull( exception, "exception cannot be null" );
logger.debug( "Could not validate {} checksum for {}", algorithm, resource.getResourceName(), exception );
}
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultArtifactResolver.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultArtifactResolver.java
index 12ef0d6..430ea38 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultArtifactResolver.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultArtifactResolver.java
@@ -206,6 +206,9 @@ public class DefaultArtifactResolver
public ArtifactResult resolveArtifact( RepositorySystemSession session, ArtifactRequest request )
throws ArtifactResolutionException
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( session, "session cannot be null" );
+
return resolveArtifacts( session, Collections.singleton( request ) ).get( 0 );
}
@@ -213,7 +216,8 @@ public class DefaultArtifactResolver
Collection<? extends ArtifactRequest> requests )
throws ArtifactResolutionException
{
-
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( session, "session cannot be null" );
try ( SyncContext syncContext = syncContextFactory.newInstance( session, false ) )
{
Collection<Artifact> artifacts = new ArrayList<>( requests.size() );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDeployer.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDeployer.java
index 51a210e..4d87e68 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDeployer.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDeployer.java
@@ -202,6 +202,8 @@ public class DefaultDeployer
public DeployResult deploy( RepositorySystemSession session, DeployRequest request )
throws DeploymentException
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
try
{
Utils.checkOffline( session, offlineController, request.getRepository() );
@@ -576,6 +578,7 @@ public class DefaultDeployer
throws TransferCancelledException
{
super.transferInitiated( event );
+ requireNonNull( event, "event cannot be null" );
catapult.artifactDeploying( transfer.getArtifact(), transfer.getFile() );
}
@@ -583,6 +586,7 @@ public class DefaultDeployer
public void transferFailed( TransferEvent event )
{
super.transferFailed( event );
+ requireNonNull( event, "event cannot be null" );
catapult.artifactDeployed( transfer.getArtifact(), transfer.getFile(), transfer.getException() );
}
@@ -590,6 +594,7 @@ public class DefaultDeployer
public void transferSucceeded( TransferEvent event )
{
super.transferSucceeded( event );
+ requireNonNull( event, "event cannot be null" );
catapult.artifactDeployed( transfer.getArtifact(), transfer.getFile(), null );
}
@@ -615,6 +620,7 @@ public class DefaultDeployer
throws TransferCancelledException
{
super.transferInitiated( event );
+ requireNonNull( event, "event cannot be null" );
catapult.metadataDeploying( transfer.getMetadata(), transfer.getFile() );
}
@@ -622,6 +628,7 @@ public class DefaultDeployer
public void transferFailed( TransferEvent event )
{
super.transferFailed( event );
+ requireNonNull( event, "event cannot be null" );
catapult.metadataDeployed( transfer.getMetadata(), transfer.getFile(), transfer.getException() );
}
@@ -629,6 +636,7 @@ public class DefaultDeployer
public void transferSucceeded( TransferEvent event )
{
super.transferSucceeded( event );
+ requireNonNull( event, "event cannot be null" );
catapult.metadataDeployed( transfer.getMetadata(), transfer.getFile(), null );
}
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultInstaller.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultInstaller.java
index 16f2145..6b3f7a7 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultInstaller.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultInstaller.java
@@ -142,7 +142,8 @@ public class DefaultInstaller
public InstallResult install( RepositorySystemSession session, InstallRequest request )
throws InstallationException
{
-
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
try ( SyncContext syncContext = syncContextFactory.newInstance( session, false ) )
{
return install( syncContext, session, request );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultLocalRepositoryProvider.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultLocalRepositoryProvider.java
index da0d59c..26110ec 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultLocalRepositoryProvider.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultLocalRepositoryProvider.java
@@ -92,6 +92,8 @@ public class DefaultLocalRepositoryProvider
LocalRepository repository )
throws NoLocalRepositoryManagerException
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( repository, "repository cannot be null" );
PrioritizedComponents<LocalRepositoryManagerFactory> factories = new PrioritizedComponents<>( session );
for ( LocalRepositoryManagerFactory factory : this.managerFactories )
{
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
index 8774364..74e6739 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
@@ -169,7 +169,8 @@ public class DefaultMetadataResolver
public List<MetadataResult> resolveMetadata( RepositorySystemSession session,
Collection<? extends MetadataRequest> requests )
{
-
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( requests, "requests cannot be null" );
try ( SyncContext syncContext = syncContextFactory.newInstance( session, false ) )
{
Collection<Metadata> metadata = new ArrayList<>( requests.size() );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultOfflineController.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultOfflineController.java
index 63764eb..e4a3a86 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultOfflineController.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultOfflineController.java
@@ -30,6 +30,8 @@ import org.eclipse.aether.repository.RemoteRepository;
import org.eclipse.aether.transfer.RepositoryOfflineException;
import org.eclipse.aether.util.ConfigUtils;
+import static java.util.Objects.requireNonNull;
+
/**
*
*/
@@ -53,6 +55,8 @@ public class DefaultOfflineController
public void checkOffline( RepositorySystemSession session, RemoteRepository repository )
throws RepositoryOfflineException
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( repository, "repository cannot be null" );
if ( isOfflineProtocol( session, repository ) || isOfflineHost( session, repository ) )
{
return;
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRemoteRepositoryManager.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRemoteRepositoryManager.java
index 393f876..6c71277 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRemoteRepositoryManager.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRemoteRepositoryManager.java
@@ -131,6 +131,9 @@ public class DefaultRemoteRepositoryManager
List<RemoteRepository> recessiveRepositories,
boolean recessiveIsRaw )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( dominantRepositories, "dominantRepositories cannot be null" );
+ requireNonNull( recessiveRepositories, "recessiveRepositories cannot be null" );
if ( recessiveRepositories.isEmpty() )
{
return dominantRepositories;
@@ -275,6 +278,8 @@ public class DefaultRemoteRepositoryManager
public RepositoryPolicy getPolicy( RepositorySystemSession session, RemoteRepository repository, boolean releases,
boolean snapshots )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( repository, "repository cannot be null" );
RepositoryPolicy policy1 = releases ? repository.getPolicy( false ) : null;
RepositoryPolicy policy2 = snapshots ? repository.getPolicy( true ) : null;
return merge( session, policy1, policy2, true );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryEventDispatcher.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryEventDispatcher.java
index e6ea7d3..864b1b2 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryEventDispatcher.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryEventDispatcher.java
@@ -85,6 +85,7 @@ public class DefaultRepositoryEventDispatcher
public void dispatch( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
if ( !listeners.isEmpty() )
{
for ( RepositoryListener listener : listeners )
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryLayoutProvider.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryLayoutProvider.java
index 8b1c3f2..2dcfd08 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryLayoutProvider.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryLayoutProvider.java
@@ -90,6 +90,7 @@ public final class DefaultRepositoryLayoutProvider
public RepositoryLayout newRepositoryLayout( RepositorySystemSession session, RemoteRepository repository )
throws NoRepositoryLayoutException
{
+ requireNonNull( session, "session cannot be null" );
requireNonNull( repository, "remote repository cannot be null" );
PrioritizedComponents<RepositoryLayoutFactory> factories = new PrioritizedComponents<>( session );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystem.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystem.java
index eb0f79d..f079cff 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystem.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystem.java
@@ -239,6 +239,8 @@ public class DefaultRepositorySystem
throws VersionResolutionException
{
validateSession( session );
+ requireNonNull( request, "request cannot be null" );
+
return versionResolver.resolveVersion( session, request );
}
@@ -246,6 +248,8 @@ public class DefaultRepositorySystem
throws VersionRangeResolutionException
{
validateSession( session );
+ requireNonNull( request, "request cannot be null" );
+
return versionRangeResolver.resolveVersionRange( session, request );
}
@@ -254,6 +258,8 @@ public class DefaultRepositorySystem
throws ArtifactDescriptorException
{
validateSession( session );
+ requireNonNull( request, "request cannot be null" );
+
return artifactDescriptorReader.readArtifactDescriptor( session, request );
}
@@ -261,6 +267,8 @@ public class DefaultRepositorySystem
throws ArtifactResolutionException
{
validateSession( session );
+ requireNonNull( session, "session cannot be null" );
+
return artifactResolver.resolveArtifact( session, request );
}
@@ -269,6 +277,8 @@ public class DefaultRepositorySystem
throws ArtifactResolutionException
{
validateSession( session );
+ requireNonNull( requests, "requests cannot be null" );
+
return artifactResolver.resolveArtifacts( session, requests );
}
@@ -276,6 +286,8 @@ public class DefaultRepositorySystem
Collection<? extends MetadataRequest> requests )
{
validateSession( session );
+ requireNonNull( requests, "requests cannot be null" );
+
return metadataResolver.resolveMetadata( session, requests );
}
@@ -283,6 +295,8 @@ public class DefaultRepositorySystem
throws DependencyCollectionException
{
validateSession( session );
+ requireNonNull( request, "request cannot be null" );
+
return dependencyCollector.collectDependencies( session, request );
}
@@ -290,6 +304,7 @@ public class DefaultRepositorySystem
throws DependencyResolutionException
{
validateSession( session );
+ requireNonNull( request, "request cannot be null" );
RequestTrace trace = RequestTrace.newChild( request.getTrace(), request );
@@ -378,6 +393,8 @@ public class DefaultRepositorySystem
throws InstallationException
{
validateSession( session );
+ requireNonNull( request, "request cannot be null" );
+
return installer.install( session, request );
}
@@ -385,12 +402,17 @@ public class DefaultRepositorySystem
throws DeploymentException
{
validateSession( session );
+ requireNonNull( request, "request cannot be null" );
+
return deployer.deploy( session, request );
}
public LocalRepositoryManager newLocalRepositoryManager( RepositorySystemSession session,
LocalRepository localRepository )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( localRepository, "localRepository cannot be null" );
+
try
{
return localRepositoryProvider.newLocalRepositoryManager( session, localRepository );
@@ -411,6 +433,8 @@ public class DefaultRepositorySystem
List<RemoteRepository> repositories )
{
validateSession( session );
+ validateRepositories( repositories );
+
repositories =
remoteRepositoryManager.aggregateRepositories( session, new ArrayList<RemoteRepository>(), repositories,
true );
@@ -420,6 +444,8 @@ public class DefaultRepositorySystem
public RemoteRepository newDeploymentRepository( RepositorySystemSession session, RemoteRepository repository )
{
validateSession( session );
+ requireNonNull( repository, "repository cannot be null" );
+
RemoteRepository.Builder builder = new RemoteRepository.Builder( repository );
Authentication auth = session.getAuthenticationSelector().getAuthentication( repository );
builder.setAuthentication( auth );
@@ -442,6 +468,15 @@ public class DefaultRepositorySystem
invalidSession( session.getData(), "data" );
}
+ private void validateRepositories( List<RemoteRepository> repositories )
+ {
+ requireNonNull( repositories, "repositories cannot be null" );
+ for ( RemoteRepository repository: repositories )
+ {
+ requireNonNull( repository, "repository cannot be null" );
+ }
+ }
+
private void invalidSession( Object obj, String name )
{
requireNonNull( obj, "repository system session's " + name + " cannot be null" );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTransporterProvider.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTransporterProvider.java
index 43357e8..af1d1d4 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTransporterProvider.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTransporterProvider.java
@@ -90,7 +90,8 @@ public final class DefaultTransporterProvider
public Transporter newTransporter( RepositorySystemSession session, RemoteRepository repository )
throws NoTransporterException
{
- requireNonNull( repository, "remote repository cannot be null" );
+ requireNonNull( "session", "session cannot be null" );
+ requireNonNull( "repository", "repository cannot be null" );
PrioritizedComponents<TransporterFactory> factories = new PrioritizedComponents<>( session );
for ( TransporterFactory factory : this.factories )
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManager.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManager.java
index e4aba83..c48959d 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManager.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManager.java
@@ -116,6 +116,8 @@ public class DefaultUpdateCheckManager
public void checkArtifact( RepositorySystemSession session, UpdateCheck<Artifact, ArtifactTransferException> check )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( check, "check cannot be null" );
if ( check.getLocalLastUpdated() != 0
&& !isUpdatedRequired( session, check.getLocalLastUpdated(), check.getPolicy() ) )
{
@@ -241,6 +243,8 @@ public class DefaultUpdateCheckManager
public void checkMetadata( RepositorySystemSession session, UpdateCheck<Metadata, MetadataTransferException> check )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( check, "check cannot be null" );
if ( check.getLocalLastUpdated() != 0
&& !isUpdatedRequired( session, check.getLocalLastUpdated(), check.getPolicy() ) )
{
@@ -525,6 +529,8 @@ public class DefaultUpdateCheckManager
public void touchArtifact( RepositorySystemSession session, UpdateCheck<Artifact, ArtifactTransferException> check )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( check, "check cannot be null" );
File artifactFile = check.getFile();
File touchFile = getArtifactTouchFile( artifactFile );
@@ -555,6 +561,8 @@ public class DefaultUpdateCheckManager
public void touchMetadata( RepositorySystemSession session, UpdateCheck<Metadata, MetadataTransferException> check )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( check, "check cannot be null" );
File metadataFile = check.getFile();
File touchFile = getMetadataTouchFile( metadataFile );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdatePolicyAnalyzer.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdatePolicyAnalyzer.java
index 5730c76..253ac59 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdatePolicyAnalyzer.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdatePolicyAnalyzer.java
@@ -30,6 +30,8 @@ import org.eclipse.aether.repository.RepositoryPolicy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static java.util.Objects.requireNonNull;
+
/**
*/
@Singleton
@@ -47,6 +49,7 @@ public class DefaultUpdatePolicyAnalyzer
public String getEffectiveUpdatePolicy( RepositorySystemSession session, String policy1, String policy2 )
{
+ requireNonNull( session, "session cannot be null" );
return ordinalOfUpdatePolicy( policy1 ) < ordinalOfUpdatePolicy( policy2 ) ? policy1 : policy2;
}
@@ -74,6 +77,7 @@ public class DefaultUpdatePolicyAnalyzer
public boolean isUpdatedRequired( RepositorySystemSession session, long lastModified, String policy )
{
+ requireNonNull( session, "session cannot be null" );
boolean checkForUpdates;
if ( policy == null )
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/EnhancedLocalRepositoryManagerFactory.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/EnhancedLocalRepositoryManagerFactory.java
index fb33ed5..56ace05 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/EnhancedLocalRepositoryManagerFactory.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/EnhancedLocalRepositoryManagerFactory.java
@@ -8,9 +8,9 @@ package org.eclipse.aether.internal.impl;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -69,6 +69,9 @@ public class EnhancedLocalRepositoryManagerFactory
public LocalRepositoryManager newInstance( RepositorySystemSession session, LocalRepository repository )
throws NoLocalRepositoryManagerException
{
+ Objects.requireNonNull( "session", "session cannot be null" );
+ Objects.requireNonNull( "repository", "repository cannot be null" );
+
if ( "".equals( repository.getContentType() ) || "default".equals( repository.getContentType() ) )
{
return new EnhancedLocalRepositoryManager( repository.getBasedir(), session, trackingFileManager );
@@ -86,7 +89,7 @@ public class EnhancedLocalRepositoryManagerFactory
/**
* Sets the priority of this component.
- *
+ *
* @param priority The priority.
* @return This component for chaining, never {@code null}.
*/
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/Maven2RepositoryLayoutFactory.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/Maven2RepositoryLayoutFactory.java
index ddf3df7..82933e4 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/Maven2RepositoryLayoutFactory.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/Maven2RepositoryLayoutFactory.java
@@ -38,6 +38,8 @@ import org.eclipse.aether.spi.connector.layout.RepositoryLayoutFactory;
import org.eclipse.aether.transfer.NoRepositoryLayoutException;
import org.eclipse.aether.util.ConfigUtils;
+import static java.util.Objects.requireNonNull;
+
/**
* Provides a Maven-2 repository layout for repositories with content type {@code "default"}.
*/
@@ -74,6 +76,8 @@ public final class Maven2RepositoryLayoutFactory
public RepositoryLayout newInstance( RepositorySystemSession session, RemoteRepository repository )
throws NoRepositoryLayoutException
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( repository, "repository cannot be null" );
if ( !"default".equals( repository.getContentType() ) )
{
throw new NoRepositoryLayoutException( repository );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SafeTransferListener.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SafeTransferListener.java
index 4a66a14..c690fd1 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SafeTransferListener.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SafeTransferListener.java
@@ -27,6 +27,8 @@ import org.eclipse.aether.transfer.TransferListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static java.util.Objects.requireNonNull;
+
class SafeTransferListener
extends AbstractTransferListener
{
@@ -65,6 +67,7 @@ class SafeTransferListener
public void transferInitiated( TransferEvent event )
throws TransferCancelledException
{
+ requireNonNull( event, "event cannot be null" );
if ( listener != null )
{
try
@@ -82,6 +85,7 @@ class SafeTransferListener
public void transferStarted( TransferEvent event )
throws TransferCancelledException
{
+ requireNonNull( event, "event cannot be null" );
if ( listener != null )
{
try
@@ -99,6 +103,7 @@ class SafeTransferListener
public void transferProgressed( TransferEvent event )
throws TransferCancelledException
{
+ requireNonNull( event, "event cannot be null" );
if ( listener != null )
{
try
@@ -116,6 +121,7 @@ class SafeTransferListener
public void transferCorrupted( TransferEvent event )
throws TransferCancelledException
{
+ requireNonNull( event, "event cannot be null" );
if ( listener != null )
{
try
@@ -132,6 +138,7 @@ class SafeTransferListener
@Override
public void transferSucceeded( TransferEvent event )
{
+ requireNonNull( event, "event cannot be null" );
if ( listener != null )
{
try
@@ -148,6 +155,7 @@ class SafeTransferListener
@Override
public void transferFailed( TransferEvent event )
{
+ requireNonNull( event, "event cannot be null" );
if ( listener != null )
{
try
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SimpleLocalRepositoryManager.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SimpleLocalRepositoryManager.java
index 55f114b..9023d17 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SimpleLocalRepositoryManager.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SimpleLocalRepositoryManager.java
@@ -102,21 +102,27 @@ class SimpleLocalRepositoryManager
public String getPathForLocalArtifact( Artifact artifact )
{
+ requireNonNull( artifact, "artifact cannot be null" );
return getPathForArtifact( artifact, true );
}
public String getPathForRemoteArtifact( Artifact artifact, RemoteRepository repository, String context )
{
+ requireNonNull( artifact, "artifact cannot be null" );
+ requireNonNull( repository, "repository cannot be null" );
return getPathForArtifact( artifact, false );
}
public String getPathForLocalMetadata( Metadata metadata )
{
+ requireNonNull( metadata, "metadata cannot be null" );
return getPath( metadata, "local" );
}
public String getPathForRemoteMetadata( Metadata metadata, RemoteRepository repository, String context )
{
+ requireNonNull( metadata, "metadata cannot be null" );
+ requireNonNull( repository, "repository cannot be null" );
return getPath( metadata, getRepositoryKey( repository, context ) );
}
@@ -201,6 +207,8 @@ class SimpleLocalRepositoryManager
public LocalArtifactResult find( RepositorySystemSession session, LocalArtifactRequest request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
String path = getPathForArtifact( request.getArtifact(), false );
File file = new File( getRepository().getBasedir(), path );
@@ -216,6 +224,8 @@ class SimpleLocalRepositoryManager
public void add( RepositorySystemSession session, LocalArtifactRegistration request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
// noop
}
@@ -227,6 +237,8 @@ class SimpleLocalRepositoryManager
public LocalMetadataResult find( RepositorySystemSession session, LocalMetadataRequest request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
LocalMetadataResult result = new LocalMetadataResult( request );
String path;
@@ -255,6 +267,8 @@ class SimpleLocalRepositoryManager
public void add( RepositorySystemSession session, LocalMetadataRegistration request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
// noop
}
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SimpleLocalRepositoryManagerFactory.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SimpleLocalRepositoryManagerFactory.java
index 7ef6d88..1be1bce 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SimpleLocalRepositoryManagerFactory.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SimpleLocalRepositoryManagerFactory.java
@@ -8,9 +8,9 @@ package org.eclipse.aether.internal.impl;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -22,6 +22,8 @@ package org.eclipse.aether.internal.impl;
import javax.inject.Named;
import javax.inject.Singleton;
+import java.util.Objects;
+
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.repository.LocalRepository;
import org.eclipse.aether.repository.LocalRepositoryManager;
@@ -46,6 +48,9 @@ public class SimpleLocalRepositoryManagerFactory
public LocalRepositoryManager newInstance( RepositorySystemSession session, LocalRepository repository )
throws NoLocalRepositoryManagerException
{
+ Objects.requireNonNull( "session", "session cannot be null" );
+ Objects.requireNonNull( "repository", "repository cannot be null" );
+
if ( "".equals( repository.getContentType() ) || "simple".equals( repository.getContentType() ) )
{
return new SimpleLocalRepositoryManager( repository.getBasedir() );
@@ -63,7 +68,7 @@ public class SimpleLocalRepositoryManagerFactory
/**
* Sets the priority of this component.
- *
+ *
* @param priority The priority.
* @return This component for chaining, never {@code null}.
*/
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java
index 6127451..05aca9c 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java
@@ -143,6 +143,8 @@ public class DefaultDependencyCollector
public CollectResult collectDependencies( RepositorySystemSession session, CollectRequest request )
throws DependencyCollectionException
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
session = optimizeSession( session );
RequestTrace trace = RequestTrace.newChild( request.getTrace(), request );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/DefaultSyncContextFactory.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/DefaultSyncContextFactory.java
index 1775c75..733f25c 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/DefaultSyncContextFactory.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/DefaultSyncContextFactory.java
@@ -33,6 +33,8 @@ import org.eclipse.aether.spi.locator.Service;
import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.spi.synccontext.SyncContextFactory;
+import static java.util.Objects.requireNonNull;
+
/**
* Default {@link SyncContextFactory} implementation that uses named locks.
*/
@@ -78,6 +80,7 @@ public final class DefaultSyncContextFactory
@Override
public SyncContext newInstance( final RepositorySystemSession session, final boolean shared )
{
+ requireNonNull( session, "session cannot be null" );
return namedLockFactoryAdapter.newInstance( session, shared );
}
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/legacy/DefaultSyncContextFactory.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/legacy/DefaultSyncContextFactory.java
index 7925ac6..669f558 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/legacy/DefaultSyncContextFactory.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/legacy/DefaultSyncContextFactory.java
@@ -31,6 +31,8 @@ import org.eclipse.aether.spi.locator.Service;
import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.spi.synccontext.SyncContextFactory;
+import static java.util.Objects.requireNonNull;
+
/**
* Deprecated {@link org.eclipse.aether.impl.SyncContextFactory} implementation that delegates to proper
* {@link SyncContextFactory} implementation. Used in Guice/SISU where we cannot bind same instance to two keys,
@@ -66,6 +68,7 @@ public final class DefaultSyncContextFactory
@Override
public SyncContext newInstance( final RepositorySystemSession session, final boolean shared )
{
+ requireNonNull( session, "session cannot be null" );
return delegate.newInstance( session, shared );
}
}
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/impl/StubVersionRangeResolver.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/impl/StubVersionRangeResolver.java
index 924ff5a..d3ba164 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/impl/StubVersionRangeResolver.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/impl/StubVersionRangeResolver.java
@@ -23,12 +23,16 @@ import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.resolution.VersionRangeRequest;
import org.eclipse.aether.resolution.VersionRangeResult;
+import static java.util.Objects.requireNonNull;
+
public class StubVersionRangeResolver
implements VersionRangeResolver
{
public VersionRangeResult resolveVersionRange( RepositorySystemSession session, VersionRangeRequest request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
return new VersionRangeResult( request );
}
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/impl/StubVersionResolver.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/impl/StubVersionResolver.java
index 4baa461..f760f4c 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/impl/StubVersionResolver.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/impl/StubVersionResolver.java
@@ -24,6 +24,8 @@ import org.eclipse.aether.resolution.VersionRequest;
import org.eclipse.aether.resolution.VersionResolutionException;
import org.eclipse.aether.resolution.VersionResult;
+import static java.util.Objects.requireNonNull;
+
public class StubVersionResolver
implements VersionResolver
{
@@ -31,6 +33,8 @@ public class StubVersionResolver
public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
throws VersionResolutionException
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
return new VersionResult( request );
}
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultDeployerTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultDeployerTest.java
index fa7dc42..6664d28 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultDeployerTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultDeployerTest.java
@@ -19,6 +19,7 @@ package org.eclipse.aether.internal.impl;
* under the License.
*/
+import static java.util.Objects.requireNonNull;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
@@ -322,6 +323,8 @@ public class DefaultDeployerTest
public void merge( File current, File result )
throws RepositoryException
{
+ requireNonNull( current, "current cannot be null" );
+ requireNonNull( result, "result cannot be null" );
Properties props = new Properties();
try
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultRemoteRepositoryManagerTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultRemoteRepositoryManagerTest.java
index ecf1ba1..f799ed9 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultRemoteRepositoryManagerTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultRemoteRepositoryManagerTest.java
@@ -19,6 +19,7 @@ package org.eclipse.aether.internal.impl;
* under the License.
*/
+import static java.util.Objects.requireNonNull;
import static org.junit.Assert.*;
import java.util.Arrays;
@@ -268,6 +269,7 @@ public class DefaultRemoteRepositoryManagerTest
public String getEffectiveUpdatePolicy( RepositorySystemSession session, String policy1, String policy2 )
{
+ requireNonNull( session, "session cannot be null" );
return ordinalOfUpdatePolicy( policy1 ) < ordinalOfUpdatePolicy( policy2 ) ? policy1 : policy2;
}
@@ -295,6 +297,7 @@ public class DefaultRemoteRepositoryManagerTest
public boolean isUpdatedRequired( RepositorySystemSession session, long lastModified, String policy )
{
+ requireNonNull( session, "session cannot be null" );
return false;
}
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/RecordingRepositoryListener.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/RecordingRepositoryListener.java
index a6f91f1..a9956da 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/RecordingRepositoryListener.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/RecordingRepositoryListener.java
@@ -26,6 +26,8 @@ import java.util.List;
import org.eclipse.aether.RepositoryEvent;
import org.eclipse.aether.RepositoryListener;
+import static java.util.Objects.requireNonNull;
+
/**
* Collects observed repository events for later inspection.
*/
@@ -47,96 +49,115 @@ class RecordingRepositoryListener
public void artifactDescriptorInvalid( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void artifactDescriptorMissing( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void metadataInvalid( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void artifactResolving( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void artifactResolved( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void artifactDownloading( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void artifactDownloaded( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void metadataDownloaded( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void metadataDownloading( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void metadataResolving( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void metadataResolved( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void artifactInstalling( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void artifactInstalled( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void metadataInstalling( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void metadataInstalled( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void artifactDeploying( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void artifactDeployed( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void metadataDeploying( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
public void metadataDeployed( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
events.add( event );
}
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StaticUpdateCheckManager.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StaticUpdateCheckManager.java
index 334d544..c9889d0 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StaticUpdateCheckManager.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StaticUpdateCheckManager.java
@@ -29,6 +29,8 @@ import org.eclipse.aether.transfer.ArtifactTransferException;
import org.eclipse.aether.transfer.MetadataNotFoundException;
import org.eclipse.aether.transfer.MetadataTransferException;
+import static java.util.Objects.requireNonNull;
+
class StaticUpdateCheckManager
implements UpdateCheckManager
{
@@ -50,14 +52,20 @@ class StaticUpdateCheckManager
public void touchMetadata( RepositorySystemSession session, UpdateCheck<Metadata, MetadataTransferException> check )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( check, "check cannot be null" );
}
public void touchArtifact( RepositorySystemSession session, UpdateCheck<Artifact, ArtifactTransferException> check )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( check, "check cannot be null" );
}
public void checkMetadata( RepositorySystemSession session, UpdateCheck<Metadata, MetadataTransferException> check )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( check, "check cannot be null" );
check.setRequired( checkRequired );
if ( check.getLocalLastUpdated() != 0L && localUpToDate )
@@ -72,6 +80,8 @@ class StaticUpdateCheckManager
public void checkArtifact( RepositorySystemSession session, UpdateCheck<Artifact, ArtifactTransferException> check )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( check, "check cannot be null" );
check.setRequired( checkRequired );
if ( check.getLocalLastUpdated() != 0L && localUpToDate )
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubRemoteRepositoryManager.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubRemoteRepositoryManager.java
index 5471069..af66f34 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubRemoteRepositoryManager.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubRemoteRepositoryManager.java
@@ -27,6 +27,8 @@ import org.eclipse.aether.impl.RemoteRepositoryManager;
import org.eclipse.aether.repository.RemoteRepository;
import org.eclipse.aether.repository.RepositoryPolicy;
+import static java.util.Objects.requireNonNull;
+
public class StubRemoteRepositoryManager
implements RemoteRepositoryManager
{
@@ -40,12 +42,17 @@ public class StubRemoteRepositoryManager
List<RemoteRepository> recessiveRepositories,
boolean recessiveIsRaw )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( dominantRepositories, "dominantRepositories cannot be null" );
+ requireNonNull( recessiveRepositories, "recessiveRepositories cannot be null" );
return dominantRepositories;
}
public RepositoryPolicy getPolicy( RepositorySystemSession session, RemoteRepository repository, boolean releases,
boolean snapshots )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( repository, "repository cannot be null" );
RepositoryPolicy policy = repository.getPolicy( snapshots );
String checksums = session.getChecksumPolicy();
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubRepositoryEventDispatcher.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubRepositoryEventDispatcher.java
index b5168e4..b1e9db4 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubRepositoryEventDispatcher.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubRepositoryEventDispatcher.java
@@ -23,6 +23,8 @@ import org.eclipse.aether.RepositoryEvent;
import org.eclipse.aether.RepositoryListener;
import org.eclipse.aether.impl.RepositoryEventDispatcher;
+import static java.util.Objects.requireNonNull;
+
/**
*/
public class StubRepositoryEventDispatcher
@@ -31,6 +33,7 @@ public class StubRepositoryEventDispatcher
public void dispatch( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
RepositoryListener listener = event.getSession().getRepositoryListener();
if ( listener == null )
{
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubSyncContextFactory.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubSyncContextFactory.java
index e8ac3bf..7cea5e6 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubSyncContextFactory.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubSyncContextFactory.java
@@ -27,6 +27,8 @@ import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.spi.synccontext.SyncContextFactory;
import org.eclipse.aether.metadata.Metadata;
+import static java.util.Objects.requireNonNull;
+
/**
*
*/
@@ -36,6 +38,7 @@ public class StubSyncContextFactory
public SyncContext newInstance( RepositorySystemSession session, boolean shared )
{
+ requireNonNull( session, "session cannot be null" );
return new SyncContext()
{
public void close()
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubVersionRangeResolver.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubVersionRangeResolver.java
index ae415d7..5ace761 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubVersionRangeResolver.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubVersionRangeResolver.java
@@ -30,6 +30,8 @@ import org.eclipse.aether.version.Version;
import org.eclipse.aether.version.VersionConstraint;
import org.eclipse.aether.version.VersionScheme;
+import static java.util.Objects.requireNonNull;
+
/**
*/
public class StubVersionRangeResolver
@@ -41,6 +43,8 @@ public class StubVersionRangeResolver
public VersionRangeResult resolveVersionRange( RepositorySystemSession session, VersionRangeRequest request )
throws VersionRangeResolutionException
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
VersionRangeResult result = new VersionRangeResult( request );
try
{
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubVersionResolver.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubVersionResolver.java
index 10a54f1..9ef7e7a 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubVersionResolver.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/StubVersionResolver.java
@@ -24,6 +24,8 @@ import org.eclipse.aether.impl.VersionResolver;
import org.eclipse.aether.resolution.VersionRequest;
import org.eclipse.aether.resolution.VersionResult;
+import static java.util.Objects.requireNonNull;
+
/* *
*/
class StubVersionResolver
@@ -32,6 +34,8 @@ class StubVersionResolver
public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
VersionResult result = new VersionResult( request ).setVersion( request.getArtifact().getVersion() );
if ( request.getRepositories().size() > 0 )
{
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollectorTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollectorTest.java
index 3232040..e8f2600 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollectorTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollectorTest.java
@@ -18,6 +18,7 @@ package org.eclipse.aether.internal.impl.collect;
* specific language governing permissions and limitations
* under the License.
*/
+import static java.util.Objects.requireNonNull;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -615,9 +616,10 @@ public class DefaultDependencyCollectorTest
this.exclusions.put( id, exclusions != null ? Arrays.asList( exclusions ) : null );
}
- public DependencyManagement manageDependency( Dependency d )
+ public DependencyManagement manageDependency( Dependency dependency )
{
- String id = toKey( d );
+ requireNonNull( dependency, "dependency cannot be null" );
+ String id = toKey( dependency );
DependencyManagement mgmt = new DependencyManagement();
mgmt.setVersion( versions.get( id ) );
mgmt.setScope( scopes.get( id ) );
@@ -638,6 +640,7 @@ public class DefaultDependencyCollectorTest
public DependencyManager deriveChildManager( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
return this;
}
diff --git a/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/transport/AbstractTransporter.java b/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/transport/AbstractTransporter.java
index 39e632c..125d84d 100644
--- a/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/transport/AbstractTransporter.java
+++ b/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/transport/AbstractTransporter.java
@@ -24,6 +24,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.nio.Buffer;
import java.nio.ByteBuffer;
+import java.util.Objects;
import java.util.concurrent.atomic.AtomicBoolean;
import org.eclipse.aether.transfer.TransferCancelledException;
@@ -48,6 +49,8 @@ public abstract class AbstractTransporter
public void peek( PeekTask task )
throws Exception
{
+ Objects.requireNonNull( "task", "task cannot be null" );
+
failIfClosed( task );
implPeek( task );
}
@@ -64,6 +67,8 @@ public abstract class AbstractTransporter
public void get( GetTask task )
throws Exception
{
+ Objects.requireNonNull( "task", "task cannot be null" );
+
failIfClosed( task );
implGet( task );
}
@@ -144,6 +149,8 @@ public abstract class AbstractTransporter
public void put( PutTask task )
throws Exception
{
+ Objects.requireNonNull( "task", "task cannot be null" );
+
failIfClosed( task );
implPut( task );
}
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/IniArtifactDescriptorReader.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/IniArtifactDescriptorReader.java
index 4efe880..c571517 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/IniArtifactDescriptorReader.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/IniArtifactDescriptorReader.java
@@ -25,6 +25,8 @@ import org.eclipse.aether.resolution.ArtifactDescriptorException;
import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
import org.eclipse.aether.resolution.ArtifactDescriptorResult;
+import static java.util.Objects.requireNonNull;
+
/**
* An artifact descriptor reader that gets data from a simple text file on the classpath. The data file for an artifact
* with the coordinates {@code gid:aid:ext:ver} is expected to be named {@code gid_aid_ver.ini} and can optionally have
@@ -93,6 +95,8 @@ public class IniArtifactDescriptorReader
ArtifactDescriptorRequest request )
throws ArtifactDescriptorException
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
ArtifactDescriptorResult result = new ArtifactDescriptorResult( request );
for ( Artifact artifact = request.getArtifact();; )
{
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestLocalRepositoryManager.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestLocalRepositoryManager.java
index 19828e9..9785933 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestLocalRepositoryManager.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestLocalRepositoryManager.java
@@ -37,6 +37,8 @@ import org.eclipse.aether.repository.LocalRepository;
import org.eclipse.aether.repository.LocalRepositoryManager;
import org.eclipse.aether.repository.RemoteRepository;
+import static java.util.Objects.requireNonNull;
+
/**
* A simplistic local repository manager that uses a temporary base directory.
*/
@@ -71,6 +73,8 @@ public class TestLocalRepositoryManager
public String getPathForLocalArtifact( Artifact artifact )
{
+ requireNonNull( artifact, "artifact cannot be null" );
+
String artifactId = artifact.getArtifactId();
String groupId = artifact.getGroupId();
String extension = artifact.getExtension();
@@ -83,11 +87,16 @@ public class TestLocalRepositoryManager
public String getPathForRemoteArtifact( Artifact artifact, RemoteRepository repository, String context )
{
+ requireNonNull( artifact, "artifact cannot be null" );
+ requireNonNull( repository, "repository cannot be null" );
+
return getPathForLocalArtifact( artifact );
}
public String getPathForLocalMetadata( Metadata metadata )
{
+ requireNonNull( metadata, "metadata cannot be null" );
+
String artifactId = metadata.getArtifactId();
String groupId = metadata.getGroupId();
String version = metadata.getVersion();
@@ -96,11 +105,17 @@ public class TestLocalRepositoryManager
public String getPathForRemoteMetadata( Metadata metadata, RemoteRepository repository, String context )
{
+ requireNonNull( metadata, "metadata cannot be null" );
+ requireNonNull( repository, "repository cannot be null" );
+
return getPathForLocalMetadata( metadata );
}
public LocalArtifactResult find( RepositorySystemSession session, LocalArtifactRequest request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
+
Artifact artifact = request.getArtifact();
LocalArtifactResult result = new LocalArtifactResult( request );
@@ -113,11 +128,17 @@ public class TestLocalRepositoryManager
public void add( RepositorySystemSession session, LocalArtifactRegistration request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
+
artifactRegistrations.add( request.getArtifact() );
}
public LocalMetadataResult find( RepositorySystemSession session, LocalMetadataRequest request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
+
Metadata metadata = request.getMetadata();
LocalMetadataResult result = new LocalMetadataResult( request );
@@ -129,6 +150,9 @@ public class TestLocalRepositoryManager
public void add( RepositorySystemSession session, LocalMetadataRegistration request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
+
metadataRegistrations.add( request.getMetadata() );
}
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestVersionScheme.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestVersionScheme.java
index e6aa2ed..5fd5c8a 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestVersionScheme.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestVersionScheme.java
@@ -28,6 +28,8 @@ import org.eclipse.aether.version.VersionConstraint;
import org.eclipse.aether.version.VersionRange;
import org.eclipse.aether.version.VersionScheme;
+import static java.util.Objects.requireNonNull;
+
/**
* A version scheme using a generic version syntax.
*/
@@ -37,18 +39,21 @@ final class TestVersionScheme
public Version parseVersion( final String version )
{
+ requireNonNull( version, "version cannot be null" );
return new TestVersion( version );
}
public VersionRange parseVersionRange( final String range )
throws InvalidVersionSpecificationException
{
+ requireNonNull( range, "range cannot be null" );
return new TestVersionRange( range );
}
public VersionConstraint parseVersionConstraint( final String constraint )
throws InvalidVersionSpecificationException
{
+ requireNonNull( constraint, "constraint cannot be null" );
Collection<VersionRange> ranges = new ArrayList<>();
String process = constraint;
diff --git a/maven-resolver-transport-classpath/src/main/java/org/eclipse/aether/transport/classpath/ClasspathTransporterFactory.java b/maven-resolver-transport-classpath/src/main/java/org/eclipse/aether/transport/classpath/ClasspathTransporterFactory.java
index a1004be..5f5b48d 100644
--- a/maven-resolver-transport-classpath/src/main/java/org/eclipse/aether/transport/classpath/ClasspathTransporterFactory.java
+++ b/maven-resolver-transport-classpath/src/main/java/org/eclipse/aether/transport/classpath/ClasspathTransporterFactory.java
@@ -8,9 +8,9 @@ package org.eclipse.aether.transport.classpath;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -21,6 +21,8 @@ package org.eclipse.aether.transport.classpath;
import javax.inject.Named;
+import java.util.Objects;
+
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.repository.RemoteRepository;
import org.eclipse.aether.spi.connector.transport.Transporter;
@@ -67,7 +69,7 @@ public final class ClasspathTransporterFactory
/**
* Sets the priority of this component.
- *
+ *
* @param priority The priority.
* @return This component for chaining, never {@code null}.
*/
@@ -80,6 +82,9 @@ public final class ClasspathTransporterFactory
public Transporter newInstance( RepositorySystemSession session, RemoteRepository repository )
throws NoTransporterException
{
+ Objects.requireNonNull( "session", "session cannot be null" );
+ Objects.requireNonNull( "repository", "repository cannot be null" );
+
return new ClasspathTransporter( session, repository );
}
diff --git a/maven-resolver-transport-file/src/main/java/org/eclipse/aether/transport/file/FileTransporterFactory.java b/maven-resolver-transport-file/src/main/java/org/eclipse/aether/transport/file/FileTransporterFactory.java
index bf78a6b..42e651f 100644
--- a/maven-resolver-transport-file/src/main/java/org/eclipse/aether/transport/file/FileTransporterFactory.java
+++ b/maven-resolver-transport-file/src/main/java/org/eclipse/aether/transport/file/FileTransporterFactory.java
@@ -8,9 +8,9 @@ package org.eclipse.aether.transport.file;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -21,6 +21,8 @@ package org.eclipse.aether.transport.file;
import javax.inject.Named;
+import java.util.Objects;
+
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.repository.RemoteRepository;
import org.eclipse.aether.spi.connector.transport.Transporter;
@@ -54,7 +56,7 @@ public final class FileTransporterFactory
/**
* Sets the priority of this component.
- *
+ *
* @param priority The priority.
* @return This component for chaining, never {@code null}.
*/
@@ -67,6 +69,9 @@ public final class FileTransporterFactory
public Transporter newInstance( RepositorySystemSession session, RemoteRepository repository )
throws NoTransporterException
{
+ Objects.requireNonNull( "session", "session cannot be null" );
+ Objects.requireNonNull( "repository", "repository cannot be null" );
+
return new FileTransporter( repository );
}
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/HttpTransporterFactory.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/HttpTransporterFactory.java
index efeb209..e748836 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/HttpTransporterFactory.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/HttpTransporterFactory.java
@@ -8,9 +8,9 @@ package org.eclipse.aether.transport.http;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -21,6 +21,8 @@ package org.eclipse.aether.transport.http;
import javax.inject.Named;
+import java.util.Objects;
+
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.repository.RemoteRepository;
import org.eclipse.aether.spi.connector.transport.Transporter;
@@ -56,7 +58,7 @@ public final class HttpTransporterFactory
/**
* Sets the priority of this component.
- *
+ *
* @param priority The priority.
* @return This component for chaining, never {@code null}.
*/
@@ -70,6 +72,9 @@ public final class HttpTransporterFactory
public Transporter newInstance( RepositorySystemSession session, RemoteRepository repository )
throws NoTransporterException
{
+ Objects.requireNonNull( "session", "session cannot be null" );
+ Objects.requireNonNull( "repository", "repository cannot be null" );
+
return new HttpTransporter( repository, session );
}
diff --git a/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/internal/transport/wagon/PlexusWagonConfigurator.java b/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/internal/transport/wagon/PlexusWagonConfigurator.java
index a6d150c..7f8d7dc 100644
--- a/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/internal/transport/wagon/PlexusWagonConfigurator.java
+++ b/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/internal/transport/wagon/PlexusWagonConfigurator.java
@@ -8,9 +8,9 @@ package org.eclipse.aether.internal.transport.wagon;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -62,6 +62,9 @@ public class PlexusWagonConfigurator
public void configure( Wagon wagon, Object configuration )
throws Exception
{
+ requireNonNull( wagon, "wagon cannot be null" );
+ requireNonNull( configuration, "configuration cannot be null" );
+
PlexusConfiguration config;
if ( configuration instanceof PlexusConfiguration )
{
@@ -71,10 +74,6 @@ public class PlexusWagonConfigurator
{
config = new XmlPlexusConfiguration( (Xpp3Dom) configuration );
}
- else if ( configuration == null )
- {
- return;
- }
else
{
throw new IllegalArgumentException( "unexpected configuration type: "
diff --git a/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporter.java b/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporter.java
index c1eb637..6441d0c 100644
--- a/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporter.java
+++ b/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporter.java
@@ -29,6 +29,7 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Locale;
import java.util.Map;
+import java.util.Objects;
import java.util.Properties;
import java.util.Queue;
import java.util.UUID;
@@ -415,6 +416,8 @@ final class WagonTransporter
private void execute( TransportTask task, TaskRunner runner )
throws Exception
{
+ Objects.requireNonNull( "task", "task cannot be null" );
+
if ( closed.get() )
{
throw new IllegalStateException( "transporter closed, cannot execute task " + task );
@@ -625,9 +628,9 @@ final class WagonTransporter
throws IOException
{
File tmp = newTempFile();
-
+
try ( InputStream in = task.newInputStream();
- OutputStream out = new FileOutputStream( tmp ) )
+ OutputStream out = new FileOutputStream( tmp ) )
{
copy( out, in );
}
diff --git a/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporterFactory.java b/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporterFactory.java
index 75329e6..a8487d6 100644
--- a/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporterFactory.java
+++ b/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporterFactory.java
@@ -8,9 +8,9 @@ package org.eclipse.aether.transport.wagon;
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -22,6 +22,8 @@ package org.eclipse.aether.transport.wagon;
import javax.inject.Inject;
import javax.inject.Named;
+import java.util.Objects;
+
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.repository.RemoteRepository;
import org.eclipse.aether.spi.connector.transport.Transporter;
@@ -71,7 +73,7 @@ public final class WagonTransporterFactory
/**
* Sets the wagon provider to use to acquire and release wagon instances.
- *
+ *
* @param wagonProvider The wagon provider to use, may be {@code null}.
* @return This factory for chaining, never {@code null}.
*/
@@ -83,7 +85,7 @@ public final class WagonTransporterFactory
/**
* Sets the wagon configurator to use to apply provider-specific configuration to wagon instances.
- *
+ *
* @param wagonConfigurator The wagon configurator to use, may be {@code null}.
* @return This factory for chaining, never {@code null}.
*/
@@ -100,7 +102,7 @@ public final class WagonTransporterFactory
/**
* Sets the priority of this component.
- *
+ *
* @param priority The priority.
* @return This component for chaining, never {@code null}.
*/
@@ -113,6 +115,9 @@ public final class WagonTransporterFactory
public Transporter newInstance( RepositorySystemSession session, RemoteRepository repository )
throws NoTransporterException
{
+ Objects.requireNonNull( "session", "session cannot be null" );
+ Objects.requireNonNull( "repository", "repository cannot be null" );
+
return new WagonTransporter( wagonProvider, wagonConfigurator, repository, session );
}
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AbstractPatternDependencyFilter.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AbstractPatternDependencyFilter.java
index 87d22ee..9929074 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AbstractPatternDependencyFilter.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AbstractPatternDependencyFilter.java
@@ -35,6 +35,8 @@ import org.eclipse.aether.version.Version;
import org.eclipse.aether.version.VersionRange;
import org.eclipse.aether.version.VersionScheme;
+import static java.util.Objects.requireNonNull;
+
/**
*/
class AbstractPatternDependencyFilter
@@ -95,6 +97,8 @@ class AbstractPatternDependencyFilter
public boolean accept( final DependencyNode node, List<DependencyNode> parents )
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( parents, "parents cannot be null" );
final Dependency dependency = node.getDependency();
if ( dependency == null )
{
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AndDependencyFilter.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AndDependencyFilter.java
index 6a45d78..3266073 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AndDependencyFilter.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AndDependencyFilter.java
@@ -28,6 +28,8 @@ import java.util.Set;
import org.eclipse.aether.graph.DependencyFilter;
import org.eclipse.aether.graph.DependencyNode;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency filter that combines zero or more other filters using a logical {@code AND}. The resulting filter
* accepts a given dependency node if and only if all constituent filters accept it.
@@ -87,6 +89,8 @@ public final class AndDependencyFilter
public boolean accept( DependencyNode node, List<DependencyNode> parents )
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( parents, "parents cannot be null" );
for ( DependencyFilter filter : filters )
{
if ( !filter.accept( node, parents ) )
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/ExclusionsDependencyFilter.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/ExclusionsDependencyFilter.java
index ca76539..7513949 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/ExclusionsDependencyFilter.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/ExclusionsDependencyFilter.java
@@ -28,6 +28,8 @@ import org.eclipse.aether.graph.Dependency;
import org.eclipse.aether.graph.DependencyFilter;
import org.eclipse.aether.graph.DependencyNode;
+import static java.util.Objects.requireNonNull;
+
/**
* A simple filter to exclude artifacts based on either artifact id or group id and artifact id.
*/
@@ -53,6 +55,8 @@ public final class ExclusionsDependencyFilter
public boolean accept( DependencyNode node, List<DependencyNode> parents )
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( parents, "parents cannot be null" );
Dependency dependency = node.getDependency();
if ( dependency == null )
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/ClassicDependencyManager.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/ClassicDependencyManager.java
index 25db443..01ecac3 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/ClassicDependencyManager.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/ClassicDependencyManager.java
@@ -34,6 +34,8 @@ import org.eclipse.aether.graph.Dependency;
import org.eclipse.aether.graph.Exclusion;
import org.eclipse.aether.util.artifact.JavaScopes;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency manager that mimics the way Maven 2.x works.
*/
@@ -80,6 +82,7 @@ public final class ClassicDependencyManager
public DependencyManager deriveChildManager( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
if ( depth >= 2 )
{
return this;
@@ -164,6 +167,7 @@ public final class ClassicDependencyManager
public DependencyManagement manageDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
DependencyManagement management = null;
Object key = getKey( dependency.getArtifact() );
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/DefaultDependencyManager.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/DefaultDependencyManager.java
index ab0efcf..2952a19 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/DefaultDependencyManager.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/DefaultDependencyManager.java
@@ -35,6 +35,8 @@ import org.eclipse.aether.graph.Dependency;
import org.eclipse.aether.graph.Exclusion;
import org.eclipse.aether.util.artifact.JavaScopes;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency manager managing dependencies on all levels supporting transitive dependency management.
* <p>
@@ -88,6 +90,7 @@ public final class DefaultDependencyManager
public DependencyManager deriveChildManager( final DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
Map<Object, String> versions = this.managedVersions;
Map<Object, String> scopes = this.managedScopes;
Map<Object, Boolean> optionals = this.managedOptionals;
@@ -160,6 +163,7 @@ public final class DefaultDependencyManager
public DependencyManagement manageDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
DependencyManagement management = null;
Object key = getKey( dependency.getArtifact() );
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/NoopDependencyManager.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/NoopDependencyManager.java
index ae8ee40..245c024 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/NoopDependencyManager.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/NoopDependencyManager.java
@@ -24,6 +24,8 @@ import org.eclipse.aether.collection.DependencyManagement;
import org.eclipse.aether.collection.DependencyManager;
import org.eclipse.aether.graph.Dependency;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency manager that does not do any dependency management.
*/
@@ -46,11 +48,13 @@ public final class NoopDependencyManager
public DependencyManager deriveChildManager( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
return this;
}
public DependencyManagement manageDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
return null;
}
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/TransitiveDependencyManager.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/TransitiveDependencyManager.java
index 3536e42..b5a0a2c 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/TransitiveDependencyManager.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/TransitiveDependencyManager.java
@@ -35,6 +35,8 @@ import org.eclipse.aether.graph.Dependency;
import org.eclipse.aether.graph.Exclusion;
import org.eclipse.aether.util.artifact.JavaScopes;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency manager managing transitive dependencies supporting transitive dependency management.
*
@@ -87,6 +89,7 @@ public final class TransitiveDependencyManager
public DependencyManager deriveChildManager( final DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
Map<Object, String> versions = managedVersions;
Map<Object, String> scopes = managedScopes;
Map<Object, Boolean> optionals = managedOptionals;
@@ -161,6 +164,7 @@ public final class TransitiveDependencyManager
public DependencyManagement manageDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
DependencyManagement management = null;
Object key = getKey( dependency.getArtifact() );
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/AndDependencySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/AndDependencySelector.java
index 8b11c8a..7e58458 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/AndDependencySelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/AndDependencySelector.java
@@ -30,6 +30,8 @@ import org.eclipse.aether.collection.DependencyCollectionContext;
import org.eclipse.aether.collection.DependencySelector;
import org.eclipse.aether.graph.Dependency;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency selector that combines zero or more other selectors using a logical {@code AND}. The resulting selector
* selects a given dependency if and only if all constituent selectors do so.
@@ -111,6 +113,7 @@ public final class AndDependencySelector
public boolean selectDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
for ( DependencySelector selector : selectors )
{
if ( !selector.selectDependency( dependency ) )
@@ -123,6 +126,7 @@ public final class AndDependencySelector
public DependencySelector deriveChildSelector( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
int seen = 0;
Set<DependencySelector> childSelectors = null;
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ExclusionDependencySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ExclusionDependencySelector.java
index cd7def0..ba92f22 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ExclusionDependencySelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ExclusionDependencySelector.java
@@ -30,6 +30,8 @@ import org.eclipse.aether.collection.DependencySelector;
import org.eclipse.aether.graph.Dependency;
import org.eclipse.aether.graph.Exclusion;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency selector that applies exclusions based on artifact coordinates.
*
@@ -78,6 +80,7 @@ public final class ExclusionDependencySelector
public boolean selectDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
Artifact artifact = dependency.getArtifact();
for ( Exclusion exclusion : exclusions )
{
@@ -117,6 +120,7 @@ public final class ExclusionDependencySelector
public DependencySelector deriveChildSelector( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
Dependency dependency = context.getDependency();
Collection<Exclusion> exclusions = ( dependency != null ) ? dependency.getExclusions() : null;
if ( exclusions == null || exclusions.isEmpty() )
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/OptionalDependencySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/OptionalDependencySelector.java
index 145484c..d384eb4 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/OptionalDependencySelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/OptionalDependencySelector.java
@@ -23,6 +23,8 @@ import org.eclipse.aether.collection.DependencyCollectionContext;
import org.eclipse.aether.collection.DependencySelector;
import org.eclipse.aether.graph.Dependency;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency selector that excludes optional dependencies which occur beyond level one of the dependency graph.
*
@@ -49,11 +51,13 @@ public final class OptionalDependencySelector
public boolean selectDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
return depth < 2 || !dependency.isOptional();
}
public DependencySelector deriveChildSelector( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
if ( depth >= 2 )
{
return this;
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ScopeDependencySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ScopeDependencySelector.java
index 75a8fd6..00fc26d 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ScopeDependencySelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ScopeDependencySelector.java
@@ -30,6 +30,8 @@ import org.eclipse.aether.collection.DependencyCollectionContext;
import org.eclipse.aether.collection.DependencySelector;
import org.eclipse.aether.graph.Dependency;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency selector that filters transitive dependencies based on their scope. Direct dependencies are always
* included regardless of their scope. <em>Note:</em> This filter does not assume any relationships between the scopes.
@@ -99,6 +101,7 @@ public final class ScopeDependencySelector
public boolean selectDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
if ( !transitive )
{
return true;
@@ -111,6 +114,7 @@ public final class ScopeDependencySelector
public DependencySelector deriveChildSelector( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
if ( this.transitive || context.getDependency() == null )
{
return this;
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/StaticDependencySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/StaticDependencySelector.java
index e3acc35..edcee44 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/StaticDependencySelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/StaticDependencySelector.java
@@ -23,6 +23,8 @@ import org.eclipse.aether.collection.DependencyCollectionContext;
import org.eclipse.aether.collection.DependencySelector;
import org.eclipse.aether.graph.Dependency;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency selector that always includes or excludes dependencies.
*/
@@ -44,11 +46,13 @@ public final class StaticDependencySelector
public boolean selectDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
return select;
}
public DependencySelector deriveChildSelector( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
return this;
}
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ChainedDependencyGraphTransformer.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ChainedDependencyGraphTransformer.java
index d7f1771..449eeeb 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ChainedDependencyGraphTransformer.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ChainedDependencyGraphTransformer.java
@@ -24,6 +24,8 @@ import org.eclipse.aether.collection.DependencyGraphTransformationContext;
import org.eclipse.aether.collection.DependencyGraphTransformer;
import org.eclipse.aether.graph.DependencyNode;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency graph transformer that chains other transformers.
*/
@@ -75,6 +77,8 @@ public final class ChainedDependencyGraphTransformer
public DependencyNode transformGraph( DependencyNode node, DependencyGraphTransformationContext context )
throws RepositoryException
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( context, "context cannot be null" );
for ( DependencyGraphTransformer transformer : transformers )
{
node = transformer.transformGraph( node, context );
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorter.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorter.java
index 7a07385..b8cc3ad 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorter.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorter.java
@@ -28,6 +28,7 @@ import java.util.IdentityHashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import static java.util.Objects.requireNonNull;
import org.eclipse.aether.RepositoryException;
import org.eclipse.aether.collection.DependencyGraphTransformationContext;
@@ -52,6 +53,8 @@ public final class ConflictIdSorter
public DependencyNode transformGraph( DependencyNode node, DependencyGraphTransformationContext context )
throws RepositoryException
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( context, "context cannot be null" );
Map<?, ?> conflictIds = (Map<?, ?>) context.get( TransformationContextKeys.CONFLICT_IDS );
if ( conflictIds == null )
{
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictMarker.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictMarker.java
index 85df74a..5a0092c 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictMarker.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictMarker.java
@@ -26,6 +26,7 @@ import java.util.HashSet;
import java.util.IdentityHashMap;
import java.util.Map;
import java.util.Set;
+import static java.util.Objects.requireNonNull;
import org.eclipse.aether.RepositoryException;
import org.eclipse.aether.artifact.Artifact;
@@ -53,6 +54,8 @@ public final class ConflictMarker
public DependencyNode transformGraph( DependencyNode node, DependencyGraphTransformationContext context )
throws RepositoryException
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( context, "context cannot be null" );
@SuppressWarnings( "unchecked" )
Map<String, Object> stats = (Map<String, Object>) context.get( TransformationContextKeys.STATS );
long time1 = System.nanoTime();
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
index e4471a0..fdc424d 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
@@ -117,6 +117,8 @@ public final class ConflictResolver
public DependencyNode transformGraph( DependencyNode node, DependencyGraphTransformationContext context )
throws RepositoryException
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( context, "context cannot be null" );
List<?> sortedConflictIds = (List<?>) context.get( TransformationContextKeys.SORTED_CONFLICT_IDS );
if ( sortedConflictIds == null )
{
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/JavaDependencyContextRefiner.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/JavaDependencyContextRefiner.java
index d96e04e..5d5b0cc 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/JavaDependencyContextRefiner.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/JavaDependencyContextRefiner.java
@@ -26,6 +26,8 @@ import org.eclipse.aether.graph.Dependency;
import org.eclipse.aether.graph.DependencyNode;
import org.eclipse.aether.util.artifact.JavaScopes;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency graph transformer that refines the request context for nodes that belong to the "project" context by
* appending the classpath type to which the node belongs. For instance, a compile-time project dependency will be
@@ -40,6 +42,8 @@ public final class JavaDependencyContextRefiner
public DependencyNode transformGraph( DependencyNode node, DependencyGraphTransformationContext context )
throws RepositoryException
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( context, "context cannot be null" );
String ctx = node.getRequestContext();
if ( "project".equals( ctx ) )
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.java
index 2e0c34f..28ead5e 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.java
@@ -36,6 +36,8 @@ import org.eclipse.aether.util.graph.visitor.PathRecordingDependencyVisitor;
import org.eclipse.aether.version.Version;
import org.eclipse.aether.version.VersionConstraint;
+import static java.util.Objects.requireNonNull;
+
/**
* A version selector for use with {@link ConflictResolver} that resolves version conflicts using a nearest-wins
* strategy. If there is no single node that satisfies all encountered version ranges, the selector will fail.
@@ -151,6 +153,8 @@ public final class NearestVersionSelector
{
public boolean accept( DependencyNode node, List<DependencyNode> parents )
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( parents, "parents cannot be null" );
return context.isIncluded( node );
}
};
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NoopDependencyGraphTransformer.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NoopDependencyGraphTransformer.java
index 55b6175..f217c4f 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NoopDependencyGraphTransformer.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NoopDependencyGraphTransformer.java
@@ -24,6 +24,8 @@ import org.eclipse.aether.collection.DependencyGraphTransformationContext;
import org.eclipse.aether.collection.DependencyGraphTransformer;
import org.eclipse.aether.graph.DependencyNode;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency graph transformer that does not perform any changes on its input.
*/
@@ -47,6 +49,8 @@ public final class NoopDependencyGraphTransformer
public DependencyNode transformGraph( DependencyNode node, DependencyGraphTransformationContext context )
throws RepositoryException
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( context, "context cannot be null" );
return node;
}
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
index 0823483..eda5a9d 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
@@ -29,6 +29,8 @@ import org.eclipse.aether.collection.DependencyCollectionContext;
import org.eclipse.aether.collection.DependencyTraverser;
import org.eclipse.aether.graph.Dependency;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency traverser that combines zero or more other traversers using a logical {@code AND}. The resulting
* traverser enables processing of child dependencies if and only if all constituent traversers request traversal.
@@ -111,6 +113,7 @@ public final class AndDependencyTraverser
public boolean traverseDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
for ( DependencyTraverser traverser : traversers )
{
if ( !traverser.traverseDependency( dependency ) )
@@ -123,6 +126,7 @@ public final class AndDependencyTraverser
public DependencyTraverser deriveChildTraverser( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
int seen = 0;
Set<DependencyTraverser> childTraversers = null;
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverser.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverser.java
index 40ce616..67ba4e3 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverser.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverser.java
@@ -24,6 +24,8 @@ import org.eclipse.aether.collection.DependencyCollectionContext;
import org.eclipse.aether.collection.DependencyTraverser;
import org.eclipse.aether.graph.Dependency;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency traverser that excludes the dependencies of fat artifacts from the traversal. Fat artifacts are
* artifacts that have the property {@link org.eclipse.aether.artifact.ArtifactProperties#INCLUDES_DEPENDENCIES} set to
@@ -44,12 +46,14 @@ public final class FatArtifactTraverser
public boolean traverseDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
String prop = dependency.getArtifact().getProperty( ArtifactProperties.INCLUDES_DEPENDENCIES, "" );
return !Boolean.parseBoolean( prop );
}
public DependencyTraverser deriveChildTraverser( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
return this;
}
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverser.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverser.java
index 5e2a703..3d605ae 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverser.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverser.java
@@ -23,6 +23,8 @@ import org.eclipse.aether.collection.DependencyCollectionContext;
import org.eclipse.aether.collection.DependencyTraverser;
import org.eclipse.aether.graph.Dependency;
+import static java.util.Objects.requireNonNull;
+
/**
* A dependency traverser which always or never traverses children.
*/
@@ -44,11 +46,13 @@ public final class StaticDependencyTraverser
public boolean traverseDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
return traverse;
}
public DependencyTraverser deriveChildTraverser( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
return this;
}
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedRepositoryListener.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedRepositoryListener.java
index c268a9d..1b310fe 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedRepositoryListener.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedRepositoryListener.java
@@ -28,6 +28,8 @@ import org.eclipse.aether.AbstractRepositoryListener;
import org.eclipse.aether.RepositoryEvent;
import org.eclipse.aether.RepositoryListener;
+import static java.util.Objects.requireNonNull;
+
/**
* A repository listener that delegates to zero or more other listeners (multicast). The list of target listeners is
* thread-safe, i.e. target listeners can be added or removed by any thread at any time.
@@ -134,6 +136,7 @@ public final class ChainedRepositoryListener
@Override
public void artifactDeployed( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -150,6 +153,7 @@ public final class ChainedRepositoryListener
@Override
public void artifactDeploying( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -166,6 +170,7 @@ public final class ChainedRepositoryListener
@Override
public void artifactDescriptorInvalid( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -182,6 +187,7 @@ public final class ChainedRepositoryListener
@Override
public void artifactDescriptorMissing( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -198,6 +204,7 @@ public final class ChainedRepositoryListener
@Override
public void artifactDownloaded( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -214,6 +221,7 @@ public final class ChainedRepositoryListener
@Override
public void artifactDownloading( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -230,6 +238,7 @@ public final class ChainedRepositoryListener
@Override
public void artifactInstalled( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -246,6 +255,7 @@ public final class ChainedRepositoryListener
@Override
public void artifactInstalling( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -262,6 +272,7 @@ public final class ChainedRepositoryListener
@Override
public void artifactResolved( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -278,6 +289,7 @@ public final class ChainedRepositoryListener
@Override
public void artifactResolving( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -294,6 +306,7 @@ public final class ChainedRepositoryListener
@Override
public void metadataDeployed( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -310,6 +323,7 @@ public final class ChainedRepositoryListener
@Override
public void metadataDeploying( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -326,6 +340,7 @@ public final class ChainedRepositoryListener
@Override
public void metadataDownloaded( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -342,6 +357,7 @@ public final class ChainedRepositoryListener
@Override
public void metadataDownloading( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -358,6 +374,7 @@ public final class ChainedRepositoryListener
@Override
public void metadataInstalled( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -374,6 +391,7 @@ public final class ChainedRepositoryListener
@Override
public void metadataInstalling( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -390,6 +408,7 @@ public final class ChainedRepositoryListener
@Override
public void metadataInvalid( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -406,6 +425,7 @@ public final class ChainedRepositoryListener
@Override
public void metadataResolved( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
@@ -422,6 +442,7 @@ public final class ChainedRepositoryListener
@Override
public void metadataResolving( RepositoryEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( RepositoryListener listener : listeners )
{
try
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedTransferListener.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedTransferListener.java
index 42e23b5..d664886 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedTransferListener.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedTransferListener.java
@@ -29,6 +29,8 @@ import org.eclipse.aether.transfer.TransferCancelledException;
import org.eclipse.aether.transfer.TransferEvent;
import org.eclipse.aether.transfer.TransferListener;
+import static java.util.Objects.requireNonNull;
+
/**
* A transfer listener that delegates to zero or more other listeners (multicast). The list of target listeners is
* thread-safe, i.e. target listeners can be added or removed by any thread at any time.
@@ -136,6 +138,7 @@ public final class ChainedTransferListener
public void transferInitiated( TransferEvent event )
throws TransferCancelledException
{
+ requireNonNull( event, "event cannot be null" );
for ( TransferListener listener : listeners )
{
try
@@ -153,6 +156,7 @@ public final class ChainedTransferListener
public void transferStarted( TransferEvent event )
throws TransferCancelledException
{
+ requireNonNull( event, "event cannot be null" );
for ( TransferListener listener : listeners )
{
try
@@ -170,6 +174,7 @@ public final class ChainedTransferListener
public void transferProgressed( TransferEvent event )
throws TransferCancelledException
{
+ requireNonNull( event, "event cannot be null" );
for ( TransferListener listener : listeners )
{
try
@@ -187,6 +192,7 @@ public final class ChainedTransferListener
public void transferCorrupted( TransferEvent event )
throws TransferCancelledException
{
+ requireNonNull( event, "event cannot be null" );
for ( TransferListener listener : listeners )
{
try
@@ -203,6 +209,7 @@ public final class ChainedTransferListener
@Override
public void transferSucceeded( TransferEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( TransferListener listener : listeners )
{
try
@@ -219,6 +226,7 @@ public final class ChainedTransferListener
@Override
public void transferFailed( TransferEvent event )
{
+ requireNonNull( event, "event cannot be null" );
for ( TransferListener listener : listeners )
{
try
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ChainedAuthentication.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ChainedAuthentication.java
index 57ae4ee..ee303e7 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ChainedAuthentication.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ChainedAuthentication.java
@@ -27,6 +27,8 @@ import org.eclipse.aether.repository.Authentication;
import org.eclipse.aether.repository.AuthenticationContext;
import org.eclipse.aether.repository.AuthenticationDigest;
+import static java.util.Objects.requireNonNull;
+
/**
* Authentication that aggregates other authentication blocks. When multiple input authentication blocks provide the
* same authentication key, the last written value wins.
@@ -63,6 +65,7 @@ final class ChainedAuthentication
public void fill( AuthenticationContext context, String key, Map<String, String> data )
{
+ requireNonNull( context, "context cannot be null" );
for ( Authentication authentication : authentications )
{
authentication.fill( context, key, data );
@@ -71,6 +74,7 @@ final class ChainedAuthentication
public void digest( AuthenticationDigest digest )
{
+ requireNonNull( digest, "digest cannot be null" );
for ( Authentication authentication : authentications )
{
authentication.digest( digest );
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ChainedWorkspaceReader.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ChainedWorkspaceReader.java
index 02740da..1f41d21 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ChainedWorkspaceReader.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ChainedWorkspaceReader.java
@@ -30,6 +30,8 @@ import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.repository.WorkspaceReader;
import org.eclipse.aether.repository.WorkspaceRepository;
+import static java.util.Objects.requireNonNull;
+
/**
* A workspace reader that delegates to a chain of other readers, effectively aggregating their contents.
*/
@@ -90,6 +92,7 @@ public final class ChainedWorkspaceReader
public File findArtifact( Artifact artifact )
{
+ requireNonNull( artifact, "artifact cannot be null" );
File file = null;
for ( WorkspaceReader reader : readers )
@@ -106,6 +109,7 @@ public final class ChainedWorkspaceReader
public List<String> findVersions( Artifact artifact )
{
+ requireNonNull( artifact, "artifact cannot be null" );
Collection<String> versions = new LinkedHashSet<>();
for ( WorkspaceReader reader : readers )
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ComponentAuthentication.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ComponentAuthentication.java
index 34f83f2..d73a0f5 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ComponentAuthentication.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ComponentAuthentication.java
@@ -50,11 +50,13 @@ final class ComponentAuthentication
public void fill( AuthenticationContext context, String key, Map<String, String> data )
{
+ requireNonNull( context, "context cannot be null" );
context.put( this.key, value );
}
public void digest( AuthenticationDigest digest )
{
+ requireNonNull( digest, "digest cannot be null" );
if ( value != null )
{
digest.update( key, value.getClass().getName() );
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ConservativeAuthenticationSelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ConservativeAuthenticationSelector.java
index f1e22f2..04f60f8 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ConservativeAuthenticationSelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ConservativeAuthenticationSelector.java
@@ -48,6 +48,7 @@ public final class ConservativeAuthenticationSelector
public Authentication getAuthentication( RemoteRepository repository )
{
+ requireNonNull( repository, "repository cannot be null" );
Authentication auth = repository.getAuthentication();
if ( auth != null )
{
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ConservativeProxySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ConservativeProxySelector.java
index c71fe13..bc7eebd 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ConservativeProxySelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ConservativeProxySelector.java
@@ -47,6 +47,7 @@ public final class ConservativeProxySelector
public Proxy getProxy( RemoteRepository repository )
{
+ requireNonNull( repository, "repository cannot be null" );
Proxy proxy = repository.getProxy();
if ( proxy != null )
{
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultAuthenticationSelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultAuthenticationSelector.java
index c104be3..d631222 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultAuthenticationSelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultAuthenticationSelector.java
@@ -26,6 +26,8 @@ import org.eclipse.aether.repository.Authentication;
import org.eclipse.aether.repository.AuthenticationSelector;
import org.eclipse.aether.repository.RemoteRepository;
+import static java.util.Objects.requireNonNull;
+
/**
* A simple authentication selector that selects authentication based on repository identifiers.
*/
@@ -58,6 +60,7 @@ public final class DefaultAuthenticationSelector
public Authentication getAuthentication( RemoteRepository repository )
{
+ requireNonNull( repository, "repository cannot be null" );
return repos.get( repository.getId() );
}
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java
index 9dfa955..f6161c0 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java
@@ -26,6 +26,8 @@ import java.util.List;
import org.eclipse.aether.repository.MirrorSelector;
import org.eclipse.aether.repository.RemoteRepository;
+import static java.util.Objects.requireNonNull;
+
/**
* A simple mirror selector that selects mirrors based on repository identifiers.
*/
@@ -75,6 +77,7 @@ public final class DefaultMirrorSelector
public RemoteRepository getMirror( RemoteRepository repository )
{
+ requireNonNull( repository, "repository cannot be null" );
MirrorDef mirror = findMirror( repository );
if ( mirror == null )
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultProxySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultProxySelector.java
index b94b3d2..09e0ce9 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultProxySelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultProxySelector.java
@@ -59,6 +59,7 @@ public final class DefaultProxySelector
public Proxy getProxy( RemoteRepository repository )
{
+ requireNonNull( repository, "repository cannot be null" );
Map<String, ProxyDef> candidates = new HashMap<>();
String host = repository.getHost();
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/JreProxySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/JreProxySelector.java
index a09b435..69410fc 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/JreProxySelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/JreProxySelector.java
@@ -36,6 +36,8 @@ import org.eclipse.aether.repository.Proxy;
import org.eclipse.aether.repository.ProxySelector;
import org.eclipse.aether.repository.RemoteRepository;
+import static java.util.Objects.requireNonNull;
+
/**
* A proxy selector that uses the {@link java.net.ProxySelector#getDefault() JRE's global proxy selector}. In
* combination with the system property {@code java.net.useSystemProxies}, this proxy selector can be employed to pick
@@ -57,6 +59,7 @@ public final class JreProxySelector
public Proxy getProxy( RemoteRepository repository )
{
+ requireNonNull( repository, "repository cannot be null" );
List<java.net.Proxy> proxies = null;
try
{
@@ -116,6 +119,7 @@ public final class JreProxySelector
public void fill( AuthenticationContext context, String key, Map<String, String> data )
{
+ requireNonNull( context, "digest cannot be null" );
Proxy proxy = context.getProxy();
if ( proxy == null )
{
@@ -161,6 +165,7 @@ public final class JreProxySelector
public void digest( AuthenticationDigest digest )
{
+ requireNonNull( digest, "digest cannot be null" );
// we don't know anything about the JRE's current authenticator, assume the worst (i.e. interactive)
digest.update( UUID.randomUUID().toString() );
}
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/SecretAuthentication.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/SecretAuthentication.java
index 57df653..bb7c5bc 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/SecretAuthentication.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/SecretAuthentication.java
@@ -110,6 +110,7 @@ final class SecretAuthentication
public void fill( AuthenticationContext context, String key, Map<String, String> data )
{
+ requireNonNull( context, "context cannot be null" );
char[] secret = copy( value );
xor( secret );
context.put( this.key, secret );
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/SimpleArtifactDescriptorPolicy.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/SimpleArtifactDescriptorPolicy.java
index ccf1ba8..3f6831d 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/SimpleArtifactDescriptorPolicy.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/SimpleArtifactDescriptorPolicy.java
@@ -23,6 +23,8 @@ import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.resolution.ArtifactDescriptorPolicy;
import org.eclipse.aether.resolution.ArtifactDescriptorPolicyRequest;
+import static java.util.Objects.requireNonNull;
+
/**
* An artifact descriptor error policy that allows to control error handling at a global level.
*/
@@ -55,6 +57,8 @@ public final class SimpleArtifactDescriptorPolicy
public int getPolicy( RepositorySystemSession session, ArtifactDescriptorPolicyRequest request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
return policy;
}
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/SimpleResolutionErrorPolicy.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/SimpleResolutionErrorPolicy.java
index 4fa9059..d56266e 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/SimpleResolutionErrorPolicy.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/SimpleResolutionErrorPolicy.java
@@ -25,6 +25,8 @@ import org.eclipse.aether.metadata.Metadata;
import org.eclipse.aether.resolution.ResolutionErrorPolicy;
import org.eclipse.aether.resolution.ResolutionErrorPolicyRequest;
+import static java.util.Objects.requireNonNull;
+
/**
* A resolution error policy that allows to control caching for artifacts and metadata at a global level.
*/
@@ -71,11 +73,15 @@ public final class SimpleResolutionErrorPolicy
public int getArtifactPolicy( RepositorySystemSession session, ResolutionErrorPolicyRequest<Artifact> request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
return artifactPolicy;
}
public int getMetadataPolicy( RepositorySystemSession session, ResolutionErrorPolicyRequest<Metadata> request )
{
+ requireNonNull( session, "session cannot be null" );
+ requireNonNull( request, "request cannot be null" );
return metadataPolicy;
}
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/StringAuthentication.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/StringAuthentication.java
index 5012744..74edfb8 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/StringAuthentication.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/StringAuthentication.java
@@ -51,11 +51,13 @@ final class StringAuthentication
public void fill( AuthenticationContext context, String key, Map<String, String> data )
{
+ requireNonNull( context, "context cannot be null" );
context.put( this.key, value );
}
public void digest( AuthenticationDigest digest )
{
+ requireNonNull( digest, "digest cannot be null" );
digest.update( key, value );
}
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersionScheme.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersionScheme.java
index c191a90..9b87abd 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersionScheme.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersionScheme.java
@@ -28,6 +28,8 @@ import org.eclipse.aether.version.VersionConstraint;
import org.eclipse.aether.version.VersionRange;
import org.eclipse.aether.version.VersionScheme;
+import static java.util.Objects.requireNonNull;
+
/**
* A version scheme using a generic version syntax and common sense sorting.
* <p>
@@ -67,18 +69,21 @@ public final class GenericVersionScheme
public Version parseVersion( final String version )
throws InvalidVersionSpecificationException
{
+ requireNonNull( version, "version cannot be null" );
return new GenericVersion( version );
}
public VersionRange parseVersionRange( final String range )
throws InvalidVersionSpecificationException
{
+ requireNonNull( range, "range cannot be null" );
return new GenericVersionRange( range );
}
public VersionConstraint parseVersionConstraint( final String constraint )
throws InvalidVersionSpecificationException
{
+ requireNonNull( constraint, "constraint cannot be null" );
Collection<VersionRange> ranges = new ArrayList<>();
String process = constraint;
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/AbstractDependencyFilterTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/AbstractDependencyFilterTest.java
index 835c1ce..f8bc5f4 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/AbstractDependencyFilterTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/AbstractDependencyFilterTest.java
@@ -24,6 +24,8 @@ import java.util.List;
import org.eclipse.aether.graph.DependencyFilter;
import org.eclipse.aether.graph.DependencyNode;
+import static java.util.Objects.requireNonNull;
+
public abstract class AbstractDependencyFilterTest
{
@@ -34,6 +36,8 @@ public abstract class AbstractDependencyFilterTest
public boolean accept( DependencyNode node, List<DependencyNode> parents )
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( parents, "parents cannot be null" );
return true;
}
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/selector/AndDependencySelectorTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/selector/AndDependencySelectorTest.java
index 3a6bb1b..f49456b 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/selector/AndDependencySelectorTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/selector/AndDependencySelectorTest.java
@@ -19,14 +19,19 @@ package org.eclipse.aether.util.graph.selector;
* under the License.
*/
+import static java.util.Objects.requireNonNull;
import static org.junit.Assert.*;
+import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.collection.DependencyCollectionContext;
import org.eclipse.aether.collection.DependencySelector;
import org.eclipse.aether.graph.Dependency;
+import org.eclipse.aether.internal.test.util.TestUtils;
import org.junit.Test;
+import java.util.Collections;
+
public class AndDependencySelectorTest
{
@@ -57,11 +62,13 @@ public class AndDependencySelectorTest
public boolean selectDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
return select;
}
public DependencySelector deriveChildSelector( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
return child;
}
@@ -109,7 +116,11 @@ public class AndDependencySelectorTest
DependencySelector other1 = new DummyDependencySelector( true );
DependencySelector other2 = new DummyDependencySelector( false );
DependencySelector selector = new AndDependencySelector( other1, other2 );
- assertSame( selector, selector.deriveChildSelector( null ) );
+ RepositorySystemSession session = TestUtils.newSession();
+ DependencyCollectionContext context = TestUtils.newCollectionContext( session,
+ null,
+ Collections.emptyList() );
+ assertSame( selector, selector.deriveChildSelector( context ) );
}
@Test
@@ -118,7 +129,11 @@ public class AndDependencySelectorTest
DependencySelector other1 = new DummyDependencySelector( true );
DependencySelector other2 = new DummyDependencySelector( false, null );
DependencySelector selector = new AndDependencySelector( other1, other2 );
- assertSame( other1, selector.deriveChildSelector( null ) );
+ RepositorySystemSession session = TestUtils.newSession();
+ DependencyCollectionContext context = TestUtils.newCollectionContext( session,
+ null,
+ Collections.emptyList() );
+ assertSame( other1, selector.deriveChildSelector( context ) );
}
@Test
@@ -127,7 +142,11 @@ public class AndDependencySelectorTest
DependencySelector other1 = new DummyDependencySelector( true, null );
DependencySelector other2 = new DummyDependencySelector( false, null );
DependencySelector selector = new AndDependencySelector( other1, other2 );
- assertNull( selector.deriveChildSelector( null ) );
+ RepositorySystemSession session = TestUtils.newSession();
+ DependencyCollectionContext context = TestUtils.newCollectionContext( session,
+ null,
+ Collections.emptyList() );
+ assertNull( selector.deriveChildSelector( context ) );
}
@Test
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/SimpleConflictMarker.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/SimpleConflictMarker.java
index 2c596e0..4a02f6f 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/SimpleConflictMarker.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/SimpleConflictMarker.java
@@ -21,6 +21,7 @@ package org.eclipse.aether.util.graph.transformer;
import java.util.IdentityHashMap;
import java.util.Map;
+import static java.util.Objects.requireNonNull;
import org.eclipse.aether.RepositoryException;
import org.eclipse.aether.artifact.Artifact;
@@ -39,6 +40,8 @@ class SimpleConflictMarker
public DependencyNode transformGraph( DependencyNode node, DependencyGraphTransformationContext context )
throws RepositoryException
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( context, "context cannot be null" );
@SuppressWarnings( "unchecked" )
Map<DependencyNode, Object> conflictIds =
(Map<DependencyNode, Object>) context.get( TransformationContextKeys.CONFLICT_IDS );
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverserTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverserTest.java
index 74d744e..991807c 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverserTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverserTest.java
@@ -19,14 +19,22 @@ package org.eclipse.aether.util.graph.traverser;
* under the License.
*/
+import static java.util.Objects.requireNonNull;
import static org.junit.Assert.*;
+import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.collection.DependencyCollectionContext;
import org.eclipse.aether.collection.DependencyTraverser;
import org.eclipse.aether.graph.Dependency;
+import org.eclipse.aether.internal.test.util.TestFileUtils;
+import org.eclipse.aether.internal.test.util.TestUtils;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
+import java.util.Collections;
+
public class AndDependencyTraverserTest
{
@@ -57,16 +65,39 @@ public class AndDependencyTraverserTest
public boolean traverseDependency( Dependency dependency )
{
+ requireNonNull( dependency, "dependency cannot be null" );
return traverse;
}
public DependencyTraverser deriveChildTraverser( DependencyCollectionContext context )
{
+ requireNonNull( context, "context cannot be null" );
return child;
}
}
+ private RepositorySystemSession session;
+ private DependencyCollectionContext context;
+
+ @Before
+ public void setup()
+ {
+ session = TestUtils.newSession();
+ context = TestUtils.newCollectionContext( session, null, Collections.emptyList() );
+ }
+
+ @After
+ public void teardown() throws Exception
+ {
+ if ( session.getLocalRepository() != null )
+ {
+ TestFileUtils.deleteFile( session.getLocalRepository().getBasedir() );
+ }
+ session = null;
+ context = null;
+ }
+
@Test
public void testNewInstance()
{
@@ -105,7 +136,7 @@ public class AndDependencyTraverserTest
DependencyTraverser other1 = new DummyDependencyTraverser( true );
DependencyTraverser other2 = new DummyDependencyTraverser( false );
DependencyTraverser traverser = new AndDependencyTraverser( other1, other2 );
- assertSame( traverser, traverser.deriveChildTraverser( null ) );
+ assertSame( traverser, traverser.deriveChildTraverser( context ) );
}
@Test
@@ -114,7 +145,7 @@ public class AndDependencyTraverserTest
DependencyTraverser other1 = new DummyDependencyTraverser( true );
DependencyTraverser other2 = new DummyDependencyTraverser( false, null );
DependencyTraverser traverser = new AndDependencyTraverser( other1, other2 );
- assertSame( other1, traverser.deriveChildTraverser( null ) );
+ assertSame( other1, traverser.deriveChildTraverser( context ) );
}
@Test
@@ -123,7 +154,7 @@ public class AndDependencyTraverserTest
DependencyTraverser other1 = new DummyDependencyTraverser( true, null );
DependencyTraverser other2 = new DummyDependencyTraverser( false, null );
DependencyTraverser traverser = new AndDependencyTraverser( other1, other2 );
- assertNull( traverser.deriveChildTraverser( null ) );
+ assertNull( traverser.deriveChildTraverser( context ) );
}
@Test
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverserTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverserTest.java
index 641e593..a7982e3 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverserTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverserTest.java
@@ -24,15 +24,42 @@ import static org.junit.Assert.*;
import java.util.Collections;
import java.util.Map;
+import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.artifact.ArtifactProperties;
import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.collection.DependencyCollectionContext;
import org.eclipse.aether.collection.DependencyTraverser;
import org.eclipse.aether.graph.Dependency;
+import org.eclipse.aether.internal.test.util.TestFileUtils;
+import org.eclipse.aether.internal.test.util.TestUtils;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
public class FatArtifactTraverserTest
{
+ private RepositorySystemSession session;
+ private DependencyCollectionContext context;
+
+ @Before
+ public void setup()
+ {
+ session = TestUtils.newSession();
+ context = TestUtils.newCollectionContext( session, null, Collections.emptyList() );
+ }
+
+ @After
+ public void teardown() throws Exception
+ {
+ if ( session.getLocalRepository() != null )
+ {
+ TestFileUtils.deleteFile( session.getLocalRepository().getBasedir() );
+ }
+ session = null;
+ context = null;
+ }
+
@Test
public void testTraverseDependency()
{
@@ -51,7 +78,7 @@ public class FatArtifactTraverserTest
public void testDeriveChildTraverser()
{
DependencyTraverser traverser = new FatArtifactTraverser();
- assertSame( traverser, traverser.deriveChildTraverser( null ) );
+ assertSame( traverser, traverser.deriveChildTraverser( context ) );
}
@Test
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverserTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverserTest.java
index 0ac1d91..d47041c 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverserTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverserTest.java
@@ -21,14 +21,43 @@ package org.eclipse.aether.util.graph.traverser;
import static org.junit.Assert.*;
+import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.collection.DependencyCollectionContext;
import org.eclipse.aether.collection.DependencyTraverser;
import org.eclipse.aether.graph.Dependency;
+import org.eclipse.aether.internal.test.util.TestFileUtils;
+import org.eclipse.aether.internal.test.util.TestUtils;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
+import java.util.Collections;
+
public class StaticDependencyTraverserTest
{
+ private RepositorySystemSession session;
+ private DependencyCollectionContext context;
+
+ @Before
+ public void setup()
+ {
+ session = TestUtils.newSession();
+ context = TestUtils.newCollectionContext( session, null, Collections.emptyList() );
+ }
+
+ @After
+ public void teardown() throws Exception
+ {
+ if ( session.getLocalRepository() != null )
+ {
+ TestFileUtils.deleteFile( session.getLocalRepository().getBasedir() );
+ }
+ session = null;
+ context = null;
+ }
+
@Test
public void testTraverseDependency()
{
@@ -43,7 +72,7 @@ public class StaticDependencyTraverserTest
public void testDeriveChildTraverser()
{
DependencyTraverser traverser = new StaticDependencyTraverser( true );
- assertSame( traverser, traverser.deriveChildTraverser( null ) );
+ assertSame( traverser, traverser.deriveChildTraverser( context ) );
}
@Test
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/visitor/FilteringDependencyVisitorTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/visitor/FilteringDependencyVisitorTest.java
index 65a02a8..4e6a543 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/visitor/FilteringDependencyVisitorTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/visitor/FilteringDependencyVisitorTest.java
@@ -19,6 +19,7 @@ package org.eclipse.aether.util.graph.visitor;
* under the License.
*/
+import static java.util.Objects.requireNonNull;
import static org.junit.Assert.*;
import java.util.List;
@@ -48,6 +49,8 @@ public class FilteringDependencyVisitorTest
{
public boolean accept( DependencyNode node, List<DependencyNode> parents )
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( parents, "parents cannot be null" );
for ( DependencyNode parent : parents )
{
buffer.append( parent.getDependency().getArtifact().getArtifactId() );
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitorTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitorTest.java
index a759d88..efd4f6c 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitorTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitorTest.java
@@ -19,6 +19,7 @@ package org.eclipse.aether.util.graph.visitor;
* under the License.
*/
+import static java.util.Objects.requireNonNull;
import static org.junit.Assert.*;
import java.util.List;
@@ -103,6 +104,8 @@ public class PathRecordingDependencyVisitorTest
{
public boolean accept( DependencyNode node, List<DependencyNode> parents )
{
+ requireNonNull( node, "node cannot be null" );
+ requireNonNull( parents, "parents cannot be null" );
for ( DependencyNode parent : parents )
{
buffer.append( parent.getDependency().getArtifact().getArtifactId() );