This is an automated email from the ASF dual-hosted git repository. michaelo pushed a commit to branch improve-null-checks in repository https://gitbox.apache.org/repos/asf/maven-resolver.git
commit f7657ce436bc9e93ea9579377eb367b577ce9ee2 Author: Michael Osipov <micha...@apache.org> AuthorDate: Sat Mar 18 15:37:52 2023 +0100 Fix and improve null checks --- .../aether/internal/impl/DefaultArtifactResolver.java | 4 ++-- .../internal/impl/DefaultChecksumPolicyProvider.java | 14 +++++++------- .../aether/internal/impl/DefaultRepositorySystem.java | 2 +- .../internal/impl/SimpleLocalRepositoryManagerFactory.java | 4 +--- .../impl/synccontext/legacy/DefaultSyncContextFactory.java | 6 ++---- .../impl/synccontext/named/DiscriminatingNameMapper.java | 4 ++-- .../impl/synccontext/named/NamedLockFactoryAdapter.java | 7 ++++--- .../synccontext/NamedLockFactoryAdapterTestSupport.java | 4 ++-- .../aether/named/support/NamedLockFactorySupport.java | 5 +++-- .../spi/connector/transport/AbstractTransporter.java | 9 +++++---- .../transport/classpath/ClasspathTransporterFactory.java | 8 ++++---- .../aether/transport/file/FileTransporterFactory.java | 8 ++++---- .../eclipse/aether/transport/wagon/WagonTransporter.java | 5 +++-- .../aether/transport/wagon/WagonTransporterFactory.java | 8 ++++---- .../eclipse/aether/util/repository/JreProxySelector.java | 2 +- 15 files changed, 45 insertions(+), 45 deletions(-) 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 bcdc4074..d01608e3 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 @@ -237,7 +237,7 @@ public class DefaultArtifactResolver implements ArtifactResolver, Service { public ArtifactResult resolveArtifact(RepositorySystemSession session, ArtifactRequest request) throws ArtifactResolutionException { requireNonNull(session, "session cannot be null"); - requireNonNull(session, "session cannot be null"); + requireNonNull(request, "request cannot be null"); return resolveArtifacts(session, Collections.singleton(request)).get(0); } @@ -246,7 +246,7 @@ public class DefaultArtifactResolver implements ArtifactResolver, Service { RepositorySystemSession session, Collection<? extends ArtifactRequest> requests) throws ArtifactResolutionException { requireNonNull(session, "session cannot be null"); - requireNonNull(session, "session cannot be null"); + requireNonNull(requests, "requests cannot be null"); try (SyncContext syncContext = syncContextFactory.newInstance(session, false)) { Collection<Artifact> artifacts = new ArrayList<>(requests.size()); for (ArtifactRequest request : requests) { diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultChecksumPolicyProvider.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultChecksumPolicyProvider.java index 3043f1a2..83a55825 100644 --- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultChecksumPolicyProvider.java +++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultChecksumPolicyProvider.java @@ -21,8 +21,6 @@ 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.RemoteRepository; import org.eclipse.aether.repository.RepositoryPolicy; @@ -30,6 +28,8 @@ import org.eclipse.aether.spi.connector.checksum.ChecksumPolicy; import org.eclipse.aether.spi.connector.checksum.ChecksumPolicyProvider; import org.eclipse.aether.transfer.TransferResource; +import static java.util.Objects.requireNonNull; + /** */ @Singleton @@ -48,9 +48,9 @@ public final class DefaultChecksumPolicyProvider implements ChecksumPolicyProvid public ChecksumPolicy newChecksumPolicy( RepositorySystemSession session, RemoteRepository repository, TransferResource resource, String policy) { - Objects.requireNonNull(session, "session cannot be null"); - Objects.requireNonNull(repository, "repository cannot be null"); - Objects.requireNonNull(resource, "resource cannot be null"); + requireNonNull(session, "session cannot be null"); + requireNonNull(repository, "repository cannot be null"); + requireNonNull(resource, "resource cannot be null"); validatePolicy("policy", policy); switch (policy) { @@ -66,7 +66,7 @@ public final class DefaultChecksumPolicyProvider implements ChecksumPolicyProvid } public String getEffectiveChecksumPolicy(RepositorySystemSession session, String policy1, String policy2) { - Objects.requireNonNull(session, "session cannot be null"); + requireNonNull(session, "session cannot be null"); validatePolicy("policy1", policy1); validatePolicy("policy2", policy2); @@ -96,7 +96,7 @@ public final class DefaultChecksumPolicyProvider implements ChecksumPolicyProvid } private static void validatePolicy(String paramName, String policy) { - Objects.requireNonNull(policy, paramName + "cannot be null"); + requireNonNull(policy, paramName + "cannot be null"); switch (policy) { case RepositoryPolicy.CHECKSUM_POLICY_IGNORE: 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 025351a4..4c3d3747 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 @@ -272,7 +272,7 @@ public class DefaultRepositorySystem implements RepositorySystem, Service { public ArtifactResult resolveArtifact(RepositorySystemSession session, ArtifactRequest request) throws ArtifactResolutionException { validateSession(session); - requireNonNull(session, "session cannot be null"); + requireNonNull(request, "request cannot be null"); return artifactResolver.resolveArtifact(session, request); } 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 a71673a0..40b92340 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 @@ -22,8 +22,6 @@ import javax.inject.Inject; 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; @@ -56,7 +54,7 @@ public class SimpleLocalRepositoryManagerFactory implements LocalRepositoryManag @Override public void initService(final ServiceLocator locator) { - this.localPathComposer = Objects.requireNonNull(locator.getService(LocalPathComposer.class)); + this.localPathComposer = requireNonNull(locator.getService(LocalPathComposer.class)); } @Override 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 59afbce0..86e2d966 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 @@ -22,8 +22,6 @@ import javax.inject.Inject; import javax.inject.Named; import javax.inject.Singleton; -import java.util.Objects; - import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.SyncContext; import org.eclipse.aether.spi.locator.Service; @@ -51,12 +49,12 @@ public final class DefaultSyncContextFactory implements org.eclipse.aether.impl. @Inject public DefaultSyncContextFactory(final SyncContextFactory delegate) { - this.delegate = Objects.requireNonNull(delegate); + this.delegate = requireNonNull(delegate); } @Override public void initService(final ServiceLocator locator) { - this.delegate = Objects.requireNonNull(locator.getService(SyncContextFactory.class)); + this.delegate = requireNonNull(locator.getService(SyncContextFactory.class)); } @Override diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/named/DiscriminatingNameMapper.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/named/DiscriminatingNameMapper.java index ddfed7e6..860b8f97 100644 --- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/named/DiscriminatingNameMapper.java +++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/named/DiscriminatingNameMapper.java @@ -22,7 +22,6 @@ import java.io.File; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Collection; -import java.util.Objects; import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.artifact.Artifact; @@ -32,6 +31,7 @@ import org.eclipse.aether.util.StringDigestUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static java.util.Objects.requireNonNull; import static java.util.stream.Collectors.toList; /** @@ -65,7 +65,7 @@ public class DiscriminatingNameMapper implements NameMapper { private final String hostname; public DiscriminatingNameMapper(final NameMapper delegate) { - this.delegate = Objects.requireNonNull(delegate); + this.delegate = requireNonNull(delegate); this.hostname = getHostname(); } diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/named/NamedLockFactoryAdapter.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/named/NamedLockFactoryAdapter.java index 3b254c73..c1af1e4c 100644 --- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/named/NamedLockFactoryAdapter.java +++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/named/NamedLockFactoryAdapter.java @@ -21,7 +21,6 @@ package org.eclipse.aether.internal.impl.synccontext.named; import java.util.ArrayDeque; import java.util.Collection; import java.util.Deque; -import java.util.Objects; import java.util.concurrent.TimeUnit; import org.eclipse.aether.RepositorySystemSession; @@ -35,6 +34,8 @@ import org.eclipse.aether.util.ConfigUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static java.util.Objects.requireNonNull; + /** * Adapter to adapt {@link NamedLockFactory} and {@link NamedLock} to {@link SyncContext}. */ @@ -52,8 +53,8 @@ public final class NamedLockFactoryAdapter { private final NamedLockFactory namedLockFactory; public NamedLockFactoryAdapter(final NameMapper nameMapper, final NamedLockFactory namedLockFactory) { - this.nameMapper = Objects.requireNonNull(nameMapper); - this.namedLockFactory = Objects.requireNonNull(namedLockFactory); + this.nameMapper = requireNonNull(nameMapper); + this.namedLockFactory = requireNonNull(namedLockFactory); // TODO: this is ad-hoc "validation", experimental and likely to change if (this.namedLockFactory instanceof FileLockNamedLockFactory && !this.nameMapper.isFileSystemFriendly()) { throw new IllegalArgumentException( diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/synccontext/NamedLockFactoryAdapterTestSupport.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/synccontext/NamedLockFactoryAdapterTestSupport.java index 7487d9ba..b647c07a 100644 --- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/synccontext/NamedLockFactoryAdapterTestSupport.java +++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/synccontext/NamedLockFactoryAdapterTestSupport.java @@ -23,7 +23,6 @@ import java.nio.file.Files; import java.nio.file.Paths; import java.util.Arrays; import java.util.HashMap; -import java.util.Objects; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -39,6 +38,7 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import static java.util.Objects.requireNonNull; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.greaterThanOrEqualTo; import static org.mockito.Mockito.mock; @@ -68,7 +68,7 @@ public abstract class NamedLockFactoryAdapterTestSupport { private RepositorySystemSession session; public static void createAdapter() { - Objects.requireNonNull(namedLockFactory, "NamedLockFactory not set"); + requireNonNull(namedLockFactory, "NamedLockFactory not set"); adapter = new NamedLockFactoryAdapter(nameMapper, namedLockFactory); } diff --git a/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/support/NamedLockFactorySupport.java b/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/support/NamedLockFactorySupport.java index 53147284..17a8fbec 100644 --- a/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/support/NamedLockFactorySupport.java +++ b/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/support/NamedLockFactorySupport.java @@ -18,7 +18,6 @@ */ package org.eclipse.aether.named.support; -import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicInteger; @@ -27,6 +26,8 @@ import org.eclipse.aether.named.NamedLockFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static java.util.Objects.requireNonNull; + /** * Support class for {@link NamedLockFactory} implementations providing reference counting. */ @@ -86,7 +87,7 @@ public abstract class NamedLockFactorySupport implements NamedLockFactory { private final AtomicInteger referenceCount; private NamedLockHolder(final NamedLockSupport namedLock) { - this.namedLock = Objects.requireNonNull(namedLock); + this.namedLock = requireNonNull(namedLock); this.referenceCount = new AtomicInteger(0); } 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 0c08bdff..7c4f680d 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 @@ -22,11 +22,12 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.ByteBuffer; -import java.util.Objects; import java.util.concurrent.atomic.AtomicBoolean; import org.eclipse.aether.transfer.TransferCancelledException; +import static java.util.Objects.requireNonNull; + /** * A skeleton implementation for custom transporters. */ @@ -42,7 +43,7 @@ public abstract class AbstractTransporter implements Transporter { } public void peek(PeekTask task) throws Exception { - Objects.requireNonNull(task, "task cannot be null"); + requireNonNull(task, "task cannot be null"); failIfClosed(task); implPeek(task); @@ -57,7 +58,7 @@ public abstract class AbstractTransporter implements Transporter { protected abstract void implPeek(PeekTask task) throws Exception; public void get(GetTask task) throws Exception { - Objects.requireNonNull(task, "task cannot be null"); + requireNonNull(task, "task cannot be null"); failIfClosed(task); implGet(task); @@ -100,7 +101,7 @@ public abstract class AbstractTransporter implements Transporter { } public void put(PutTask task) throws Exception { - Objects.requireNonNull(task, "task cannot be null"); + requireNonNull(task, "task cannot be null"); failIfClosed(task); implPut(task); 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 b9522f25..772a28e5 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 @@ -20,14 +20,14 @@ 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; import org.eclipse.aether.spi.connector.transport.TransporterFactory; import org.eclipse.aether.transfer.NoTransporterException; +import static java.util.Objects.requireNonNull; + /** * A transporter factory for repositories using the {@code classpath:} protocol. As example, getting an item named * {@code some/file.txt} from a repository with the URL {@code classpath:/base/dir} results in retrieving the resource @@ -74,8 +74,8 @@ public final class ClasspathTransporterFactory implements TransporterFactory { public Transporter newInstance(RepositorySystemSession session, RemoteRepository repository) throws NoTransporterException { - Objects.requireNonNull(session, "session cannot be null"); - Objects.requireNonNull(repository, "repository cannot be null"); + requireNonNull(session, "session cannot be null"); + 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 d4d02d6e..1b475329 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 @@ -20,14 +20,14 @@ 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; import org.eclipse.aether.spi.connector.transport.TransporterFactory; import org.eclipse.aether.transfer.NoTransporterException; +import static java.util.Objects.requireNonNull; + /** * A transporter factory for repositories using the {@code file:} protocol. */ @@ -62,8 +62,8 @@ public final class FileTransporterFactory implements TransporterFactory { public Transporter newInstance(RepositorySystemSession session, RemoteRepository repository) throws NoTransporterException { - Objects.requireNonNull(session, "session cannot be null"); - Objects.requireNonNull(repository, "repository cannot be null"); + requireNonNull(session, "session cannot be null"); + requireNonNull(repository, "repository cannot be null"); return new FileTransporter(repository); } 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 90aebef8..18b75919 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 @@ -28,7 +28,6 @@ import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.util.Locale; import java.util.Map; -import java.util.Objects; import java.util.Properties; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; @@ -60,6 +59,8 @@ import org.eclipse.aether.util.FileUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static java.util.Objects.requireNonNull; + /** * A transporter using Maven Wagon. */ @@ -353,7 +354,7 @@ final class WagonTransporter implements Transporter { } private void execute(TransportTask task, TaskRunner runner) throws Exception { - Objects.requireNonNull(task, "task cannot be null"); + requireNonNull(task, "task cannot be null"); if (closed.get()) { throw new IllegalStateException("transporter closed, cannot execute task " + task); 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 2a6ffd59..5c6ebabe 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 @@ -21,8 +21,6 @@ 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; @@ -31,6 +29,8 @@ import org.eclipse.aether.spi.locator.Service; import org.eclipse.aether.spi.locator.ServiceLocator; import org.eclipse.aether.transfer.NoTransporterException; +import static java.util.Objects.requireNonNull; + /** * A transporter factory using <a href="http://maven.apache.org/wagon/" target="_blank">Apache Maven Wagon</a>. Note * that this factory merely serves as an adapter to the Wagon API and by itself does not provide any transport services @@ -107,8 +107,8 @@ public final class WagonTransporterFactory implements TransporterFactory, Servic @Override public Transporter newInstance(RepositorySystemSession session, RemoteRepository repository) throws NoTransporterException { - Objects.requireNonNull(session, "session cannot be null"); - Objects.requireNonNull(repository, "repository cannot be null"); + requireNonNull(session, "session cannot be null"); + 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/repository/JreProxySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/JreProxySelector.java index cea50527..f4d81256 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 @@ -99,7 +99,7 @@ public final class JreProxySelector implements ProxySelector { public static final Authentication INSTANCE = new JreProxyAuthentication(); public void fill(AuthenticationContext context, String key, Map<String, String> data) { - requireNonNull(context, "digest cannot be null"); + requireNonNull(context, "context cannot be null"); Proxy proxy = context.getProxy(); if (proxy == null) { return;