diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java b/maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java
index e6c30f30b..3ad639189 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/RepositorySystem.java
@@ -8,9 +8,9 @@
* 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
@@ -56,9 +56,9 @@
/**
* The main entry point to the repository system and its functionality. Note that obtaining a concrete implementation of
- * this interface (e.g. via dependency injection, service locator, etc.) is dependent on the application and its
+ * this interface (e.g. via dependency injection, etc.) is dependent on the application and its
* specific needs, please consult the online documentation for examples and directions on booting the system.
- *
+ *
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
@@ -73,7 +73,7 @@ public interface RepositorySystem
*
* The supplied request may also refer to a single concrete version rather than a version range. In this case
* though, the result contains simply the (parsed) input version, regardless of the repositories and their contents.
- *
+ *
* @param session The repository session, must not be {@code null}.
* @param request The version range request, must not be {@code null}.
* @return The version range result, never {@code null}.
@@ -87,7 +87,7 @@ VersionRangeResult resolveVersionRange( RepositorySystemSession session, Version
/**
* Resolves an artifact's meta version (if any) to a concrete version. For example, resolves "1.0-SNAPSHOT" to
* "1.0-20090208.132618-23".
- *
+ *
* @param session The repository session, must not be {@code null}.
* @param request The version request, must not be {@code null}.
* @return The version result, never {@code null}.
@@ -99,7 +99,7 @@ VersionResult resolveVersion( RepositorySystemSession session, VersionRequest re
/**
* Gets information about an artifact like its direct dependencies and potential relocations.
- *
+ *
* @param session The repository session, must not be {@code null}.
* @param request The descriptor request, must not be {@code null}.
* @return The descriptor result, never {@code null}.
@@ -115,7 +115,7 @@ ArtifactDescriptorResult readArtifactDescriptor( RepositorySystemSession session
* Collects the transitive dependencies of an artifact and builds a dependency graph. Note that this operation is
* only concerned about determining the coordinates of the transitive dependencies. To also resolve the actual
* artifact files, use {@link #resolveDependencies(RepositorySystemSession, DependencyRequest)}.
- *
+ *
* @param session The repository session, must not be {@code null}.
* @param request The collection request, must not be {@code null}.
* @return The collection result, never {@code null}.
@@ -134,7 +134,7 @@ CollectResult collectDependencies( RepositorySystemSession session, CollectReque
* Collects and resolves the transitive dependencies of an artifact. This operation is essentially a combination of
* {@link #collectDependencies(RepositorySystemSession, CollectRequest)} and
* {@link #resolveArtifacts(RepositorySystemSession, Collection)}.
- *
+ *
* @param session The repository session, must not be {@code null}.
* @param request The dependency request, must not be {@code null}.
* @return The dependency result, never {@code null}.
@@ -150,7 +150,7 @@ DependencyResult resolveDependencies( RepositorySystemSession session, Dependenc
* artifact that is already resolved will be skipped and is not re-resolved. In general, callers must not assume any
* relationship between an artifact's resolved filename and its coordinates. Note that this method assumes that any
* relocations have already been processed.
- *
+ *
* @param session The repository session, must not be {@code null}.
* @param request The resolution request, must not be {@code null}.
* @return The resolution result, never {@code null}.
@@ -166,7 +166,7 @@ ArtifactResult resolveArtifact( RepositorySystemSession session, ArtifactRequest
* necessary. Artifacts that are already resolved will be skipped and are not re-resolved. In general, callers must
* not assume any relationship between an artifact's filename and its coordinates. Note that this method assumes
* that any relocations have already been processed.
- *
+ *
* @param session The repository session, must not be {@code null}.
* @param requests The resolution requests, must not be {@code null}.
* @return The resolution results (in request order), never {@code null}.
@@ -181,7 +181,7 @@ List resolveArtifacts( RepositorySystemSession session,
/**
* Resolves the paths for a collection of metadata. Metadata will be downloaded to the local repository if
* necessary, e.g. because it hasn't been cached yet or the cache is deemed outdated.
- *
+ *
* @param session The repository session, must not be {@code null}.
* @param requests The resolution requests, must not be {@code null}.
* @return The resolution results (in request order), never {@code null}.
@@ -193,7 +193,7 @@ List resolveMetadata( RepositorySystemSession session,
/**
* Installs a collection of artifacts and their accompanying metadata to the local repository.
- *
+ *
* @param session The repository session, must not be {@code null}.
* @param request The installation request, must not be {@code null}.
* @return The installation result, never {@code null}.
@@ -204,7 +204,7 @@ InstallResult install( RepositorySystemSession session, InstallRequest request )
/**
* Uploads a collection of artifacts and their accompanying metadata to a remote repository.
- *
+ *
* @param session The repository session, must not be {@code null}.
* @param request The deployment request, must not be {@code null}.
* @return The deployment result, never {@code null}.
@@ -219,7 +219,7 @@ DeployResult deploy( RepositorySystemSession session, DeployRequest request )
* default local repository type of the system will be used. Note: It is expected that this method
* invocation is one of the last steps of setting up a new session, in particular any configuration properties
* should have been set already.
- *
+ *
* @param session The repository system session from which to configure the manager, must not be {@code null}.
* @param localRepository The local repository to create a manager for, must not be {@code null}.
* @return The local repository manager, never {@code null}.
@@ -231,7 +231,7 @@ LocalRepositoryManager newLocalRepositoryManager( RepositorySystemSession sessio
/**
* Creates a new synchronization context.
- *
+ *
* @param session The repository session during which the context will be used, must not be {@code null}.
* @param shared A flag indicating whether access to the artifacts/metadata associated with the new context can be
* shared among concurrent readers or whether access needs to be exclusive to the calling thread.
@@ -247,7 +247,7 @@ LocalRepositoryManager newLocalRepositoryManager( RepositorySystemSession sessio
* to already carry any required authentication or proxy configuration. This method can be used to apply the
* authentication/proxy configuration from a session to a bare repository definition to obtain the complete
* repository definition for use in the resolution request.
- *
+ *
* @param session The repository system session from which to configure the repositories, must not be {@code null}.
* @param repositories The repository prototypes from which to derive the resolution repositories, must not be
* {@code null} or contain {@code null} elements.
@@ -267,7 +267,7 @@ List newResolutionRepositories( RepositorySystemSession sessio
* required authentication or proxy configuration. This method can be used to apply the authentication/proxy
* configuration from a session to a bare repository definition to obtain the complete repository definition for use
* in the deploy request.
- *
+ *
* @param session The repository system session from which to configure the repository, must not be {@code null}.
* @param repository The repository prototype from which to derive the deployment repository, must not be
* {@code null}.
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 540b301c5..1d2bf8725 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
@@ -32,8 +32,6 @@
import org.eclipse.aether.spi.connector.layout.RepositoryLayoutProvider;
import org.eclipse.aether.spi.connector.transport.TransporterProvider;
import org.eclipse.aether.spi.io.FileProcessor;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.transfer.NoRepositoryConnectorException;
/**
@@ -43,95 +41,35 @@
*/
@Named( "basic" )
public final class BasicRepositoryConnectorFactory
- implements RepositoryConnectorFactory, Service
+ implements RepositoryConnectorFactory
{
- private TransporterProvider transporterProvider;
+ private final TransporterProvider transporterProvider;
- private RepositoryLayoutProvider layoutProvider;
+ private final RepositoryLayoutProvider layoutProvider;
- private ChecksumPolicyProvider checksumPolicyProvider;
+ private final ChecksumPolicyProvider checksumPolicyProvider;
- private FileProcessor fileProcessor;
+ private final FileProcessor fileProcessor;
private float priority;
- /**
- * Creates an (uninitialized) instance of this connector factory. Note: In case of manual instantiation by
- * clients, the new factory needs to be configured via its various mutators before first use or runtime errors will
- * occur.
- */
- public BasicRepositoryConnectorFactory()
- {
- // enables default constructor
- }
-
@Inject
- BasicRepositoryConnectorFactory( TransporterProvider transporterProvider, RepositoryLayoutProvider layoutProvider,
- ChecksumPolicyProvider checksumPolicyProvider, FileProcessor fileProcessor )
- {
- setTransporterProvider( transporterProvider );
- setRepositoryLayoutProvider( layoutProvider );
- setChecksumPolicyProvider( checksumPolicyProvider );
- setFileProcessor( fileProcessor );
- }
-
- public void initService( ServiceLocator locator )
- {
- setTransporterProvider( locator.getService( TransporterProvider.class ) );
- setRepositoryLayoutProvider( locator.getService( RepositoryLayoutProvider.class ) );
- setChecksumPolicyProvider( locator.getService( ChecksumPolicyProvider.class ) );
- setFileProcessor( locator.getService( FileProcessor.class ) );
- }
-
- /**
- * Sets the transporter provider to use for this component.
- *
- * @param transporterProvider The transporter provider to use, must not be {@code null}.
- * @return This component for chaining, never {@code null}.
- */
- public BasicRepositoryConnectorFactory setTransporterProvider( TransporterProvider transporterProvider )
- {
- this.transporterProvider = requireNonNull( transporterProvider, "transporter provider cannot be null" );
- return this;
- }
-
- /**
- * Sets the repository layout provider to use for this component.
- *
- * @param layoutProvider The repository layout provider to use, must not be {@code null}.
- * @return This component for chaining, never {@code null}.
- */
- public BasicRepositoryConnectorFactory setRepositoryLayoutProvider( RepositoryLayoutProvider layoutProvider )
- {
- this.layoutProvider = requireNonNull( layoutProvider, "repository layout provider cannot be null" );
- return this;
- }
-
- /**
- * Sets the checksum policy provider to use for this component.
- *
- * @param checksumPolicyProvider The checksum policy provider to use, must not be {@code null}.
- * @return This component for chaining, never {@code null}.
- */
- public BasicRepositoryConnectorFactory setChecksumPolicyProvider( ChecksumPolicyProvider checksumPolicyProvider )
+ public BasicRepositoryConnectorFactory( TransporterProvider transporterProvider,
+ RepositoryLayoutProvider layoutProvider,
+ ChecksumPolicyProvider checksumPolicyProvider,
+ FileProcessor fileProcessor )
{
+ this.transporterProvider = requireNonNull(
+ transporterProvider, "transporter provider cannot be null" );
+ this.layoutProvider = requireNonNull(
+ layoutProvider, "repository layout provider cannot be null" );
this.checksumPolicyProvider = requireNonNull(
- checksumPolicyProvider, "checksum policy provider cannot be null" );
- return this;
- }
-
- /**
- * Sets the file processor to use for this component.
- *
- * @param fileProcessor The file processor to use, must not be {@code null}.
- * @return This component for chaining, never {@code null}.
- */
- public BasicRepositoryConnectorFactory setFileProcessor( FileProcessor fileProcessor )
- {
- this.fileProcessor = requireNonNull( fileProcessor, "file processor cannot be null" );
- return this;
+ checksumPolicyProvider, "checksum policy provider cannot be null" );
+ this.fileProcessor = requireNonNull(
+ fileProcessor, "file processor cannot be null" );
}
+ @Override
public float getPriority()
{
return priority;
@@ -149,6 +87,7 @@ public BasicRepositoryConnectorFactory setPriority( float priority )
return this;
}
+ @Override
public RepositoryConnector newInstance( RepositorySystemSession session, RemoteRepository repository )
throws NoRepositoryConnectorException
{
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/manual/ManualRepositorySystemFactory.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/manual/ManualRepositorySystemFactory.java
deleted file mode 100644
index 77c37fb35..000000000
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/manual/ManualRepositorySystemFactory.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.maven.resolver.examples.manual;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this 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
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory;
-import org.eclipse.aether.impl.DefaultServiceLocator;
-import org.eclipse.aether.spi.connector.RepositoryConnectorFactory;
-import org.eclipse.aether.spi.connector.transport.TransporterFactory;
-import org.eclipse.aether.transport.file.FileTransporterFactory;
-import org.eclipse.aether.transport.http.HttpTransporterFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A factory for repository system instances that employs Maven Artifact Resolver's built-in service locator
- * infrastructure to wire up the system's components.
- */
-public class ManualRepositorySystemFactory
-{
- private static final Logger LOGGER = LoggerFactory.getLogger( ManualRepositorySystemFactory.class );
-
- public static RepositorySystem newRepositorySystem()
- {
- /*
- * Aether's components implement org.eclipse.aether.spi.locator.Service to ease manual wiring and using the
- * prepopulated DefaultServiceLocator, we only need to register the repository connector and transporter
- * factories.
- */
- DefaultServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator();
- locator.addService( RepositoryConnectorFactory.class, BasicRepositoryConnectorFactory.class );
- locator.addService( TransporterFactory.class, FileTransporterFactory.class );
- locator.addService( TransporterFactory.class, HttpTransporterFactory.class );
-
- locator.setErrorHandler( new DefaultServiceLocator.ErrorHandler()
- {
- @Override
- public void serviceCreationFailed( Class> type, Class> impl, Throwable exception )
- {
- LOGGER.error( "Service creation failed for {} with implementation {}",
- type, impl, exception );
- }
- } );
-
- return locator.getService( RepositorySystem.class );
- }
-
-}
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java
index 01ace9ac7..915c16e84 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java
@@ -38,9 +38,8 @@ public class Booter
public static RepositorySystem newRepositorySystem()
{
- return org.apache.maven.resolver.examples.manual.ManualRepositorySystemFactory.newRepositorySystem();
// return org.apache.maven.resolver.examples.guice.GuiceRepositorySystemFactory.newRepositorySystem();
- // return org.apache.maven.resolver.examples.sisu.SisuRepositorySystemFactory.newRepositorySystem();
+ return org.apache.maven.resolver.examples.sisu.SisuRepositorySystemFactory.newRepositorySystem();
}
public static DefaultRepositorySystemSession newRepositorySystemSession( RepositorySystem system )
diff --git a/maven-resolver-impl/pom.xml b/maven-resolver-impl/pom.xml
index 7528884cc..b4bfd0615 100644
--- a/maven-resolver-impl/pom.xml
+++ b/maven-resolver-impl/pom.xml
@@ -113,6 +113,11 @@
maven-resolver-test-util
test
+
+ org.mockito
+ mockito-core
+ test
+
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/impl/AetherModule.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/impl/AetherModule.java
deleted file mode 100644
index 4e05ec24d..000000000
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/impl/AetherModule.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.aether.impl;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this 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
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * A ready-made Guice module that sets up bindings for all components from this library. To acquire a complete
- * repository system, clients need to bind an artifact descriptor reader, a version resolver, a version range resolver,
- * zero or more metadata generator factories, some repository connector and transporter factories to access remote
- * repositories.
- *
- * @deprecated Use {@link org.eclipse.aether.impl.guice.AetherModule} instead.
- */
-@Deprecated
-public final class AetherModule
- extends org.eclipse.aether.impl.guice.AetherModule
-{
-
-}
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/impl/DefaultServiceLocator.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/impl/DefaultServiceLocator.java
deleted file mode 100644
index 1f296160c..000000000
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/impl/DefaultServiceLocator.java
+++ /dev/null
@@ -1,330 +0,0 @@
-package org.eclipse.aether.impl;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this 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
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import static java.util.Objects.requireNonNull;
-
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.internal.impl.DefaultArtifactResolver;
-import org.eclipse.aether.internal.impl.DefaultChecksumPolicyProvider;
-import org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector;
-import org.eclipse.aether.internal.impl.DefaultDeployer;
-import org.eclipse.aether.internal.impl.DefaultFileProcessor;
-import org.eclipse.aether.internal.impl.DefaultInstaller;
-import org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider;
-import org.eclipse.aether.internal.impl.DefaultMetadataResolver;
-import org.eclipse.aether.internal.impl.DefaultOfflineController;
-import org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager;
-import org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider;
-import org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher;
-import org.eclipse.aether.internal.impl.DefaultRepositoryLayoutProvider;
-import org.eclipse.aether.internal.impl.DefaultRepositorySystem;
-import org.eclipse.aether.internal.impl.DefaultSyncContextFactory;
-import org.eclipse.aether.internal.impl.DefaultTransporterProvider;
-import org.eclipse.aether.internal.impl.DefaultUpdateCheckManager;
-import org.eclipse.aether.internal.impl.DefaultUpdatePolicyAnalyzer;
-import org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManagerFactory;
-import org.eclipse.aether.internal.impl.Maven2RepositoryLayoutFactory;
-import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
-import org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory;
-import org.eclipse.aether.spi.connector.checksum.ChecksumPolicyProvider;
-import org.eclipse.aether.spi.connector.layout.RepositoryLayoutFactory;
-import org.eclipse.aether.spi.connector.layout.RepositoryLayoutProvider;
-import org.eclipse.aether.spi.connector.transport.TransporterProvider;
-import org.eclipse.aether.spi.io.FileProcessor;
-import org.eclipse.aether.spi.localrepo.LocalRepositoryManagerFactory;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
-import org.eclipse.aether.spi.log.LoggerFactory;
-import org.eclipse.aether.spi.synccontext.SyncContextFactory;
-
-/**
- * A simple service locator that is already setup with all components from this library. To acquire a complete
- * repository system, clients need to add an artifact descriptor reader, a version resolver, a version range resolver
- * and optionally some repository connector and transporter factories to access remote repositories. Once the locator is
- * fully populated, the repository system can be created like this:
- *
- *
- * RepositorySystem repoSystem = serviceLocator.getService( RepositorySystem.class );
- *
- *
- * Note: This class is not thread-safe. Clients are expected to create the service locator and the repository
- * system on a single thread.
- *
- * @deprecated Use some out-of-the-box DI implementation instead.
- */
-@Deprecated
-public final class DefaultServiceLocator
- implements ServiceLocator
-{
-
- private class Entry
- {
-
- private final Class type;
-
- private final Collection providers;
-
- private List instances;
-
- Entry( Class type )
- {
- this.type = requireNonNull( type, "service type cannot be null" );
- providers = new LinkedHashSet<>( 8 );
- }
-
- public synchronized void setServices( T... services )
- {
- providers.clear();
- if ( services != null )
- {
- for ( T service : services )
- {
- providers.add( requireNonNull( service, "service instance cannot be null" ) );
- }
- }
- instances = null;
- }
-
- public synchronized void setService( Class extends T> impl )
- {
- providers.clear();
- addService( impl );
- }
-
- public synchronized void addService( Class extends T> impl )
- {
- providers.add( requireNonNull( impl, "implementation class cannot be null" ) );
- instances = null;
- }
-
- public T getInstance()
- {
- List instances = getInstances();
- return instances.isEmpty() ? null : instances.get( 0 );
- }
-
- public synchronized List getInstances()
- {
- if ( instances == null )
- {
- instances = new ArrayList<>( providers.size() );
- for ( Object provider : providers )
- {
- T instance;
- if ( provider instanceof Class )
- {
- instance = newInstance( (Class>) provider );
- }
- else
- {
- instance = type.cast( provider );
- }
- if ( instance != null )
- {
- instances.add( instance );
- }
- }
- instances = Collections.unmodifiableList( instances );
- }
- return instances;
- }
-
- private T newInstance( Class> impl )
- {
- try
- {
- Constructor> constr = impl.getDeclaredConstructor();
- if ( !Modifier.isPublic( constr.getModifiers() ) )
- {
- constr.setAccessible( true );
- }
- Object obj = constr.newInstance();
-
- T instance = type.cast( obj );
- if ( instance instanceof Service )
- {
- ( (Service) instance ).initService( DefaultServiceLocator.this );
- }
- return instance;
- }
- catch ( Exception | LinkageError e )
- {
- serviceCreationFailed( type, impl, e );
- }
- return null;
- }
-
- }
-
- private final Map, Entry>> entries;
-
- private ErrorHandler errorHandler;
-
- /**
- * Creates a new service locator that already knows about all service implementations included this library.
- */
- public DefaultServiceLocator()
- {
- entries = new HashMap<>();
-
- addService( RepositorySystem.class, DefaultRepositorySystem.class );
- addService( ArtifactResolver.class, DefaultArtifactResolver.class );
- addService( DependencyCollector.class, DefaultDependencyCollector.class );
- addService( Deployer.class, DefaultDeployer.class );
- addService( Installer.class, DefaultInstaller.class );
- addService( MetadataResolver.class, DefaultMetadataResolver.class );
- addService( RepositoryLayoutProvider.class, DefaultRepositoryLayoutProvider.class );
- addService( RepositoryLayoutFactory.class, Maven2RepositoryLayoutFactory.class );
- addService( TransporterProvider.class, DefaultTransporterProvider.class );
- addService( ChecksumPolicyProvider.class, DefaultChecksumPolicyProvider.class );
- addService( RepositoryConnectorProvider.class, DefaultRepositoryConnectorProvider.class );
- addService( RemoteRepositoryManager.class, DefaultRemoteRepositoryManager.class );
- addService( UpdateCheckManager.class, DefaultUpdateCheckManager.class );
- addService( UpdatePolicyAnalyzer.class, DefaultUpdatePolicyAnalyzer.class );
- addService( FileProcessor.class, DefaultFileProcessor.class );
- addService( org.eclipse.aether.impl.SyncContextFactory.class, DefaultSyncContextFactory.class );
- addService( SyncContextFactory.class, DefaultSyncContextFactory.class );
- addService( RepositoryEventDispatcher.class, DefaultRepositoryEventDispatcher.class );
- addService( OfflineController.class, DefaultOfflineController.class );
- addService( LocalRepositoryProvider.class, DefaultLocalRepositoryProvider.class );
- addService( LocalRepositoryManagerFactory.class, SimpleLocalRepositoryManagerFactory.class );
- addService( LocalRepositoryManagerFactory.class, EnhancedLocalRepositoryManagerFactory.class );
- addService( LoggerFactory.class, Slf4jLoggerFactory.class );
- }
-
- private Entry getEntry( Class type, boolean create )
- {
- @SuppressWarnings( "unchecked" )
- Entry entry = (Entry) entries.get( requireNonNull( type, "service type cannot be null" ) );
- if ( entry == null && create )
- {
- entry = new Entry<>( type );
- entries.put( type, entry );
- }
- return entry;
- }
-
- /**
- * Sets the implementation class for a service. The specified class must have a no-arg constructor (of any
- * visibility). If the service implementation itself requires other services for its operation, it should implement
- * {@link Service} to gain access to this service locator.
- *
- * @param The service type.
- * @param type The interface describing the service, must not be {@code null}.
- * @param impl The implementation class of the service, must not be {@code null}.
- * @return This locator for chaining, never {@code null}.
- */
- public DefaultServiceLocator setService( Class type, Class extends T> impl )
- {
- getEntry( type, true ).setService( impl );
- return this;
- }
-
- /**
- * Adds an implementation class for a service. The specified class must have a no-arg constructor (of any
- * visibility). If the service implementation itself requires other services for its operation, it should implement
- * {@link Service} to gain access to this service locator.
- *
- * @param The service type.
- * @param type The interface describing the service, must not be {@code null}.
- * @param impl The implementation class of the service, must not be {@code null}.
- * @return This locator for chaining, never {@code null}.
- */
- public DefaultServiceLocator addService( Class type, Class extends T> impl )
- {
- getEntry( type, true ).addService( impl );
- return this;
- }
-
- /**
- * Sets the instances for a service.
- *
- * @param The service type.
- * @param type The interface describing the service, must not be {@code null}.
- * @param services The instances of the service, may be {@code null} but must not contain {@code null} elements.
- * @return This locator for chaining, never {@code null}.
- */
- public DefaultServiceLocator setServices( Class type, T... services )
- {
- getEntry( type, true ).setServices( services );
- return this;
- }
-
- public T getService( Class type )
- {
- Entry entry = getEntry( type, false );
- return ( entry != null ) ? entry.getInstance() : null;
- }
-
- public List getServices( Class type )
- {
- Entry entry = getEntry( type, false );
- return ( entry != null ) ? entry.getInstances() : null;
- }
-
- private void serviceCreationFailed( Class> type, Class> impl, Throwable exception )
- {
- if ( errorHandler != null )
- {
- errorHandler.serviceCreationFailed( type, impl, exception );
- }
- }
-
- /**
- * Sets the error handler to use.
- *
- * @param errorHandler The error handler to use, may be {@code null} to ignore/swallow errors.
- */
- public void setErrorHandler( ErrorHandler errorHandler )
- {
- this.errorHandler = errorHandler;
- }
-
- /**
- * A hook to customize the handling of errors encountered while locating a service implementation.
- */
- public abstract static class ErrorHandler
- {
-
- /**
- * Handles errors during creation of a service. The default implemention does nothing.
- *
- * @param type The interface describing the service, must not be {@code null}.
- * @param impl The implementation class of the service, must not be {@code null}.
- * @param exception The error that occurred while trying to instantiate the implementation class, must not be
- * {@code null}.
- */
- public void serviceCreationFailed( Class> type, Class> impl, Throwable 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 fde3575d3..865a1a38d 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
@@ -68,8 +68,6 @@
import org.eclipse.aether.spi.connector.ArtifactDownload;
import org.eclipse.aether.spi.connector.RepositoryConnector;
import org.eclipse.aether.spi.io.FileProcessor;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.transfer.ArtifactNotFoundException;
import org.eclipse.aether.transfer.ArtifactTransferException;
import org.eclipse.aether.transfer.NoRepositoryConnectorException;
@@ -83,132 +81,58 @@
@Singleton
@Named
public class DefaultArtifactResolver
- implements ArtifactResolver, Service
+ implements ArtifactResolver
{
private static final String CONFIG_PROP_SNAPSHOT_NORMALIZATION = "aether.artifactResolver.snapshotNormalization";
private static final Logger LOGGER = LoggerFactory.getLogger( DefaultArtifactResolver.class );
- private FileProcessor fileProcessor;
+ private final FileProcessor fileProcessor;
- private RepositoryEventDispatcher repositoryEventDispatcher;
+ private final RepositoryEventDispatcher repositoryEventDispatcher;
- private VersionResolver versionResolver;
+ private final VersionResolver versionResolver;
- private UpdateCheckManager updateCheckManager;
+ private final UpdateCheckManager updateCheckManager;
- private RepositoryConnectorProvider repositoryConnectorProvider;
+ private final RepositoryConnectorProvider repositoryConnectorProvider;
- private RemoteRepositoryManager remoteRepositoryManager;
+ private final RemoteRepositoryManager remoteRepositoryManager;
- private SyncContextFactory syncContextFactory;
+ private final SyncContextFactory syncContextFactory;
- private OfflineController offlineController;
-
- public DefaultArtifactResolver()
- {
- // enables default constructor
- }
+ private final OfflineController offlineController;
@SuppressWarnings( "checkstyle:parameternumber" )
@Inject
- DefaultArtifactResolver( FileProcessor fileProcessor, RepositoryEventDispatcher repositoryEventDispatcher,
+ public DefaultArtifactResolver( FileProcessor fileProcessor, RepositoryEventDispatcher repositoryEventDispatcher,
VersionResolver versionResolver, UpdateCheckManager updateCheckManager,
RepositoryConnectorProvider repositoryConnectorProvider,
RemoteRepositoryManager remoteRepositoryManager, SyncContextFactory syncContextFactory,
OfflineController offlineController )
- {
- setFileProcessor( fileProcessor );
- setRepositoryEventDispatcher( repositoryEventDispatcher );
- setVersionResolver( versionResolver );
- setUpdateCheckManager( updateCheckManager );
- setRepositoryConnectorProvider( repositoryConnectorProvider );
- setRemoteRepositoryManager( remoteRepositoryManager );
- setSyncContextFactory( syncContextFactory );
- setOfflineController( offlineController );
- }
-
- public void initService( ServiceLocator locator )
- {
- setFileProcessor( locator.getService( FileProcessor.class ) );
- setRepositoryEventDispatcher( locator.getService( RepositoryEventDispatcher.class ) );
- setVersionResolver( locator.getService( VersionResolver.class ) );
- setUpdateCheckManager( locator.getService( UpdateCheckManager.class ) );
- setRepositoryConnectorProvider( locator.getService( RepositoryConnectorProvider.class ) );
- setRemoteRepositoryManager( locator.getService( RemoteRepositoryManager.class ) );
- setSyncContextFactory( locator.getService( SyncContextFactory.class ) );
- setOfflineController( locator.getService( OfflineController.class ) );
- }
-
- /**
- * @deprecated not used any more since MRESOLVER-36 move to slf4j, added back in MRESOLVER-64 for compatibility
- */
- @Deprecated
- public DefaultArtifactResolver setLoggerFactory( org.eclipse.aether.spi.log.LoggerFactory loggerFactory )
- {
- // this.logger = NullLoggerFactory.getSafeLogger( loggerFactory, getClass() );
- return this;
- }
-
- public DefaultArtifactResolver setFileProcessor( FileProcessor fileProcessor )
{
this.fileProcessor = requireNonNull( fileProcessor, "file processor cannot be null" );
- return this;
- }
-
- public DefaultArtifactResolver setRepositoryEventDispatcher( RepositoryEventDispatcher repositoryEventDispatcher )
- {
this.repositoryEventDispatcher = requireNonNull( repositoryEventDispatcher,
- "repository event dispatcher cannot be null" );
- return this;
- }
-
- public DefaultArtifactResolver setVersionResolver( VersionResolver versionResolver )
- {
+ "repository event dispatcher cannot be null" );
this.versionResolver = requireNonNull( versionResolver, "version resolver cannot be null" );
- return this;
- }
-
- public DefaultArtifactResolver setUpdateCheckManager( UpdateCheckManager updateCheckManager )
- {
this.updateCheckManager = requireNonNull( updateCheckManager, "update check manager cannot be null" );
- return this;
- }
-
- public DefaultArtifactResolver setRepositoryConnectorProvider(
- RepositoryConnectorProvider repositoryConnectorProvider )
- {
this.repositoryConnectorProvider = requireNonNull( repositoryConnectorProvider,
- "repository connector provider cannot be null" );
- return this;
- }
-
- public DefaultArtifactResolver setRemoteRepositoryManager( RemoteRepositoryManager remoteRepositoryManager )
- {
+ "repository connector provider cannot be null" );
this.remoteRepositoryManager = requireNonNull( remoteRepositoryManager,
- "remote repository provider cannot be null" );
- return this;
- }
-
- public DefaultArtifactResolver setSyncContextFactory( SyncContextFactory syncContextFactory )
- {
+ "remote repository provider cannot be null" );
this.syncContextFactory = requireNonNull( syncContextFactory, "sync context factory cannot be null" );
- return this;
- }
-
- public DefaultArtifactResolver setOfflineController( OfflineController offlineController )
- {
this.offlineController = requireNonNull( offlineController, "offline controller cannot be null" );
- return this;
}
+ @Override
public ArtifactResult resolveArtifact( RepositorySystemSession session, ArtifactRequest request )
throws ArtifactResolutionException
{
return resolveArtifacts( session, Collections.singleton( request ) ).get( 0 );
}
+ @Override
public List resolveArtifacts( RepositorySystemSession session,
Collection extends ArtifactRequest> requests )
throws ArtifactResolutionException
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 270ac86af..b122197b7 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
@@ -45,11 +45,7 @@ public final class DefaultChecksumPolicyProvider
private static final int ORDINAL_FAIL = 2;
- public DefaultChecksumPolicyProvider()
- {
- // enables default constructor
- }
-
+ @Override
public ChecksumPolicy newChecksumPolicy( RepositorySystemSession session, RemoteRepository repository,
TransferResource resource, String policy )
{
@@ -71,6 +67,7 @@ public ChecksumPolicy newChecksumPolicy( RepositorySystemSession session, Remote
}
}
+ @Override
public String getEffectiveChecksumPolicy( RepositorySystemSession session, String policy1, String policy2 )
{
Objects.requireNonNull( session, "session cannot be null" );
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 51a210ee1..09517c172 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
@@ -65,8 +65,6 @@
import org.eclipse.aether.spi.connector.MetadataUpload;
import org.eclipse.aether.spi.connector.RepositoryConnector;
import org.eclipse.aether.spi.io.FileProcessor;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.transfer.ArtifactTransferException;
import org.eclipse.aether.transfer.MetadataNotFoundException;
import org.eclipse.aether.transfer.MetadataTransferException;
@@ -82,123 +80,50 @@
@Singleton
@Named
public class DefaultDeployer
- implements Deployer, Service
+ implements Deployer
{
- private FileProcessor fileProcessor;
+ private final FileProcessor fileProcessor;
- private RepositoryEventDispatcher repositoryEventDispatcher;
+ private final RepositoryEventDispatcher repositoryEventDispatcher;
- private RepositoryConnectorProvider repositoryConnectorProvider;
+ private final RepositoryConnectorProvider repositoryConnectorProvider;
- private RemoteRepositoryManager remoteRepositoryManager;
+ private final RemoteRepositoryManager remoteRepositoryManager;
- private UpdateCheckManager updateCheckManager;
+ private final UpdateCheckManager updateCheckManager;
- private Collection metadataFactories = new ArrayList<>();
+ private final Collection metadataFactories;
- private SyncContextFactory syncContextFactory;
+ private final SyncContextFactory syncContextFactory;
- private OfflineController offlineController;
-
- public DefaultDeployer()
- {
- // enables default constructor
- }
+ private final OfflineController offlineController;
@SuppressWarnings( "checkstyle:parameternumber" )
@Inject
- DefaultDeployer( FileProcessor fileProcessor, RepositoryEventDispatcher repositoryEventDispatcher,
+ public DefaultDeployer( FileProcessor fileProcessor, RepositoryEventDispatcher repositoryEventDispatcher,
RepositoryConnectorProvider repositoryConnectorProvider,
RemoteRepositoryManager remoteRepositoryManager, UpdateCheckManager updateCheckManager,
Set metadataFactories, SyncContextFactory syncContextFactory,
OfflineController offlineController )
- {
- setFileProcessor( fileProcessor );
- setRepositoryEventDispatcher( repositoryEventDispatcher );
- setRepositoryConnectorProvider( repositoryConnectorProvider );
- setRemoteRepositoryManager( remoteRepositoryManager );
- setUpdateCheckManager( updateCheckManager );
- setMetadataGeneratorFactories( metadataFactories );
- setSyncContextFactory( syncContextFactory );
- setOfflineController( offlineController );
- }
-
- public void initService( ServiceLocator locator )
- {
- setFileProcessor( locator.getService( FileProcessor.class ) );
- setRepositoryEventDispatcher( locator.getService( RepositoryEventDispatcher.class ) );
- setRepositoryConnectorProvider( locator.getService( RepositoryConnectorProvider.class ) );
- setRemoteRepositoryManager( locator.getService( RemoteRepositoryManager.class ) );
- setUpdateCheckManager( locator.getService( UpdateCheckManager.class ) );
- setMetadataGeneratorFactories( locator.getServices( MetadataGeneratorFactory.class ) );
- setSyncContextFactory( locator.getService( SyncContextFactory.class ) );
- setOfflineController( locator.getService( OfflineController.class ) );
- }
-
- public DefaultDeployer setFileProcessor( FileProcessor fileProcessor )
{
this.fileProcessor = requireNonNull( fileProcessor, "file processor cannot be null" );
- return this;
- }
-
- public DefaultDeployer setRepositoryEventDispatcher( RepositoryEventDispatcher repositoryEventDispatcher )
- {
this.repositoryEventDispatcher = requireNonNull(
- repositoryEventDispatcher, "repository event dispatcher cannot be null" );
- return this;
- }
-
- public DefaultDeployer setRepositoryConnectorProvider( RepositoryConnectorProvider repositoryConnectorProvider )
- {
+ repositoryEventDispatcher, "repository event dispatcher cannot be null" );
this.repositoryConnectorProvider = requireNonNull(
- repositoryConnectorProvider, "repository connector provider cannot be null" );
- return this;
- }
-
- public DefaultDeployer setRemoteRepositoryManager( RemoteRepositoryManager remoteRepositoryManager )
- {
+ repositoryConnectorProvider, "repository connector provider cannot be null" );
this.remoteRepositoryManager = requireNonNull(
- remoteRepositoryManager, "remote repository provider cannot be null" );
- return this;
- }
-
- public DefaultDeployer setUpdateCheckManager( UpdateCheckManager updateCheckManager )
- {
+ remoteRepositoryManager, "remote repository provider cannot be null" );
this.updateCheckManager = requireNonNull( updateCheckManager, "update check manager cannot be null" );
- return this;
- }
-
- public DefaultDeployer addMetadataGeneratorFactory( MetadataGeneratorFactory factory )
- {
- metadataFactories.add( requireNonNull( factory, "metadata generator factory cannot be null" ) );
- return this;
- }
-
- public DefaultDeployer setMetadataGeneratorFactories( Collection metadataFactories )
- {
- if ( metadataFactories == null )
+ this.metadataFactories = new ArrayList<>();
+ if ( metadataFactories != null )
{
- this.metadataFactories = new ArrayList<>();
+ this.metadataFactories.addAll( metadataFactories );
}
- else
- {
- this.metadataFactories = metadataFactories;
- }
- return this;
- }
-
- public DefaultDeployer setSyncContextFactory( SyncContextFactory syncContextFactory )
- {
this.syncContextFactory = requireNonNull( syncContextFactory, "sync context factory cannot be null" );
- return this;
- }
-
- public DefaultDeployer setOfflineController( OfflineController offlineController )
- {
this.offlineController = requireNonNull( offlineController, "offline controller cannot be null" );
- return this;
}
+ @Override
public DeployResult deploy( RepositorySystemSession session, DeployRequest request )
throws DeploymentException
{
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultFileProcessor.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultFileProcessor.java
index 20a13c404..c89f11f79 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultFileProcessor.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultFileProcessor.java
@@ -51,6 +51,7 @@ public class DefaultFileProcessor
* @return {@code true} if and only if the directory was created, along with all necessary parent directories;
* {@code false} otherwise
*/
+ @Override
public boolean mkdirs( File directory )
{
if ( directory == null )
@@ -81,6 +82,7 @@ public boolean mkdirs( File directory )
return ( parentDir != null && ( mkdirs( parentDir ) || parentDir.exists() ) && canonDir.mkdir() );
}
+ @Override
public void write( File target, String data )
throws IOException
{
@@ -115,6 +117,7 @@ public void write( File target, String data )
}
}
+ @Override
public void write( File target, InputStream source )
throws IOException
{
@@ -146,12 +149,14 @@ public void write( File target, InputStream source )
}
}
+ @Override
public void copy( File source, File target )
throws IOException
{
copy( source, target, null );
}
+ @Override
public long copy( File source, File target, ProgressListener listener )
throws IOException
{
@@ -245,6 +250,7 @@ private long copy( OutputStream os, InputStream is, ProgressListener listener )
return total;
}
+ @Override
public void move( File source, File target )
throws IOException
{
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 16f2145f7..f46366b52 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
@@ -54,8 +54,6 @@
import org.eclipse.aether.repository.LocalMetadataRegistration;
import org.eclipse.aether.repository.LocalRepositoryManager;
import org.eclipse.aether.spi.io.FileProcessor;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.transform.FileTransformer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -65,80 +63,35 @@
@Singleton
@Named
public class DefaultInstaller
- implements Installer, Service
+ implements Installer
{
private static final Logger LOGGER = LoggerFactory.getLogger( DefaultInstaller.class );
- private FileProcessor fileProcessor;
+ private final FileProcessor fileProcessor;
- private RepositoryEventDispatcher repositoryEventDispatcher;
+ private final RepositoryEventDispatcher repositoryEventDispatcher;
- private Collection metadataFactories = new ArrayList<>();
+ private final Collection metadataFactories;
- private SyncContextFactory syncContextFactory;
-
- public DefaultInstaller()
- {
- // enables default constructor
- }
+ private final SyncContextFactory syncContextFactory;
@Inject
- DefaultInstaller( FileProcessor fileProcessor, RepositoryEventDispatcher repositoryEventDispatcher,
+ public DefaultInstaller( FileProcessor fileProcessor, RepositoryEventDispatcher repositoryEventDispatcher,
Set metadataFactories, SyncContextFactory syncContextFactory )
- {
- setFileProcessor( fileProcessor );
- setRepositoryEventDispatcher( repositoryEventDispatcher );
- setMetadataGeneratorFactories( metadataFactories );
- setSyncContextFactory( syncContextFactory );
- }
-
- public void initService( ServiceLocator locator )
- {
- setFileProcessor( locator.getService( FileProcessor.class ) );
- setRepositoryEventDispatcher( locator.getService( RepositoryEventDispatcher.class ) );
- setMetadataGeneratorFactories( locator.getServices( MetadataGeneratorFactory.class ) );
- setSyncContextFactory( locator.getService( SyncContextFactory.class ) );
- }
-
- public DefaultInstaller setFileProcessor( FileProcessor fileProcessor )
{
this.fileProcessor = requireNonNull( fileProcessor, "file processor cannot be null" );
- return this;
- }
-
- public DefaultInstaller setRepositoryEventDispatcher( RepositoryEventDispatcher repositoryEventDispatcher )
- {
this.repositoryEventDispatcher = requireNonNull( repositoryEventDispatcher,
- "repository event dispatcher cannot be null" );
- return this;
- }
-
- public DefaultInstaller addMetadataGeneratorFactory( MetadataGeneratorFactory factory )
- {
- metadataFactories.add( requireNonNull( factory, "metadata generator factory cannot be null" ) );
- return this;
- }
-
- public DefaultInstaller setMetadataGeneratorFactories( Collection metadataFactories )
- {
- if ( metadataFactories == null )
+ "repository event dispatcher cannot be null" );
+ this.metadataFactories = new ArrayList<>();
+ if ( metadataFactories != null )
{
- this.metadataFactories = new ArrayList<>();
+ this.metadataFactories.addAll( metadataFactories );
}
- else
- {
- this.metadataFactories = metadataFactories;
- }
- return this;
- }
-
- public DefaultInstaller setSyncContextFactory( SyncContextFactory syncContextFactory )
- {
this.syncContextFactory = requireNonNull( syncContextFactory, "sync context factory cannot be null" );
- return this;
}
+ @Override
public InstallResult install( RepositorySystemSession session, InstallRequest request )
throws InstallationException
{
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 da0d59ca9..a3d102335 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
@@ -35,8 +35,6 @@
import org.eclipse.aether.repository.LocalRepositoryManager;
import org.eclipse.aether.repository.NoLocalRepositoryManagerException;
import org.eclipse.aether.spi.localrepo.LocalRepositoryManagerFactory;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,27 +43,21 @@
@Singleton
@Named
public class DefaultLocalRepositoryProvider
- implements LocalRepositoryProvider, Service
+ implements LocalRepositoryProvider
{
private static final Logger LOGGER = LoggerFactory.getLogger( DefaultLocalRepositoryProvider.class );
- private Collection managerFactories = new ArrayList<>();
-
- public DefaultLocalRepositoryProvider()
- {
- // enables default constructor
- }
+ private final Collection managerFactories;
@Inject
- DefaultLocalRepositoryProvider( Set factories )
+ public DefaultLocalRepositoryProvider( Set factories )
{
- setLocalRepositoryManagerFactories( factories );
- }
-
- public void initService( ServiceLocator locator )
- {
- setLocalRepositoryManagerFactories( locator.getServices( LocalRepositoryManagerFactory.class ) );
+ this.managerFactories = new ArrayList<>();
+ if ( factories != null )
+ {
+ this.managerFactories.addAll( factories );
+ }
}
public DefaultLocalRepositoryProvider addLocalRepositoryManagerFactory( LocalRepositoryManagerFactory factory )
@@ -74,20 +66,7 @@ public DefaultLocalRepositoryProvider addLocalRepositoryManagerFactory( LocalRep
return this;
}
- public DefaultLocalRepositoryProvider setLocalRepositoryManagerFactories(
- Collection factories )
- {
- if ( factories == null )
- {
- managerFactories = new ArrayList<>( 2 );
- }
- else
- {
- managerFactories = factories;
- }
- return this;
- }
-
+ @Override
public LocalRepositoryManager newLocalRepositoryManager( RepositorySystemSession session,
LocalRepository repository )
throws NoLocalRepositoryManagerException
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 cd217b512..707bd8d2c 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
@@ -64,8 +64,6 @@
import org.eclipse.aether.resolution.MetadataResult;
import org.eclipse.aether.spi.connector.MetadataDownload;
import org.eclipse.aether.spi.connector.RepositoryConnector;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.transfer.MetadataNotFoundException;
import org.eclipse.aether.transfer.MetadataTransferException;
import org.eclipse.aether.transfer.NoRepositoryConnectorException;
@@ -79,93 +77,42 @@
@Singleton
@Named
public class DefaultMetadataResolver
- implements MetadataResolver, Service
+ implements MetadataResolver
{
private static final String CONFIG_PROP_THREADS = "aether.metadataResolver.threads";
- private RepositoryEventDispatcher repositoryEventDispatcher;
+ private final RepositoryEventDispatcher repositoryEventDispatcher;
- private UpdateCheckManager updateCheckManager;
+ private final UpdateCheckManager updateCheckManager;
- private RepositoryConnectorProvider repositoryConnectorProvider;
+ private final RepositoryConnectorProvider repositoryConnectorProvider;
- private RemoteRepositoryManager remoteRepositoryManager;
+ private final RemoteRepositoryManager remoteRepositoryManager;
- private SyncContextFactory syncContextFactory;
+ private final SyncContextFactory syncContextFactory;
- private OfflineController offlineController;
-
- public DefaultMetadataResolver()
- {
- // enables default constructor
- }
+ private final OfflineController offlineController;
@Inject
- DefaultMetadataResolver( RepositoryEventDispatcher repositoryEventDispatcher,
+ public DefaultMetadataResolver( RepositoryEventDispatcher repositoryEventDispatcher,
UpdateCheckManager updateCheckManager,
RepositoryConnectorProvider repositoryConnectorProvider,
RemoteRepositoryManager remoteRepositoryManager, SyncContextFactory syncContextFactory,
OfflineController offlineController )
- {
- setRepositoryEventDispatcher( repositoryEventDispatcher );
- setUpdateCheckManager( updateCheckManager );
- setRepositoryConnectorProvider( repositoryConnectorProvider );
- setRemoteRepositoryManager( remoteRepositoryManager );
- setSyncContextFactory( syncContextFactory );
- setOfflineController( offlineController );
- }
-
- public void initService( ServiceLocator locator )
- {
- setRepositoryEventDispatcher( locator.getService( RepositoryEventDispatcher.class ) );
- setUpdateCheckManager( locator.getService( UpdateCheckManager.class ) );
- setRepositoryConnectorProvider( locator.getService( RepositoryConnectorProvider.class ) );
- setRemoteRepositoryManager( locator.getService( RemoteRepositoryManager.class ) );
- setSyncContextFactory( locator.getService( SyncContextFactory.class ) );
- setOfflineController( locator.getService( OfflineController.class ) );
- }
-
- public DefaultMetadataResolver setRepositoryEventDispatcher( RepositoryEventDispatcher repositoryEventDispatcher )
{
this.repositoryEventDispatcher = requireNonNull(
- repositoryEventDispatcher, "repository event dispatcher cannot be null" );
- return this;
- }
-
- public DefaultMetadataResolver setUpdateCheckManager( UpdateCheckManager updateCheckManager )
- {
+ repositoryEventDispatcher, "repository event dispatcher cannot be null" );
this.updateCheckManager = requireNonNull( updateCheckManager, "update check manager cannot be null" );
- return this;
- }
-
- public DefaultMetadataResolver setRepositoryConnectorProvider(
- RepositoryConnectorProvider repositoryConnectorProvider )
- {
this.repositoryConnectorProvider = requireNonNull(
- repositoryConnectorProvider, "repository connector provider cannot be null" );
- return this;
- }
-
- public DefaultMetadataResolver setRemoteRepositoryManager( RemoteRepositoryManager remoteRepositoryManager )
- {
+ repositoryConnectorProvider, "repository connector provider cannot be null" );
this.remoteRepositoryManager = requireNonNull(
- remoteRepositoryManager, "remote repository provider cannot be null" );
- return this;
- }
-
- public DefaultMetadataResolver setSyncContextFactory( SyncContextFactory syncContextFactory )
- {
+ remoteRepositoryManager, "remote repository provider cannot be null" );
this.syncContextFactory = requireNonNull( syncContextFactory, "sync context factory cannot be null" );
- return this;
- }
-
- public DefaultMetadataResolver setOfflineController( OfflineController offlineController )
- {
this.offlineController = requireNonNull( offlineController, "offline controller cannot be null" );
- return this;
}
+ @Override
public List resolveMetadata( RepositorySystemSession session,
Collection extends MetadataRequest> requests )
{
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 63764eb50..44261b4b6 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
@@ -45,11 +45,7 @@ public class DefaultOfflineController
private static final Pattern SEP = Pattern.compile( "\\s*,\\s*" );
- public DefaultOfflineController()
- {
- // enables default constructor
- }
-
+ @Override
public void checkOffline( RepositorySystemSession session, RemoteRepository repository )
throws RepositoryOfflineException
{
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 393f87626..20fcf6f7f 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
@@ -42,8 +42,6 @@
import org.eclipse.aether.repository.RemoteRepository;
import org.eclipse.aether.repository.RepositoryPolicy;
import org.eclipse.aether.spi.connector.checksum.ChecksumPolicyProvider;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,7 +50,7 @@
@Singleton
@Named
public class DefaultRemoteRepositoryManager
- implements RemoteRepositoryManager, Service
+ implements RemoteRepositoryManager
{
private static final class LoggedMirror
@@ -90,42 +88,21 @@ public int hashCode()
private static final Logger LOGGER = LoggerFactory.getLogger( DefaultRemoteRepositoryManager.class );
- private UpdatePolicyAnalyzer updatePolicyAnalyzer;
+ private final UpdatePolicyAnalyzer updatePolicyAnalyzer;
- private ChecksumPolicyProvider checksumPolicyProvider;
-
- public DefaultRemoteRepositoryManager()
- {
- // enables default constructor
- }
+ private final ChecksumPolicyProvider checksumPolicyProvider;
@Inject
- DefaultRemoteRepositoryManager( UpdatePolicyAnalyzer updatePolicyAnalyzer,
+ public DefaultRemoteRepositoryManager( UpdatePolicyAnalyzer updatePolicyAnalyzer,
ChecksumPolicyProvider checksumPolicyProvider )
{
- setUpdatePolicyAnalyzer( updatePolicyAnalyzer );
- setChecksumPolicyProvider( checksumPolicyProvider );
- }
-
- public void initService( ServiceLocator locator )
- {
- setUpdatePolicyAnalyzer( locator.getService( UpdatePolicyAnalyzer.class ) );
- setChecksumPolicyProvider( locator.getService( ChecksumPolicyProvider.class ) );
- }
-
- public DefaultRemoteRepositoryManager setUpdatePolicyAnalyzer( UpdatePolicyAnalyzer updatePolicyAnalyzer )
- {
- this.updatePolicyAnalyzer = requireNonNull( updatePolicyAnalyzer, "update policy analyzer cannot be null" );
- return this;
- }
-
- public DefaultRemoteRepositoryManager setChecksumPolicyProvider( ChecksumPolicyProvider checksumPolicyProvider )
- {
+ this.updatePolicyAnalyzer = requireNonNull(
+ updatePolicyAnalyzer, "update policy analyzer cannot be null" );
this.checksumPolicyProvider = requireNonNull(
- checksumPolicyProvider, "checksum policy provider cannot be null" );
- return this;
+ checksumPolicyProvider, "checksum policy provider cannot be null" );
}
+ @Override
public List aggregateRepositories( RepositorySystemSession session,
List dominantRepositories,
List recessiveRepositories,
@@ -272,6 +249,7 @@ private RemoteRepository mergeMirrors( RepositorySystemSession session, RemoteRe
return merged.setReleasePolicy( releases ).setSnapshotPolicy( snapshots ).build();
}
+ @Override
public RepositoryPolicy getPolicy( RepositorySystemSession session, RemoteRepository repository, boolean releases,
boolean snapshots )
{
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryConnectorProvider.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryConnectorProvider.java
index e1f0b319b..010444a77 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryConnectorProvider.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryConnectorProvider.java
@@ -36,8 +36,6 @@
import org.eclipse.aether.repository.RemoteRepository;
import org.eclipse.aether.spi.connector.RepositoryConnector;
import org.eclipse.aether.spi.connector.RepositoryConnectorFactory;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.transfer.NoRepositoryConnectorException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,27 +45,21 @@
@Singleton
@Named
public class DefaultRepositoryConnectorProvider
- implements RepositoryConnectorProvider, Service
+ implements RepositoryConnectorProvider
{
private static final Logger LOGGER = LoggerFactory.getLogger( DefaultRepositoryConnectorProvider.class );
- private Collection connectorFactories = new ArrayList<>();
-
- public DefaultRepositoryConnectorProvider()
- {
- // enables default constructor
- }
+ private final Collection connectorFactories;
@Inject
- DefaultRepositoryConnectorProvider( Set connectorFactories )
+ public DefaultRepositoryConnectorProvider( Set connectorFactories )
{
- setRepositoryConnectorFactories( connectorFactories );
- }
-
- public void initService( ServiceLocator locator )
- {
- connectorFactories = locator.getServices( RepositoryConnectorFactory.class );
+ this.connectorFactories = new ArrayList<>();
+ if ( connectorFactories != null )
+ {
+ this.connectorFactories.addAll( connectorFactories );
+ }
}
public DefaultRepositoryConnectorProvider addRepositoryConnectorFactory( RepositoryConnectorFactory factory )
@@ -76,20 +68,7 @@ public DefaultRepositoryConnectorProvider addRepositoryConnectorFactory( Reposit
return this;
}
- public DefaultRepositoryConnectorProvider setRepositoryConnectorFactories(
- Collection factories )
- {
- if ( factories == null )
- {
- this.connectorFactories = new ArrayList<>();
- }
- else
- {
- this.connectorFactories = factories;
- }
- return this;
- }
-
+ @Override
public RepositoryConnector newRepositoryConnector( RepositorySystemSession session, RemoteRepository repository )
throws NoRepositoryConnectorException
{
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 e6ea7d359..0f0e370e1 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
@@ -31,8 +31,6 @@
import org.eclipse.aether.RepositoryEvent;
import org.eclipse.aether.RepositoryListener;
import org.eclipse.aether.impl.RepositoryEventDispatcher;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -41,22 +39,21 @@
@Singleton
@Named
public class DefaultRepositoryEventDispatcher
- implements RepositoryEventDispatcher, Service
+ implements RepositoryEventDispatcher
{
private static final Logger LOGGER = LoggerFactory.getLogger( DefaultRepositoryEventDispatcher.class );
- private Collection listeners = new ArrayList<>();
-
- public DefaultRepositoryEventDispatcher()
- {
- // enables no-arg constructor
- }
+ private final Collection listeners;
@Inject
- DefaultRepositoryEventDispatcher( Set listeners )
+ public DefaultRepositoryEventDispatcher( Set listeners )
{
- setRepositoryListeners( listeners );
+ this.listeners = new ArrayList<>();
+ if ( listeners != null )
+ {
+ this.listeners.addAll( listeners );
+ }
}
public DefaultRepositoryEventDispatcher addRepositoryListener( RepositoryListener listener )
@@ -65,24 +62,7 @@ public DefaultRepositoryEventDispatcher addRepositoryListener( RepositoryListene
return this;
}
- public DefaultRepositoryEventDispatcher setRepositoryListeners( Collection listeners )
- {
- if ( listeners == null )
- {
- this.listeners = new ArrayList<>();
- }
- else
- {
- this.listeners = listeners;
- }
- return this;
- }
-
- public void initService( ServiceLocator locator )
- {
- setRepositoryListeners( locator.getServices( RepositoryListener.class ) );
- }
-
+ @Override
public void dispatch( RepositoryEvent event )
{
if ( !listeners.isEmpty() )
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 8b1c3f203..c8f60b151 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
@@ -34,8 +34,6 @@
import org.eclipse.aether.spi.connector.layout.RepositoryLayout;
import org.eclipse.aether.spi.connector.layout.RepositoryLayoutFactory;
import org.eclipse.aether.spi.connector.layout.RepositoryLayoutProvider;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.transfer.NoRepositoryLayoutException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,27 +43,21 @@
@Singleton
@Named
public final class DefaultRepositoryLayoutProvider
- implements RepositoryLayoutProvider, Service
+ implements RepositoryLayoutProvider
{
private static final Logger LOGGER = LoggerFactory.getLogger( DefaultRepositoryLayoutProvider.class );
- private Collection factories = new ArrayList<>();
-
- public DefaultRepositoryLayoutProvider()
- {
- // enables default constructor
- }
+ private final Collection factories;
@Inject
- DefaultRepositoryLayoutProvider( Set layoutFactories )
+ public DefaultRepositoryLayoutProvider( Set factories )
{
- setRepositoryLayoutFactories( layoutFactories );
- }
-
- public void initService( ServiceLocator locator )
- {
- setRepositoryLayoutFactories( locator.getServices( RepositoryLayoutFactory.class ) );
+ this.factories = new ArrayList<>();
+ if ( factories != null )
+ {
+ this.factories.addAll( factories );
+ }
}
public DefaultRepositoryLayoutProvider addRepositoryLayoutFactory( RepositoryLayoutFactory factory )
@@ -74,19 +66,7 @@ public DefaultRepositoryLayoutProvider addRepositoryLayoutFactory( RepositoryLay
return this;
}
- public DefaultRepositoryLayoutProvider setRepositoryLayoutFactories( Collection factories )
- {
- if ( factories == null )
- {
- this.factories = new ArrayList<>();
- }
- else
- {
- this.factories = factories;
- }
- return this;
- }
-
+ @Override
public RepositoryLayout newRepositoryLayout( RepositorySystemSession session, RemoteRepository repository )
throws NoRepositoryLayoutException
{
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 eb0f79d07..7ab0ac917 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
@@ -78,8 +78,6 @@
import org.eclipse.aether.resolution.VersionRequest;
import org.eclipse.aether.resolution.VersionResolutionException;
import org.eclipse.aether.resolution.VersionResult;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.util.graph.visitor.FilteringDependencyVisitor;
import org.eclipse.aether.util.graph.visitor.TreeDependencyVisitor;
@@ -88,153 +86,65 @@
@Singleton
@Named
public class DefaultRepositorySystem
- implements RepositorySystem, Service
+ implements RepositorySystem
{
- private VersionResolver versionResolver;
+ private final VersionResolver versionResolver;
- private VersionRangeResolver versionRangeResolver;
+ private final VersionRangeResolver versionRangeResolver;
- private ArtifactResolver artifactResolver;
+ private final ArtifactResolver artifactResolver;
- private MetadataResolver metadataResolver;
+ private final MetadataResolver metadataResolver;
- private ArtifactDescriptorReader artifactDescriptorReader;
+ private final ArtifactDescriptorReader artifactDescriptorReader;
- private DependencyCollector dependencyCollector;
+ private final DependencyCollector dependencyCollector;
- private Installer installer;
+ private final Installer installer;
- private Deployer deployer;
+ private final Deployer deployer;
- private LocalRepositoryProvider localRepositoryProvider;
+ private final LocalRepositoryProvider localRepositoryProvider;
- private SyncContextFactory syncContextFactory;
+ private final SyncContextFactory syncContextFactory;
- private RemoteRepositoryManager remoteRepositoryManager;
-
- public DefaultRepositorySystem()
- {
- // enables default constructor
- }
+ private final RemoteRepositoryManager remoteRepositoryManager;
@SuppressWarnings( "checkstyle:parameternumber" )
@Inject
- DefaultRepositorySystem( VersionResolver versionResolver, VersionRangeResolver versionRangeResolver,
+ public DefaultRepositorySystem( VersionResolver versionResolver, VersionRangeResolver versionRangeResolver,
ArtifactResolver artifactResolver, MetadataResolver metadataResolver,
ArtifactDescriptorReader artifactDescriptorReader,
DependencyCollector dependencyCollector, Installer installer, Deployer deployer,
LocalRepositoryProvider localRepositoryProvider, SyncContextFactory syncContextFactory,
RemoteRepositoryManager remoteRepositoryManager )
{
- setVersionResolver( versionResolver );
- setVersionRangeResolver( versionRangeResolver );
- setArtifactResolver( artifactResolver );
- setMetadataResolver( metadataResolver );
- setArtifactDescriptorReader( artifactDescriptorReader );
- setDependencyCollector( dependencyCollector );
- setInstaller( installer );
- setDeployer( deployer );
- setLocalRepositoryProvider( localRepositoryProvider );
- setSyncContextFactory( syncContextFactory );
- setRemoteRepositoryManager( remoteRepositoryManager );
- }
-
- public void initService( ServiceLocator locator )
- {
- setVersionResolver( locator.getService( VersionResolver.class ) );
- setVersionRangeResolver( locator.getService( VersionRangeResolver.class ) );
- setArtifactResolver( locator.getService( ArtifactResolver.class ) );
- setMetadataResolver( locator.getService( MetadataResolver.class ) );
- setArtifactDescriptorReader( locator.getService( ArtifactDescriptorReader.class ) );
- setDependencyCollector( locator.getService( DependencyCollector.class ) );
- setInstaller( locator.getService( Installer.class ) );
- setDeployer( locator.getService( Deployer.class ) );
- setLocalRepositoryProvider( locator.getService( LocalRepositoryProvider.class ) );
- setRemoteRepositoryManager( locator.getService( RemoteRepositoryManager.class ) );
- setSyncContextFactory( locator.getService( SyncContextFactory.class ) );
- }
-
- /**
- * @deprecated not used any more since MRESOLVER-36 move to slf4j, added back in MRESOLVER-64 for compatibility
- */
- @Deprecated
- public DefaultRepositorySystem setLoggerFactory( org.eclipse.aether.spi.log.LoggerFactory loggerFactory )
- {
- // this.logger = NullLoggerFactory.getSafeLogger( loggerFactory, getClass() );
- return this;
- }
-
- public DefaultRepositorySystem setVersionResolver( VersionResolver versionResolver )
- {
- this.versionResolver = requireNonNull( versionResolver, "version resolver cannot be null" );
- return this;
- }
-
- public DefaultRepositorySystem setVersionRangeResolver( VersionRangeResolver versionRangeResolver )
- {
+ this.versionResolver = requireNonNull(
+ versionResolver, "version resolver cannot be null" );
this.versionRangeResolver = requireNonNull(
- versionRangeResolver, "version range resolver cannot be null" );
- return this;
- }
-
- public DefaultRepositorySystem setArtifactResolver( ArtifactResolver artifactResolver )
- {
- this.artifactResolver = requireNonNull( artifactResolver, "artifact resolver cannot be null" );
- return this;
- }
-
- public DefaultRepositorySystem setMetadataResolver( MetadataResolver metadataResolver )
- {
- this.metadataResolver = requireNonNull( metadataResolver, "metadata resolver cannot be null" );
- return this;
- }
-
- public DefaultRepositorySystem setArtifactDescriptorReader( ArtifactDescriptorReader artifactDescriptorReader )
- {
+ versionRangeResolver, "version range resolver cannot be null" );
+ this.artifactResolver = requireNonNull(
+ artifactResolver, "artifact resolver cannot be null" );
+ this.metadataResolver = requireNonNull(
+ metadataResolver, "metadata resolver cannot be null" );
this.artifactDescriptorReader = requireNonNull(
- artifactDescriptorReader, "artifact descriptor reader cannot be null" );
- return this;
- }
-
- public DefaultRepositorySystem setDependencyCollector( DependencyCollector dependencyCollector )
- {
- this.dependencyCollector = requireNonNull( dependencyCollector, "dependency collector cannot be null" );
- return this;
- }
-
- public DefaultRepositorySystem setInstaller( Installer installer )
- {
- this.installer = requireNonNull( installer, "installer cannot be null" );
- return this;
- }
-
- public DefaultRepositorySystem setDeployer( Deployer deployer )
- {
- this.deployer = requireNonNull( deployer, "deployer cannot be null" );
- return this;
- }
-
- public DefaultRepositorySystem setLocalRepositoryProvider( LocalRepositoryProvider localRepositoryProvider )
- {
+ artifactDescriptorReader, "artifact descriptor reader cannot be null" );
+ this.dependencyCollector = requireNonNull(
+ dependencyCollector, "dependency collector cannot be null" );
+ this.installer = requireNonNull(
+ installer, "installer cannot be null" );
+ this.deployer = requireNonNull(
+ deployer, "deployer cannot be null" );
this.localRepositoryProvider = requireNonNull(
- localRepositoryProvider, "local repository provider cannot be null" );
- return this;
- }
-
- public DefaultRepositorySystem setSyncContextFactory( SyncContextFactory syncContextFactory )
- {
- this.syncContextFactory = requireNonNull( syncContextFactory, "sync context factory cannot be null" );
- return this;
- }
-
- public DefaultRepositorySystem setRemoteRepositoryManager( RemoteRepositoryManager remoteRepositoryManager )
- {
+ localRepositoryProvider, "local repository provider cannot be null" );
+ this.syncContextFactory = requireNonNull(
+ syncContextFactory, "sync context factory cannot be null" );
this.remoteRepositoryManager = requireNonNull(
- remoteRepositoryManager, "remote repository provider cannot be null" );
- return this;
+ remoteRepositoryManager, "remote repository provider cannot be null" );
}
+ @Override
public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
throws VersionResolutionException
{
@@ -242,6 +152,7 @@ public VersionResult resolveVersion( RepositorySystemSession session, VersionReq
return versionResolver.resolveVersion( session, request );
}
+ @Override
public VersionRangeResult resolveVersionRange( RepositorySystemSession session, VersionRangeRequest request )
throws VersionRangeResolutionException
{
@@ -249,6 +160,7 @@ public VersionRangeResult resolveVersionRange( RepositorySystemSession session,
return versionRangeResolver.resolveVersionRange( session, request );
}
+ @Override
public ArtifactDescriptorResult readArtifactDescriptor( RepositorySystemSession session,
ArtifactDescriptorRequest request )
throws ArtifactDescriptorException
@@ -257,6 +169,7 @@ public ArtifactDescriptorResult readArtifactDescriptor( RepositorySystemSession
return artifactDescriptorReader.readArtifactDescriptor( session, request );
}
+ @Override
public ArtifactResult resolveArtifact( RepositorySystemSession session, ArtifactRequest request )
throws ArtifactResolutionException
{
@@ -264,6 +177,7 @@ public ArtifactResult resolveArtifact( RepositorySystemSession session, Artifact
return artifactResolver.resolveArtifact( session, request );
}
+ @Override
public List resolveArtifacts( RepositorySystemSession session,
Collection extends ArtifactRequest> requests )
throws ArtifactResolutionException
@@ -272,6 +186,7 @@ public List resolveArtifacts( RepositorySystemSession session,
return artifactResolver.resolveArtifacts( session, requests );
}
+ @Override
public List resolveMetadata( RepositorySystemSession session,
Collection extends MetadataRequest> requests )
{
@@ -279,6 +194,7 @@ public List resolveMetadata( RepositorySystemSession session,
return metadataResolver.resolveMetadata( session, requests );
}
+ @Override
public CollectResult collectDependencies( RepositorySystemSession session, CollectRequest request )
throws DependencyCollectionException
{
@@ -286,6 +202,7 @@ public CollectResult collectDependencies( RepositorySystemSession session, Colle
return dependencyCollector.collectDependencies( session, request );
}
+ @Override
public DependencyResult resolveDependencies( RepositorySystemSession session, DependencyRequest request )
throws DependencyResolutionException
{
@@ -374,6 +291,7 @@ private void updateNodesWithResolvedArtifacts( List results )
}
}
+ @Override
public InstallResult install( RepositorySystemSession session, InstallRequest request )
throws InstallationException
{
@@ -381,6 +299,7 @@ public InstallResult install( RepositorySystemSession session, InstallRequest re
return installer.install( session, request );
}
+ @Override
public DeployResult deploy( RepositorySystemSession session, DeployRequest request )
throws DeploymentException
{
@@ -388,6 +307,7 @@ public DeployResult deploy( RepositorySystemSession session, DeployRequest reque
return deployer.deploy( session, request );
}
+ @Override
public LocalRepositoryManager newLocalRepositoryManager( RepositorySystemSession session,
LocalRepository localRepository )
{
@@ -401,12 +321,14 @@ public LocalRepositoryManager newLocalRepositoryManager( RepositorySystemSession
}
}
+ @Override
public SyncContext newSyncContext( RepositorySystemSession session, boolean shared )
{
validateSession( session );
return syncContextFactory.newInstance( session, shared );
}
+ @Override
public List newResolutionRepositories( RepositorySystemSession session,
List repositories )
{
@@ -417,6 +339,7 @@ public List newResolutionRepositories( RepositorySystemSession
return repositories;
}
+ @Override
public RemoteRepository newDeploymentRepository( RepositorySystemSession session, RemoteRepository repository )
{
validateSession( session );
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 43357e87b..6db860ecf 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
@@ -34,8 +34,6 @@
import org.eclipse.aether.spi.connector.transport.Transporter;
import org.eclipse.aether.spi.connector.transport.TransporterFactory;
import org.eclipse.aether.spi.connector.transport.TransporterProvider;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.transfer.NoTransporterException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,27 +43,21 @@
@Singleton
@Named
public final class DefaultTransporterProvider
- implements TransporterProvider, Service
+ implements TransporterProvider
{
private static final Logger LOGGER = LoggerFactory.getLogger( DefaultTransporterProvider.class );
- private Collection factories = new ArrayList<>();
-
- public DefaultTransporterProvider()
- {
- // enables default constructor
- }
+ private final Collection factories;
@Inject
- DefaultTransporterProvider( Set transporterFactories )
+ public DefaultTransporterProvider( Set transporterFactories )
{
- setTransporterFactories( transporterFactories );
- }
-
- public void initService( ServiceLocator locator )
- {
- setTransporterFactories( locator.getServices( TransporterFactory.class ) );
+ this.factories = new ArrayList<>();
+ if ( transporterFactories != null )
+ {
+ this.factories.addAll( transporterFactories );
+ }
}
public DefaultTransporterProvider addTransporterFactory( TransporterFactory factory )
@@ -74,19 +66,7 @@ public DefaultTransporterProvider addTransporterFactory( TransporterFactory fact
return this;
}
- public DefaultTransporterProvider setTransporterFactories( Collection factories )
- {
- if ( factories == null )
- {
- this.factories = new ArrayList<>();
- }
- else
- {
- this.factories = factories;
- }
- return this;
- }
-
+ @Override
public Transporter newTransporter( RepositorySystemSession session, RemoteRepository repository )
throws NoTransporterException
{
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 df6f3c487..374c0f35a 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
@@ -44,8 +44,6 @@
import org.eclipse.aether.repository.Proxy;
import org.eclipse.aether.repository.RemoteRepository;
import org.eclipse.aether.resolution.ResolutionErrorPolicy;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.transfer.ArtifactNotFoundException;
import org.eclipse.aether.transfer.ArtifactTransferException;
import org.eclipse.aether.transfer.MetadataNotFoundException;
@@ -59,14 +57,14 @@
@Singleton
@Named
public class DefaultUpdateCheckManager
- implements UpdateCheckManager, Service
+ implements UpdateCheckManager
{
private static final Logger LOGGER = LoggerFactory.getLogger( DefaultUpdatePolicyAnalyzer.class );
private final TrackingFileManager trackingFileManager;
- private UpdatePolicyAnalyzer updatePolicyAnalyzer;
+ private final UpdatePolicyAnalyzer updatePolicyAnalyzer;
private static final String UPDATED_KEY_SUFFIX = ".lastUpdated";
@@ -84,29 +82,14 @@ public class DefaultUpdateCheckManager
private static final int STATE_DISABLED = 2;
- public DefaultUpdateCheckManager()
- {
- trackingFileManager = new TrackingFileManager();
- }
-
@Inject
- DefaultUpdateCheckManager( UpdatePolicyAnalyzer updatePolicyAnalyzer )
- {
- this();
- setUpdatePolicyAnalyzer( updatePolicyAnalyzer );
- }
-
- public void initService( ServiceLocator locator )
- {
- setUpdatePolicyAnalyzer( locator.getService( UpdatePolicyAnalyzer.class ) );
- }
-
- public DefaultUpdateCheckManager setUpdatePolicyAnalyzer( UpdatePolicyAnalyzer updatePolicyAnalyzer )
+ public DefaultUpdateCheckManager( UpdatePolicyAnalyzer updatePolicyAnalyzer )
{
+ trackingFileManager = new TrackingFileManager();
this.updatePolicyAnalyzer = requireNonNull( updatePolicyAnalyzer, "update policy analyzer cannot be null" );
- return this;
}
+ @Override
public void checkArtifact( RepositorySystemSession session, UpdateCheck check )
{
if ( check.getLocalLastUpdated() != 0
@@ -232,6 +215,7 @@ private ArtifactTransferException newException( String error, Artifact artifact,
}
}
+ @Override
public void checkMetadata( RepositorySystemSession session, UpdateCheck check )
{
if ( check.getLocalLastUpdated() != 0
@@ -516,6 +500,7 @@ private Properties read( File touchFile )
return ( props != null ) ? props : new Properties();
}
+ @Override
public void touchArtifact( RepositorySystemSession session, UpdateCheck check )
{
File artifactFile = check.getFile();
@@ -546,6 +531,7 @@ private boolean hasErrors( Properties props )
return false;
}
+ @Override
public void touchMetadata( RepositorySystemSession session, UpdateCheck check )
{
File metadataFile = check.getFile();
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 5730c768d..90f783a21 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
@@ -40,11 +40,7 @@ public class DefaultUpdatePolicyAnalyzer
private static final Logger LOGGER = LoggerFactory.getLogger( DefaultUpdatePolicyAnalyzer.class );
- public DefaultUpdatePolicyAnalyzer()
- {
- // enables default constructor
- }
-
+ @Override
public String getEffectiveUpdatePolicy( RepositorySystemSession session, String policy1, String policy2 )
{
return ordinalOfUpdatePolicy( policy1 ) < ordinalOfUpdatePolicy( policy2 ) ? policy1 : policy2;
@@ -72,6 +68,7 @@ else if ( policy != null && policy.startsWith( RepositoryPolicy.UPDATE_POLICY_IN
}
}
+ @Override
public boolean isUpdatedRequired( RepositorySystemSession session, long lastModified, String policy )
{
boolean checkForUpdates;
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 622331507..3fdb6d782 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
@@ -42,11 +42,7 @@ public class EnhancedLocalRepositoryManagerFactory
{
private float priority = 10.0f;
- public EnhancedLocalRepositoryManagerFactory()
- {
- // enable no-arg constructor
- }
-
+ @Override
public LocalRepositoryManager newInstance( RepositorySystemSession session, LocalRepository repository )
throws NoLocalRepositoryManagerException
{
@@ -60,6 +56,7 @@ public LocalRepositoryManager newInstance( RepositorySystemSession session, Loca
}
}
+ @Override
public float getPriority()
{
return priority;
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/FailChecksumPolicy.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/FailChecksumPolicy.java
index c19c00607..70d36c6ca 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/FailChecksumPolicy.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/FailChecksumPolicy.java
@@ -34,6 +34,7 @@ final class FailChecksumPolicy
super( resource );
}
+ @Override
public boolean onTransferChecksumFailure( ChecksumFailureException error )
{
return false;
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/LoggerFactoryProvider.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/LoggerFactoryProvider.java
index 4a532e26c..603c1d771 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/LoggerFactoryProvider.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/LoggerFactoryProvider.java
@@ -39,6 +39,7 @@ public class LoggerFactoryProvider
@Named( "slf4j" )
private Provider slf4j;
+ @Override
public LoggerFactory get()
{
return slf4j.get();
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 ddf3df72b..53ead5f74 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
@@ -54,6 +54,7 @@ public final class Maven2RepositoryLayoutFactory
private float priority;
+ @Override
public float getPriority()
{
return priority;
@@ -71,6 +72,7 @@ public Maven2RepositoryLayoutFactory setPriority( float priority )
return this;
}
+ @Override
public RepositoryLayout newInstance( RepositorySystemSession session, RemoteRepository repository )
throws NoRepositoryLayoutException
{
@@ -110,6 +112,7 @@ private URI toUri( String path )
}
}
+ @Override
public URI getLocation( Artifact artifact, boolean upload )
{
StringBuilder path = new StringBuilder( 128 );
@@ -135,6 +138,7 @@ public URI getLocation( Artifact artifact, boolean upload )
return toUri( path.toString() );
}
+ @Override
public URI getLocation( Metadata metadata, boolean upload )
{
StringBuilder path = new StringBuilder( 128 );
@@ -159,11 +163,13 @@ public URI getLocation( Metadata metadata, boolean upload )
return toUri( path.toString() );
}
+ @Override
public List getChecksums( Artifact artifact, boolean upload, URI location )
{
return getChecksums( location );
}
+ @Override
public List getChecksums( Metadata metadata, boolean upload, URI location )
{
return getChecksums( location );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/PrioritizedComponent.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/PrioritizedComponent.java
index 5bbf9fe23..36f5ac0ee 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/PrioritizedComponent.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/PrioritizedComponent.java
@@ -59,6 +59,7 @@ public boolean isDisabled()
return Float.isNaN( priority );
}
+ @Override
public int compareTo( PrioritizedComponent> o )
{
int rel = ( isDisabled() ? 1 : 0 ) - ( o.isDisabled() ? 1 : 0 );
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 55f114bed..50c01f7ff 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
@@ -62,6 +62,7 @@ class SimpleLocalRepositoryManager
repository = new LocalRepository( basedir.getAbsoluteFile(), type );
}
+ @Override
public LocalRepository getRepository()
{
return repository;
@@ -100,21 +101,25 @@ String getPathForArtifact( Artifact artifact, boolean local )
return path.toString();
}
+ @Override
public String getPathForLocalArtifact( Artifact artifact )
{
return getPathForArtifact( artifact, true );
}
+ @Override
public String getPathForRemoteArtifact( Artifact artifact, RemoteRepository repository, String context )
{
return getPathForArtifact( artifact, false );
}
+ @Override
public String getPathForLocalMetadata( Metadata metadata )
{
return getPath( metadata, "local" );
}
+ @Override
public String getPathForRemoteMetadata( Metadata metadata, RemoteRepository repository, String context )
{
return getPath( metadata, getRepositoryKey( repository, context ) );
@@ -199,6 +204,7 @@ private String insertRepositoryKey( String filename, String repositoryKey )
return result;
}
+ @Override
public LocalArtifactResult find( RepositorySystemSession session, LocalArtifactRequest request )
{
String path = getPathForArtifact( request.getArtifact(), false );
@@ -214,6 +220,7 @@ public LocalArtifactResult find( RepositorySystemSession session, LocalArtifactR
return result;
}
+ @Override
public void add( RepositorySystemSession session, LocalArtifactRegistration request )
{
// noop
@@ -225,6 +232,7 @@ public String toString()
return String.valueOf( getRepository() );
}
+ @Override
public LocalMetadataResult find( RepositorySystemSession session, LocalMetadataRequest request )
{
LocalMetadataResult result = new LocalMetadataResult( request );
@@ -253,6 +261,7 @@ public LocalMetadataResult find( RepositorySystemSession session, LocalMetadataR
return result;
}
+ @Override
public void add( RepositorySystemSession session, LocalMetadataRegistration request )
{
// 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 7ef6d8898..99d371607 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
@@ -38,11 +38,7 @@ public class SimpleLocalRepositoryManagerFactory
{
private float priority;
- public SimpleLocalRepositoryManagerFactory()
- {
- // enable no-arg constructor
- }
-
+ @Override
public LocalRepositoryManager newInstance( RepositorySystemSession session, LocalRepository repository )
throws NoLocalRepositoryManagerException
{
@@ -56,6 +52,7 @@ public LocalRepositoryManager newInstance( RepositorySystemSession session, Loca
}
}
+ @Override
public float getPriority()
{
return priority;
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/CachingArtifactTypeRegistry.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/CachingArtifactTypeRegistry.java
index a26023440..d521dac7e 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/CachingArtifactTypeRegistry.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/CachingArtifactTypeRegistry.java
@@ -53,6 +53,7 @@ private CachingArtifactTypeRegistry( ArtifactTypeRegistry delegate )
types = new HashMap<>();
}
+ @Override
public ArtifactType get( String typeId )
{
ArtifactType type = types.get( typeId );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollectionContext.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollectionContext.java
index 3bf4fe1a0..032805aec 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollectionContext.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollectionContext.java
@@ -50,21 +50,25 @@ final class DefaultDependencyCollectionContext
this.managedDependencies = managedDependencies;
}
+ @Override
public RepositorySystemSession getSession()
{
return session;
}
+ @Override
public Artifact getArtifact()
{
return artifact;
}
+ @Override
public Dependency getDependency()
{
return dependency;
}
+ @Override
public List getManagedDependencies()
{
return managedDependencies;
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 612745158..3d2e6dd74 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
@@ -64,8 +64,6 @@
import org.eclipse.aether.resolution.VersionRangeRequest;
import org.eclipse.aether.resolution.VersionRangeResolutionException;
import org.eclipse.aether.resolution.VersionRangeResult;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.util.ConfigUtils;
import org.eclipse.aether.util.graph.manager.DependencyManagerUtils;
import org.eclipse.aether.util.graph.transformer.TransformationContextKeys;
@@ -78,7 +76,7 @@
@Singleton
@Named
public class DefaultDependencyCollector
- implements DependencyCollector, Service
+ implements DependencyCollector
{
private static final String CONFIG_PROP_MAX_EXCEPTIONS = "aether.dependencyCollector.maxExceptions";
@@ -91,55 +89,27 @@ public class DefaultDependencyCollector
private static final Logger LOGGER = LoggerFactory.getLogger( DefaultDependencyCollector.class );
- private RemoteRepositoryManager remoteRepositoryManager;
+ private final RemoteRepositoryManager remoteRepositoryManager;
- private ArtifactDescriptorReader descriptorReader;
+ private final ArtifactDescriptorReader descriptorReader;
- private VersionRangeResolver versionRangeResolver;
-
- public DefaultDependencyCollector()
- {
- // enables default constructor
- }
+ private final VersionRangeResolver versionRangeResolver;
@Inject
- DefaultDependencyCollector( RemoteRepositoryManager remoteRepositoryManager,
+ public DefaultDependencyCollector( RemoteRepositoryManager remoteRepositoryManager,
ArtifactDescriptorReader artifactDescriptorReader,
VersionRangeResolver versionRangeResolver )
- {
- setRemoteRepositoryManager( remoteRepositoryManager );
- setArtifactDescriptorReader( artifactDescriptorReader );
- setVersionRangeResolver( versionRangeResolver );
- }
-
- public void initService( ServiceLocator locator )
- {
- setRemoteRepositoryManager( locator.getService( RemoteRepositoryManager.class ) );
- setArtifactDescriptorReader( locator.getService( ArtifactDescriptorReader.class ) );
- setVersionRangeResolver( locator.getService( VersionRangeResolver.class ) );
- }
-
- public DefaultDependencyCollector setRemoteRepositoryManager( RemoteRepositoryManager remoteRepositoryManager )
{
this.remoteRepositoryManager =
- requireNonNull( remoteRepositoryManager, "remote repository provider cannot be null" );
- return this;
- }
-
- public DefaultDependencyCollector setArtifactDescriptorReader( ArtifactDescriptorReader artifactDescriptorReader )
- {
- descriptorReader = requireNonNull( artifactDescriptorReader, "artifact descriptor reader cannot be null" );
- return this;
- }
-
- public DefaultDependencyCollector setVersionRangeResolver( VersionRangeResolver versionRangeResolver )
- {
+ requireNonNull( remoteRepositoryManager, "remote repository provider cannot be null" );
+ this.descriptorReader =
+ requireNonNull( artifactDescriptorReader, "artifact descriptor reader cannot be null" );
this.versionRangeResolver =
- requireNonNull( versionRangeResolver, "version range resolver cannot be null" );
- return this;
+ requireNonNull( versionRangeResolver, "version range resolver cannot be null" );
}
@SuppressWarnings( "checkstyle:methodlength" )
+ @Override
public CollectResult collectDependencies( RepositorySystemSession session, CollectRequest request )
throws DependencyCollectionException
{
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCycle.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCycle.java
index 42a56c288..efa4df614 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCycle.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCycle.java
@@ -59,11 +59,13 @@ final class DefaultDependencyCycle
this.cycleEntry = cycleEntry;
}
+ @Override
public List getPrecedingDependencies()
{
return dependencies.subList( 0, cycleEntry );
}
+ @Override
public List getCyclicDependencies()
{
return dependencies.subList( cycleEntry, dependencies.size() );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyGraphTransformationContext.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyGraphTransformationContext.java
index 41c012699..b66c88ef8 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyGraphTransformationContext.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyGraphTransformationContext.java
@@ -42,16 +42,19 @@ class DefaultDependencyGraphTransformationContext
this.map = new HashMap<>();
}
+ @Override
public RepositorySystemSession getSession()
{
return session;
}
+ @Override
public Object get( Object key )
{
return map.get( requireNonNull( key, "key cannot be null" ) );
}
+ @Override
public Object put( Object key, Object value )
{
requireNonNull( key, "key cannot be null" );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultVersionFilterContext.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultVersionFilterContext.java
index bfea0626e..a21408073 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultVersionFilterContext.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultVersionFilterContext.java
@@ -64,36 +64,43 @@ public List get()
return new ArrayList<>( versions );
}
+ @Override
public RepositorySystemSession getSession()
{
return session;
}
+ @Override
public Dependency getDependency()
{
return dependency;
}
+ @Override
public VersionConstraint getVersionConstraint()
{
return result.getVersionConstraint();
}
+ @Override
public int getCount()
{
return versions.size();
}
+ @Override
public ArtifactRepository getRepository( Version version )
{
return result.getRepository( version );
}
+ @Override
public List getRepositories()
{
return Collections.unmodifiableList( result.getRequest().getRepositories() );
}
+ @Override
public Iterator iterator()
{
return versions.iterator();
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/slf4j/Slf4jLoggerFactory.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/slf4j/Slf4jLoggerFactory.java
index d9ffccc43..2f6b305ff 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/slf4j/Slf4jLoggerFactory.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/slf4j/Slf4jLoggerFactory.java
@@ -23,8 +23,6 @@
import javax.inject.Named;
import javax.inject.Singleton;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.spi.log.Logger;
import org.eclipse.aether.spi.log.LoggerFactory;
import org.eclipse.sisu.Nullable;
@@ -37,7 +35,7 @@
@Singleton
@Named( "slf4j" )
public class Slf4jLoggerFactory
- implements LoggerFactory, Service
+ implements LoggerFactory
{
private static final boolean AVAILABLE;
@@ -64,31 +62,19 @@ public static boolean isSlf4jAvailable()
private ILoggerFactory factory;
- /**
- * Creates an instance of this logger factory.
- */
- public Slf4jLoggerFactory()
- {
- // enables no-arg constructor
- }
-
@Inject
- Slf4jLoggerFactory( @Nullable ILoggerFactory factory )
+ public Slf4jLoggerFactory( @Nullable ILoggerFactory factory )
{
setLoggerFactory( factory );
}
- public void initService( ServiceLocator locator )
- {
- setLoggerFactory( locator.getService( ILoggerFactory.class ) );
- }
-
public Slf4jLoggerFactory setLoggerFactory( ILoggerFactory factory )
{
this.factory = factory;
return this;
}
+ @Override
public Logger getLogger( String name )
{
org.slf4j.Logger logger = getFactory().getLogger( name );
@@ -119,31 +105,37 @@ private static final class Slf4jLogger
this.logger = logger;
}
+ @Override
public boolean isDebugEnabled()
{
return logger.isDebugEnabled();
}
+ @Override
public void debug( String msg )
{
logger.debug( msg );
}
+ @Override
public void debug( String msg, Throwable error )
{
logger.debug( msg, error );
}
+ @Override
public boolean isWarnEnabled()
{
return logger.isWarnEnabled();
}
+ @Override
public void warn( String msg )
{
logger.warn( msg );
}
+ @Override
public void warn( String msg, Throwable error )
{
logger.warn( msg, error );
@@ -164,31 +156,37 @@ private static final class Slf4jLoggerEx
this.logger = logger;
}
+ @Override
public boolean isDebugEnabled()
{
return logger.isDebugEnabled();
}
+ @Override
public void debug( String msg )
{
logger.log( null, FQCN, LocationAwareLogger.DEBUG_INT, msg, null, null );
}
+ @Override
public void debug( String msg, Throwable error )
{
logger.log( null, FQCN, LocationAwareLogger.DEBUG_INT, msg, null, error );
}
+ @Override
public boolean isWarnEnabled()
{
return logger.isWarnEnabled();
}
+ @Override
public void warn( String msg )
{
logger.log( null, FQCN, LocationAwareLogger.WARN_INT, msg, null, null );
}
+ @Override
public void warn( String msg, Throwable error )
{
logger.log( null, FQCN, LocationAwareLogger.WARN_INT, msg, null, error );
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/impl/DefaultServiceLocatorTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/impl/DefaultServiceLocatorTest.java
deleted file mode 100644
index 72317d798..000000000
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/impl/DefaultServiceLocatorTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.eclipse.aether.impl;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this 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
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import static org.junit.Assert.*;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
-import org.junit.Test;
-
-/**
- */
-public class DefaultServiceLocatorTest
-{
-
- @Test
- public void testGetRepositorySystem()
- {
- DefaultServiceLocator locator = new DefaultServiceLocator();
- locator.addService( ArtifactDescriptorReader.class, StubArtifactDescriptorReader.class );
- locator.addService( VersionResolver.class, StubVersionResolver.class );
- locator.addService( VersionRangeResolver.class, StubVersionRangeResolver.class );
-
- RepositorySystem repoSys = locator.getService( RepositorySystem.class );
- assertNotNull( repoSys );
- }
-
- @Test
- public void testGetServicesUnmodifiable()
- {
- DefaultServiceLocator locator = new DefaultServiceLocator();
- locator.setServices( String.class, "one", "two" );
- List services = locator.getServices( String.class );
- assertNotNull( services );
- try
- {
- services.set( 0, "fail" );
- fail( "service list is modifable" );
- }
- catch ( UnsupportedOperationException e )
- {
- // expected
- }
- }
-
- @Test
- public void testSetInstancesAddClass()
- {
- DefaultServiceLocator locator = new DefaultServiceLocator();
- locator.setServices( String.class, "one", "two" );
- locator.addService( String.class, String.class );
- assertEquals( Arrays.asList( "one", "two", "" ), locator.getServices( String.class ) );
- }
-
- @Test
- public void testInitService()
- {
- DefaultServiceLocator locator = new DefaultServiceLocator();
- locator.setService( DummyService.class, DummyService.class );
- DummyService service = locator.getService( DummyService.class );
- assertNotNull( service );
- assertNotNull( service.locator );
- }
-
- private static class DummyService
- implements Service
- {
-
- public ServiceLocator locator;
-
- public void initService( ServiceLocator locator )
- {
- this.locator = locator;
- }
-
- }
-
-}
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultArtifactResolverTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultArtifactResolverTest.java
index 3710a6912..9144f49d0 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultArtifactResolverTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultArtifactResolverTest.java
@@ -38,8 +38,6 @@
import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.impl.UpdateCheckManager;
import org.eclipse.aether.impl.VersionResolver;
-import org.eclipse.aether.internal.impl.DefaultArtifactResolver;
-import org.eclipse.aether.internal.impl.DefaultUpdateCheckManager;
import org.eclipse.aether.internal.test.util.TestFileProcessor;
import org.eclipse.aether.internal.test.util.TestFileUtils;
import org.eclipse.aether.internal.test.util.TestLocalRepositoryManager;
@@ -91,25 +89,14 @@ public class DefaultArtifactResolverTest
@Before
public void setup()
{
- UpdateCheckManager updateCheckManager = new StaticUpdateCheckManager( true );
repositoryConnectorProvider = new StubRepositoryConnectorProvider();
- VersionResolver versionResolver = new StubVersionResolver();
+ connector = new RecordingRepositoryConnector();
+ repositoryConnectorProvider.setConnector( connector );
session = TestUtils.newSession();
lrm = (TestLocalRepositoryManager) session.getLocalRepositoryManager();
- resolver = new DefaultArtifactResolver();
- resolver.setFileProcessor( new TestFileProcessor() );
- resolver.setRepositoryEventDispatcher( new StubRepositoryEventDispatcher() );
- resolver.setVersionResolver( versionResolver );
- resolver.setUpdateCheckManager( updateCheckManager );
- resolver.setRepositoryConnectorProvider( repositoryConnectorProvider );
- resolver.setRemoteRepositoryManager( new StubRemoteRepositoryManager() );
- resolver.setSyncContextFactory( new StubSyncContextFactory() );
- resolver.setOfflineController( new DefaultOfflineController() );
+ resolver = resolverWith( new StubVersionResolver(), new StaticUpdateCheckManager( true ) );
artifact = new DefaultArtifact( "gid", "aid", "", "ext", "ver" );
-
- connector = new RecordingRepositoryConnector();
- repositoryConnectorProvider.setConnector( connector );
}
@After
@@ -122,6 +109,21 @@ public void teardown()
}
}
+ private DefaultArtifactResolver resolverWith( VersionResolver versionResolver,
+ UpdateCheckManager updateCheckManager)
+ {
+ return new DefaultArtifactResolver(
+ new TestFileProcessor(),
+ new StubRepositoryEventDispatcher(),
+ versionResolver,
+ updateCheckManager,
+ repositoryConnectorProvider,
+ new StubRemoteRepositoryManager(),
+ new StubSyncContextFactory(),
+ new DefaultOfflineController()
+ );
+ }
+
@Test
public void testResolveLocalArtifactSuccessful()
throws IOException, ArtifactResolutionException
@@ -272,7 +274,8 @@ public void get( Collection extends ArtifactDownload> artifactDownloads,
};
repositoryConnectorProvider.setConnector( connector );
- resolver.setUpdateCheckManager( new DefaultUpdateCheckManager().setUpdatePolicyAnalyzer( new DefaultUpdatePolicyAnalyzer() ) );
+ resolver = resolverWith( new StubVersionResolver(),
+ new DefaultUpdateCheckManager( new DefaultUpdatePolicyAnalyzer() ) );
session.setResolutionErrorPolicy( new SimpleResolutionErrorPolicy( true, false ) );
session.setUpdatePolicy( RepositoryPolicy.UPDATE_POLICY_NEVER );
@@ -572,15 +575,18 @@ public void get( Collection extends ArtifactDownload> artifactDownloads,
@Test
public void testVersionResolverFails()
{
- resolver.setVersionResolver( new VersionResolver()
- {
-
- public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
- throws VersionResolutionException
+ resolver = resolverWith(
+ new VersionResolver()
{
- throw new VersionResolutionException( new VersionResult( request ) );
- }
- } );
+
+ public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
+ throws VersionResolutionException
+ {
+ throw new VersionResolutionException( new VersionResult( request ) );
+ }
+ },
+ new StaticUpdateCheckManager( true )
+ );
ArtifactRequest request = new ArtifactRequest( artifact, null, "" );
try
@@ -609,15 +615,17 @@ public VersionResult resolveVersion( RepositorySystemSession session, VersionReq
@Test
public void testRepositoryEventsOnVersionResolverFail()
{
- resolver.setVersionResolver( new VersionResolver()
- {
-
- public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
- throws VersionResolutionException
+ resolver = resolverWith(
+ new VersionResolver()
{
- throw new VersionResolutionException( new VersionResult( request ) );
- }
- } );
+ public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
+ throws VersionResolutionException
+ {
+ throw new VersionResolutionException( new VersionResult( request ) );
+ }
+ },
+ new StaticUpdateCheckManager( true )
+ );
RecordingRepositoryListener listener = new RecordingRepositoryListener();
session.setRepositoryListener( listener );
@@ -796,14 +804,18 @@ public void add( RepositorySystemSession session, LocalMetadataRegistration requ
ArtifactRequest request = new ArtifactRequest( artifact, null, "" );
request.addRepository( new RemoteRepository.Builder( "id", "default", "file:///" ).build() );
- resolver.setVersionResolver( new VersionResolver()
- {
-
- public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
+ resolver = resolverWith(
+ new VersionResolver()
{
- return new VersionResult( request ).setRepository( new LocalRepository( "id" ) ).setVersion( request.getArtifact().getVersion() );
- }
- } );
+ public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
+ throws VersionResolutionException
+ {
+ return new VersionResult( request ).setRepository( new LocalRepository( "id" ) ).setVersion( request.getArtifact().getVersion() );
+ }
+ },
+ new StaticUpdateCheckManager( true )
+ );
+
ArtifactResult result = resolver.resolveArtifact( session, request );
assertTrue( result.getExceptions().isEmpty() );
@@ -879,14 +891,18 @@ public void add( RepositorySystemSession session, LocalMetadataRegistration requ
} );
ArtifactRequest request = new ArtifactRequest( artifact, null, "" );
- resolver.setVersionResolver( new VersionResolver()
- {
-
- public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
+ resolver = resolverWith(
+ new VersionResolver()
{
- return new VersionResult( request ).setVersion( request.getArtifact().getVersion() );
- }
- } );
+ public VersionResult resolveVersion( RepositorySystemSession session, VersionRequest request )
+ throws VersionResolutionException
+ {
+ return new VersionResult( request ).setVersion( request.getArtifact().getVersion() );
+ }
+ },
+ new StaticUpdateCheckManager( true )
+ );
+
ArtifactResult result = resolver.resolveArtifact( session, request );
assertTrue( result.getExceptions().isEmpty() );
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 fa7dc42ed..f1eed89be 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
@@ -95,14 +95,16 @@ public void setup()
session = TestUtils.newSession();
connectorProvider = new StubRepositoryConnectorProvider();
- deployer = new DefaultDeployer();
- deployer.setRepositoryConnectorProvider( connectorProvider );
- deployer.setRemoteRepositoryManager( new StubRemoteRepositoryManager() );
- deployer.setRepositoryEventDispatcher( new StubRepositoryEventDispatcher() );
- deployer.setUpdateCheckManager( new StaticUpdateCheckManager( true ) );
- deployer.setFileProcessor( new TestFileProcessor() );
- deployer.setSyncContextFactory( new StubSyncContextFactory() );
- deployer.setOfflineController( new DefaultOfflineController() );
+ deployer = new DefaultDeployer(
+ new TestFileProcessor(),
+ new StubRepositoryEventDispatcher(),
+ connectorProvider,
+ new StubRemoteRepositoryManager(),
+ new StaticUpdateCheckManager( true ),
+ null,
+ new StubSyncContextFactory(),
+ new DefaultOfflineController()
+ );
request = new DeployRequest();
request.setRepository( new RemoteRepository.Builder( "id", "default", "file:///" ).build() );
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultInstallerTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultInstallerTest.java
index 0fb0e567d..276eb140b 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultInstallerTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultInstallerTest.java
@@ -95,10 +95,12 @@ public void setup()
localArtifactFile = new File( session.getLocalRepository().getBasedir(), localArtifactPath );
- installer = new DefaultInstaller();
- installer.setFileProcessor( new TestFileProcessor() );
- installer.setRepositoryEventDispatcher( new StubRepositoryEventDispatcher() );
- installer.setSyncContextFactory( new StubSyncContextFactory() );
+ installer = new DefaultInstaller(
+ new TestFileProcessor(),
+ new StubRepositoryEventDispatcher(),
+ null,
+ new StubSyncContextFactory()
+ );
request = new InstallRequest();
listener = new RecordingRepositoryListener();
session.setRepositoryListener( listener );
@@ -381,15 +383,20 @@ public void testDoNotUpdateUnchangedArtifact()
request.addArtifact( artifact );
installer.install( session, request );
- installer.setFileProcessor( new DefaultFileProcessor()
- {
- @Override
- public long copy( File src, File target, ProgressListener listener )
- throws IOException
+ installer = new DefaultInstaller(
+ new DefaultFileProcessor()
{
- throw new IOException( "copy called" );
- }
- } );
+ @Override
+ public long copy( File src, File target, ProgressListener listener )
+ throws IOException
+ {
+ throw new IOException( "copy called" );
+ }
+ },
+ new StubRepositoryEventDispatcher(),
+ null,
+ new StubSyncContextFactory()
+ );
request = new InstallRequest();
request.addArtifact( artifact );
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultMetadataResolverTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultMetadataResolverTest.java
index d977a7848..3f6754336 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultMetadataResolverTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultMetadataResolverTest.java
@@ -30,7 +30,6 @@
import java.util.Set;
import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.internal.impl.DefaultMetadataResolver;
import org.eclipse.aether.internal.test.util.TestFileUtils;
import org.eclipse.aether.internal.test.util.TestLocalRepositoryManager;
import org.eclipse.aether.internal.test.util.TestUtils;
@@ -73,13 +72,14 @@ public void setup()
session = TestUtils.newSession();
lrm = (TestLocalRepositoryManager) session.getLocalRepositoryManager();
connectorProvider = new StubRepositoryConnectorProvider();
- resolver = new DefaultMetadataResolver();
- resolver.setUpdateCheckManager( new StaticUpdateCheckManager( true ) );
- resolver.setRepositoryEventDispatcher( new StubRepositoryEventDispatcher() );
- resolver.setRepositoryConnectorProvider( connectorProvider );
- resolver.setRemoteRepositoryManager( new StubRemoteRepositoryManager() );
- resolver.setSyncContextFactory( new StubSyncContextFactory() );
- resolver.setOfflineController( new DefaultOfflineController() );
+ resolver = new DefaultMetadataResolver(
+ new StubRepositoryEventDispatcher(),
+ new StaticUpdateCheckManager( true ),
+ connectorProvider,
+ new StubRemoteRepositoryManager(),
+ new StubSyncContextFactory(),
+ new DefaultOfflineController()
+ );
repository =
new RemoteRepository.Builder( "test-DMRT", "default",
TestFileUtils.createTempDir().toURI().toURL().toString() ).build();
@@ -235,6 +235,15 @@ public void testOfflineSessionResolveMetadata()
public void testFavorLocal()
throws IOException
{
+ resolver = new DefaultMetadataResolver(
+ new StubRepositoryEventDispatcher(),
+ new StaticUpdateCheckManager( true, true ),
+ connectorProvider,
+ new StubRemoteRepositoryManager(),
+ new StubSyncContextFactory(),
+ new DefaultOfflineController()
+ );
+
lrm.add( session, new LocalMetadataRegistration( metadata ) );
String path = session.getLocalRepositoryManager().getPathForLocalMetadata( metadata );
File file = new File( session.getLocalRepository().getBasedir(), path );
@@ -242,7 +251,6 @@ public void testFavorLocal()
MetadataRequest request = new MetadataRequest( metadata, repository, "" );
request.setFavorLocalRepository( true );
- resolver.setUpdateCheckManager( new StaticUpdateCheckManager( true, true ) );
List results = resolver.resolveMetadata( session, Arrays.asList( request ) );
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 ecf1ba1ce..58f010a2a 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
@@ -55,9 +55,10 @@ public void setup()
session = TestUtils.newSession();
session.setChecksumPolicy( null );
session.setUpdatePolicy( null );
- manager = new DefaultRemoteRepositoryManager();
- manager.setUpdatePolicyAnalyzer( new StubUpdatePolicyAnalyzer() );
- manager.setChecksumPolicyProvider( new DefaultChecksumPolicyProvider() );
+ manager = new DefaultRemoteRepositoryManager(
+ new StubUpdatePolicyAnalyzer(),
+ new DefaultChecksumPolicyProvider()
+ );
}
@After
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultRepositoryEventDispatcherTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultRepositoryEventDispatcherTest.java
index 14b165804..67fc74412 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultRepositoryEventDispatcherTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultRepositoryEventDispatcherTest.java
@@ -41,7 +41,9 @@ public class DefaultRepositoryEventDispatcherTest
@Test
public void testDispatchHandlesAllEventTypes()
{
- DefaultRepositoryEventDispatcher dispatcher = new DefaultRepositoryEventDispatcher();
+ DefaultRepositoryEventDispatcher dispatcher = new DefaultRepositoryEventDispatcher(
+ null
+ );
ListenerHandler handler = new ListenerHandler();
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemTest.java
index 65acfdb6f..b870a33f2 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemTest.java
@@ -20,15 +20,26 @@
*/
import static org.junit.Assert.*;
+import static org.mockito.Mockito.mock;
import java.util.Arrays;
import java.util.List;
import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.eclipse.aether.impl.ArtifactDescriptorReader;
+import org.eclipse.aether.impl.ArtifactResolver;
+import org.eclipse.aether.impl.DependencyCollector;
+import org.eclipse.aether.impl.Deployer;
+import org.eclipse.aether.impl.Installer;
+import org.eclipse.aether.impl.LocalRepositoryProvider;
+import org.eclipse.aether.impl.MetadataResolver;
+import org.eclipse.aether.impl.VersionRangeResolver;
+import org.eclipse.aether.impl.VersionResolver;
import org.eclipse.aether.internal.test.util.TestUtils;
import org.eclipse.aether.repository.Authentication;
import org.eclipse.aether.repository.Proxy;
import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.spi.synccontext.SyncContextFactory;
import org.eclipse.aether.util.repository.AuthenticationBuilder;
import org.eclipse.aether.util.repository.DefaultAuthenticationSelector;
import org.eclipse.aether.util.repository.DefaultMirrorSelector;
@@ -46,9 +57,23 @@ public class DefaultRepositorySystemTest
@Before
public void init()
{
- DefaultRemoteRepositoryManager remoteRepoManager = new DefaultRemoteRepositoryManager();
- system = new DefaultRepositorySystem();
- system.setRemoteRepositoryManager( remoteRepoManager );
+ DefaultRemoteRepositoryManager remoteRepoManager = new DefaultRemoteRepositoryManager(
+ new DefaultUpdatePolicyAnalyzer(),
+ new DefaultChecksumPolicyProvider()
+ );
+ system = new DefaultRepositorySystem(
+ mock(VersionResolver.class),
+ mock(VersionRangeResolver.class),
+ mock(ArtifactResolver.class),
+ mock(MetadataResolver.class),
+ mock(ArtifactDescriptorReader.class),
+ mock(DependencyCollector.class),
+ mock(Installer.class),
+ mock(Deployer.class),
+ mock(LocalRepositoryProvider.class),
+ mock(SyncContextFactory.class),
+ remoteRepoManager
+ );
session = TestUtils.newSession();
}
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManagerTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManagerTest.java
index 3b38e8b81..0fec3f5aa 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManagerTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManagerTest.java
@@ -32,7 +32,6 @@
import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.impl.UpdateCheck;
-import org.eclipse.aether.internal.impl.DefaultUpdateCheckManager;
import org.eclipse.aether.internal.test.util.TestFileUtils;
import org.eclipse.aether.internal.test.util.TestUtils;
import org.eclipse.aether.metadata.DefaultMetadata;
@@ -80,7 +79,7 @@ public void setup()
session = TestUtils.newSession();
repository =
new RemoteRepository.Builder( "id", "default", TestFileUtils.createTempDir().toURI().toURL().toString() ).build();
- manager = new DefaultUpdateCheckManager().setUpdatePolicyAnalyzer( new DefaultUpdatePolicyAnalyzer() );
+ manager = new DefaultUpdateCheckManager( new DefaultUpdatePolicyAnalyzer() );
metadata =
new DefaultMetadata( "gid", "aid", "ver", "maven-metadata.xml", Metadata.Nature.RELEASE_OR_SNAPSHOT,
metadataFile );
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 3232040dd..9e87a5fee 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
@@ -105,10 +105,8 @@ public void setup()
{
session = TestUtils.newSession();
- collector = new DefaultDependencyCollector();
- collector.setArtifactDescriptorReader( newReader( "" ) );
- collector.setVersionRangeResolver( new StubVersionRangeResolver() );
- collector.setRemoteRepositoryManager( new StubRemoteRepositoryManager() );
+ collector = new DefaultDependencyCollector(
+ new StubRemoteRepositoryManager(), newReader( "" ), new StubVersionRangeResolver());
parser = new DependencyGraphParser( "artifact-descriptions/" );
@@ -275,8 +273,10 @@ public void testCyclicDependencies()
public void testCyclicDependenciesBig()
throws Exception
{
+ collector = new DefaultDependencyCollector(
+ new StubRemoteRepositoryManager(), newReader( "cycle-big/" ), new StubVersionRangeResolver());
+
CollectRequest request = new CollectRequest( newDep( "1:2:pom:5.50-SNAPSHOT" ), Arrays.asList( repository ) );
- collector.setArtifactDescriptorReader( newReader( "cycle-big/" ) );
CollectResult result = collector.collectDependencies( session, request );
assertNotNull( result.getRoot() );
// we only care about the performance here, this test must not hang or run out of mem
@@ -286,8 +286,10 @@ public void testCyclicDependenciesBig()
public void testCyclicProjects()
throws Exception
{
+ collector = new DefaultDependencyCollector(
+ new StubRemoteRepositoryManager(), newReader( "versionless-cycle/" ), new StubVersionRangeResolver());
+
CollectRequest request = new CollectRequest( newDep( "test:a:2" ), Arrays.asList( repository ) );
- collector.setArtifactDescriptorReader( newReader( "versionless-cycle/" ) );
CollectResult result = collector.collectDependencies( session, request );
DependencyNode root = result.getRoot();
DependencyNode a1 = path( root, 0, 0 );
@@ -386,15 +388,19 @@ public void testArtifactDescriptorResolutionNotRestrictedToRepoHostingSelectedVe
final List repos = new ArrayList<>();
- collector.setArtifactDescriptorReader( new ArtifactDescriptorReader()
- {
- public ArtifactDescriptorResult readArtifactDescriptor( RepositorySystemSession session,
- ArtifactDescriptorRequest request )
+ collector = new DefaultDependencyCollector(
+ new StubRemoteRepositoryManager(),
+ new ArtifactDescriptorReader()
{
- repos.addAll( request.getRepositories() );
- return new ArtifactDescriptorResult( request );
- }
- } );
+ public ArtifactDescriptorResult readArtifactDescriptor( RepositorySystemSession session,
+ ArtifactDescriptorRequest request )
+ {
+ repos.addAll( request.getRepositories() );
+ return new ArtifactDescriptorResult( request );
+ }
+ },
+ new StubVersionRangeResolver()
+ );
List dependencies = Arrays.asList( newDep( "verrange:parent:jar:1[1,)", "compile" ) );
CollectRequest request = new CollectRequest( dependencies, null, Arrays.asList( repository, repo2 ) );
@@ -437,7 +443,8 @@ public void testManagedVersionScope()
public void testDependencyManagement()
throws IOException, DependencyCollectionException
{
- collector.setArtifactDescriptorReader( newReader( "managed/" ) );
+ collector = new DefaultDependencyCollector(
+ new StubRemoteRepositoryManager(), newReader( "managed/" ), new StubVersionRangeResolver());
DependencyNode root = parser.parseResource( "expectedSubtreeComparisonResult.txt" );
TestDependencyManager depMgmt = new TestDependencyManager();
@@ -487,7 +494,9 @@ public void testDependencyManagement_VerboseMode()
public void testDependencyManagement_TransitiveDependencyManager()
throws DependencyCollectionException, IOException
{
- collector.setArtifactDescriptorReader( newReader( "managed/" ) );
+ collector = new DefaultDependencyCollector(
+ new StubRemoteRepositoryManager(), newReader( "managed/" ), new StubVersionRangeResolver());
+
parser = new DependencyGraphParser( "artifact-descriptions/managed/" );
session.setDependencyManager( new TransitiveDependencyManager() );
final Dependency root = newDep( "gid:root:ext:ver", "compile" );
@@ -515,7 +524,9 @@ public void testDependencyManagement_TransitiveDependencyManager()
public void testDependencyManagement_DefaultDependencyManager()
throws DependencyCollectionException, IOException
{
- collector.setArtifactDescriptorReader( newReader( "managed/" ) );
+ collector = new DefaultDependencyCollector(
+ new StubRemoteRepositoryManager(), newReader( "managed/" ), new StubVersionRangeResolver());
+
parser = new DependencyGraphParser( "artifact-descriptions/managed/" );
session.setDependencyManager( new DefaultDependencyManager() );
final Dependency root = newDep( "gid:root:ext:ver", "compile" );
diff --git a/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/locator/Service.java b/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/locator/Service.java
deleted file mode 100644
index bbd6713fb..000000000
--- a/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/locator/Service.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.aether.spi.locator;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this 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
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * A stateless component of the repository system. The primary purpose of this interface is to provide a convenient
- * means to programmatically wire the several components of the repository system together when it is used outside of an
- * IoC container.
- *
- * @deprecated Use some out-of-the-box DI implementation instead.
- */
-@Deprecated
-public interface Service
-{
-
- /**
- * Provides the opportunity to initialize this service and to acquire other services for its operation from the
- * locator. A service must not save the reference to the provided service locator.
- *
- * @param locator The service locator, must not be {@code null}.
- */
- void initService( ServiceLocator locator );
-
-}
diff --git a/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/locator/ServiceLocator.java b/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/locator/ServiceLocator.java
deleted file mode 100644
index bb376b6d6..000000000
--- a/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/locator/ServiceLocator.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.aether.spi.locator;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this 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
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-/**
- * A simple infrastructure to programmatically wire the various components of the repository system together when it is
- * used outside of an IoC container. Once a concrete implementation of a service locator has been setup, clients could
- * use
- *
- *
- * RepositorySystem repoSystem = serviceLocator.getService( RepositorySystem.class );
- *
- *
- * to acquire the repository system. Components that implement {@link Service} will be given an opportunity to acquire
- * further components from the locator, thereby allowing to create the complete object graph of the repository system.
- *
- * @deprecated Use some out-of-the-box DI implementation instead.
- */
-@Deprecated
-public interface ServiceLocator
-{
-
- /**
- * Gets an instance of the specified service.
- *
- * @param The service type.
- * @param type The interface describing the service, must not be {@code null}.
- * @return The service instance or {@code null} if the service could not be located/initialized.
- */
- T getService( Class type );
-
- /**
- * Gets all available instances of the specified service.
- *
- * @param The service type.
- * @param type The interface describing the service, must not be {@code null}.
- * @return The (read-only) list of available service instances, never {@code null}.
- */
- List getServices( Class type );
-
-}
diff --git a/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/locator/package-info.java b/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/locator/package-info.java
deleted file mode 100644
index 32e48874d..000000000
--- a/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/locator/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-// CHECKSTYLE_OFF: RegexpHeader
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this 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
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-/**
- * A lightweight service locator infrastructure to help components acquire dependent components. The implementation of
- * the repository system is decomposed into many sub components that interact with each other via interfaces, allowing
- * an application to customize the system by swapping in different implementation classes for these interfaces. The
- * service locator defined by this package is one means for components to get hold of the proper implementation for its
- * dependencies. While not the most popular approach to component wiring, this service locator enables applications
- * that do not wish to pull in more sophisticated solutions like dependency injection containers to have a small
- * footprint. Therefore, all components should implement {@link org.eclipse.aether.spi.locator.Service} to support this
- * goal.
- *
- * @deprecated Use some out-of-the-box DI implementation instead.
- */
-package org.eclipse.aether.spi.locator;
-
diff --git a/maven-resolver-transport-classpath/src/main/java/org/eclipse/aether/transport/classpath/ClasspathTransporter.java b/maven-resolver-transport-classpath/src/main/java/org/eclipse/aether/transport/classpath/ClasspathTransporter.java
index 968c231a4..149134406 100644
--- a/maven-resolver-transport-classpath/src/main/java/org/eclipse/aether/transport/classpath/ClasspathTransporter.java
+++ b/maven-resolver-transport-classpath/src/main/java/org/eclipse/aether/transport/classpath/ClasspathTransporter.java
@@ -108,6 +108,7 @@ private URL getResource( TransportTask task )
return url;
}
+ @Override
public int classify( Throwable error )
{
if ( error instanceof ResourceNotFoundException )
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 a1004be51..383515924 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
@@ -59,7 +59,7 @@ public ClasspathTransporterFactory()
// enables default constructor
}
-
+ @Override
public float getPriority()
{
return priority;
@@ -77,6 +77,7 @@ public ClasspathTransporterFactory setPriority( float priority )
return this;
}
+ @Override
public Transporter newInstance( RepositorySystemSession session, RemoteRepository repository )
throws NoTransporterException
{
diff --git a/maven-resolver-transport-file/src/main/java/org/eclipse/aether/transport/file/FileTransporter.java b/maven-resolver-transport-file/src/main/java/org/eclipse/aether/transport/file/FileTransporter.java
index 7da42f2da..1ecf3ec71 100644
--- a/maven-resolver-transport-file/src/main/java/org/eclipse/aether/transport/file/FileTransporter.java
+++ b/maven-resolver-transport-file/src/main/java/org/eclipse/aether/transport/file/FileTransporter.java
@@ -59,6 +59,7 @@ File getBasedir()
return basedir;
}
+ @Override
public int classify( Throwable error )
{
if ( error instanceof ResourceNotFoundException )
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 bf78a6b8f..43f68eb94 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
@@ -47,6 +47,7 @@ public FileTransporterFactory()
// enables default constructor
}
+ @Override
public float getPriority()
{
return priority;
@@ -64,6 +65,7 @@ public FileTransporterFactory setPriority( float priority )
return this;
}
+ @Override
public Transporter newInstance( RepositorySystemSession session, RemoteRepository repository )
throws NoTransporterException
{
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DeferredCredentialsProvider.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DeferredCredentialsProvider.java
index 124a8c051..233eb426a 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DeferredCredentialsProvider.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DeferredCredentialsProvider.java
@@ -55,11 +55,13 @@ public void setCredentials( AuthScope authScope, Factory factory )
factories.put( authScope, factory );
}
+ @Override
public void setCredentials( AuthScope authScope, Credentials credentials )
{
delegate.setCredentials( authScope, credentials );
}
+ @Override
public Credentials getCredentials( AuthScope authScope )
{
synchronized ( factories )
@@ -77,6 +79,7 @@ public Credentials getCredentials( AuthScope authScope )
return delegate.getCredentials( authScope );
}
+ @Override
public void clear()
{
delegate.clear();
@@ -100,6 +103,7 @@ static class BasicFactory
this.authContext = authContext;
}
+ @Override
public Credentials newCredentials()
{
String username = authContext.get( AuthenticationContext.USERNAME );
@@ -124,6 +128,7 @@ static class NtlmFactory
this.authContext = authContext;
}
+ @Override
public Credentials newCredentials()
{
String username = authContext.get( AuthenticationContext.USERNAME );
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DemuxCredentialsProvider.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DemuxCredentialsProvider.java
index 999a224e8..a0d565368 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DemuxCredentialsProvider.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DemuxCredentialsProvider.java
@@ -57,16 +57,19 @@ private CredentialsProvider getDelegate( AuthScope authScope )
return serverCredentialsProvider;
}
+ @Override
public Credentials getCredentials( AuthScope authScope )
{
return getDelegate( authScope ).getCredentials( authScope );
}
+ @Override
public void setCredentials( AuthScope authScope, Credentials credentials )
{
getDelegate( authScope ).setCredentials( authScope, credentials );
}
+ @Override
public void clear()
{
serverCredentialsProvider.clear();
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/GlobalState.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/GlobalState.java
index 29ef5552b..f6944ae43 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/GlobalState.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/GlobalState.java
@@ -139,6 +139,7 @@ private GlobalState()
expectContinues = new ConcurrentHashMap<>();
}
+ @Override
public void close()
{
for ( Iterator> it = connectionManagers.entrySet().iterator();
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/HttpTransporter.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/HttpTransporter.java
index 15fa36a0a..7d3fb4afc 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/HttpTransporter.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/HttpTransporter.java
@@ -216,6 +216,7 @@ private URI resolve( TransportTask task )
return UriUtils.resolve( baseUri, task.getLocation() );
}
+ @Override
public int classify( Throwable error )
{
if ( error instanceof HttpResponseException
@@ -556,27 +557,32 @@ private class PutTaskEntity
this.task = task;
}
+ @Override
public boolean isRepeatable()
{
return true;
}
+ @Override
public boolean isStreaming()
{
return false;
}
+ @Override
public long getContentLength()
{
return task.getDataLength();
}
+ @Override
public InputStream getContent()
throws IOException
{
return task.newInputStream();
}
+ @Override
public void writeTo( OutputStream os )
throws IOException
{
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 5e329ca06..efeb2098d 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
@@ -48,6 +48,7 @@ public HttpTransporterFactory()
// enables default constructor
}
+ @Override
public float getPriority()
{
return priority;
@@ -65,6 +66,7 @@ public HttpTransporterFactory setPriority( float priority )
return this;
}
+ @Override
public Transporter newInstance( RepositorySystemSession session, RemoteRepository repository )
throws NoTransporterException
{
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/LocalState.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/LocalState.java
index ebc5bd5b3..eb9fa8dc9 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/LocalState.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/LocalState.java
@@ -151,6 +151,7 @@ public void setAuthScheme( HttpHost host, AuthScheme authScheme )
pool.put( authScheme );
}
+ @Override
public void close()
{
if ( global == null )
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingAuthCache.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingAuthCache.java
index fcea8ae68..70dca44e4 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingAuthCache.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingAuthCache.java
@@ -55,6 +55,7 @@ private static HttpHost toKey( HttpHost host )
return host;
}
+ @Override
public AuthScheme get( HttpHost host )
{
host = toKey( host );
@@ -67,6 +68,7 @@ public AuthScheme get( HttpHost host )
return authScheme;
}
+ @Override
public void put( HttpHost host, AuthScheme authScheme )
{
if ( authScheme != null )
@@ -79,11 +81,13 @@ public void put( HttpHost host, AuthScheme authScheme )
}
}
+ @Override
public void remove( HttpHost host )
{
authSchemes.remove( toKey( host ) );
}
+ @Override
public void clear()
{
share();
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingHttpContext.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingHttpContext.java
index 33b8b2fd3..80363589f 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingHttpContext.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingHttpContext.java
@@ -80,6 +80,7 @@ public Object removeAttribute( String id )
return super.removeAttribute( id );
}
+ @Override
public void close()
{
authCache.clear();
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/X509HostnameVerifierAdapter.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/X509HostnameVerifierAdapter.java
index ac0825b0e..8c2960659 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/X509HostnameVerifierAdapter.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/X509HostnameVerifierAdapter.java
@@ -52,11 +52,13 @@ private X509HostnameVerifierAdapter( HostnameVerifier verifier )
this.verifier = verifier;
}
+ @Override
public boolean verify( String hostname, SSLSession session )
{
return verifier.verify( hostname, session );
}
+ @Override
public void verify( String host, SSLSocket socket )
throws IOException
{
@@ -66,11 +68,13 @@ public void verify( String host, SSLSocket socket )
}
}
+ @Override
public void verify( String host, X509Certificate cert )
{
throw new UnsupportedOperationException();
}
+ @Override
public void verify( String host, String[] cns, String[] subjectAlts )
{
throw new UnsupportedOperationException();
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 a6d150c61..da70dee28 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
@@ -59,6 +59,7 @@ public PlexusWagonConfigurator( final PlexusContainer container )
this.container = requireNonNull( container, "plexus container cannot be null" );
}
+ @Override
public void configure( Wagon wagon, Object configuration )
throws Exception
{
diff --git a/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/internal/transport/wagon/PlexusWagonProvider.java b/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/internal/transport/wagon/PlexusWagonProvider.java
index 6b46f6798..4a587a6d7 100644
--- a/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/internal/transport/wagon/PlexusWagonProvider.java
+++ b/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/internal/transport/wagon/PlexusWagonProvider.java
@@ -50,12 +50,14 @@ public PlexusWagonProvider( final PlexusContainer container )
this.container = requireNonNull( container, "plexus container cannot be null" );
}
+ @Override
public Wagon lookup( String roleHint )
throws Exception
{
return container.lookup( Wagon.class, roleHint );
}
+ @Override
public void release( Wagon wagon )
{
try
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 c1eb6373e..811c8f9e5 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
@@ -385,6 +385,7 @@ else if ( wagon.getRepository() == null )
return wagon;
}
+ @Override
public int classify( Throwable error )
{
if ( error instanceof ResourceDoesNotExistException )
@@ -394,18 +395,21 @@ public int classify( Throwable error )
return ERROR_OTHER;
}
+ @Override
public void peek( PeekTask task )
throws Exception
{
execute( task, new PeekTaskRunner( task ) );
}
+ @Override
public void get( GetTask task )
throws Exception
{
execute( task, new GetTaskRunner( task ) );
}
+ @Override
public void put( PutTask task )
throws Exception
{
@@ -465,6 +469,7 @@ private static void copy( OutputStream os, InputStream is )
}
}
+ @Override
public void close()
{
if ( closed.compareAndSet( false, true ) )
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 75329e6ef..5a0803f7f 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
@@ -26,8 +26,6 @@
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.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
import org.eclipse.aether.transfer.NoTransporterException;
/**
@@ -37,60 +35,20 @@
*/
@Named( "wagon" )
public final class WagonTransporterFactory
- implements TransporterFactory, Service
+ implements TransporterFactory
{
- private WagonProvider wagonProvider;
+ private final WagonProvider wagonProvider;
- private WagonConfigurator wagonConfigurator;
+ private final WagonConfigurator wagonConfigurator;
private float priority = -1.0f;
- /**
- * Creates an (uninitialized) instance of this transporter factory. Note: In case of manual instantiation
- * by clients, the new factory needs to be configured via its various mutators before first use or runtime errors
- * will occur.
- */
- public WagonTransporterFactory()
- {
- // enables default constructor
- }
-
@Inject
- WagonTransporterFactory( WagonProvider wagonProvider, WagonConfigurator wagonConfigurator )
- {
- setWagonProvider( wagonProvider );
- setWagonConfigurator( wagonConfigurator );
- }
-
- public void initService( ServiceLocator locator )
- {
- setWagonProvider( locator.getService( WagonProvider.class ) );
- setWagonConfigurator( locator.getService( WagonConfigurator.class ) );
- }
-
- /**
- * 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}.
- */
- public WagonTransporterFactory setWagonProvider( WagonProvider wagonProvider )
+ public WagonTransporterFactory( WagonProvider wagonProvider, WagonConfigurator wagonConfigurator )
{
this.wagonProvider = wagonProvider;
- return this;
- }
-
- /**
- * 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}.
- */
- public WagonTransporterFactory setWagonConfigurator( WagonConfigurator wagonConfigurator )
- {
this.wagonConfigurator = wagonConfigurator;
- return this;
}
public float getPriority()