This is an automated email from the ASF dual-hosted git repository. khmarbaise pushed a commit to branch MSHARED-864 in repository https://gitbox.apache.org/repos/asf/maven-artifact-transfer.git
commit d11c9c0daa6e6e16b0a4def3e1ac8a90e9cc0d15 Author: Karl Heinz Marbaise <khmarba...@apache.org> AuthorDate: Sun Mar 15 21:47:25 2020 +0100 Continued refactoring -> Generics ? --- pom.xml | 11 ++++ .../deploy/internal/DefaultArtifactDeployer.java | 6 +- .../transfer/artifact/deploy/internal/Invoker.java | 34 ++--------- .../deploy/internal/Maven30ArtifactDeployer.java | 7 +-- .../deploy/internal/Maven31ArtifactDeployer.java | 7 +-- .../install/internal/DefaultArtifactInstaller.java | 6 +- .../artifact/install/internal/Invoker.java | 34 ++--------- .../install/internal/Maven30ArtifactInstaller.java | 5 +- .../install/internal/Maven31ArtifactInstaller.java | 5 +- .../resolve/internal/DefaultArtifactResolver.java | 26 ++++---- .../artifact/resolve/internal/Invoker.java | 30 ++-------- .../internal/DefaultDependencyCollector.java | 22 +++---- .../transfer/collection/internal/Invoker.java | 69 ++++------------------ .../internal/Maven30DependencyCollector.java | 16 +++-- .../internal/Maven30DependencyNodeAdapter.java | 2 +- .../internal/Maven31DependencyCollector.java | 16 +++-- .../internal/Maven31DependencyNodeAdapter.java | 2 +- .../internal/DefaultDependencyCollector.java | 22 +++---- .../dependencies/collect/internal/Invoker.java | 12 ++-- .../internal/DefaultDependencyResolver.java | 14 ++--- .../dependencies/resolve/internal/Invoker.java | 4 +- 21 files changed, 108 insertions(+), 242 deletions(-) diff --git a/pom.xml b/pom.xml index 1bcca0b..371c954 100644 --- a/pom.xml +++ b/pom.xml @@ -61,6 +61,17 @@ <build> <plugins> <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> +<!-- <showDeprecation>true</showDeprecation>--> + <compilerArgs> +<!-- <arg>-Xlint:deprecation</arg>--> + <arg>-Xlint:unchecked</arg> + </compilerArgs> + </configuration> + </plugin> + <plugin> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-component-metadata</artifactId> <executions> diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/DefaultArtifactDeployer.java b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/DefaultArtifactDeployer.java index c6f2858..3d977c3 100644 --- a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/DefaultArtifactDeployer.java +++ b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/DefaultArtifactDeployer.java @@ -134,8 +134,7 @@ class DefaultArtifactDeployer org.eclipse.aether.RepositorySystem repositorySystem = container.lookup( org.eclipse.aether.RepositorySystem.class ); - org.eclipse.aether.RepositorySystemSession session = - (org.eclipse.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + org.eclipse.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest, "getRepositorySession" ); return new Maven31ArtifactDeployer( repositorySystem, session ); } @@ -144,8 +143,7 @@ class DefaultArtifactDeployer org.sonatype.aether.RepositorySystem repositorySystem = container.lookup( org.sonatype.aether.RepositorySystem.class ); - org.sonatype.aether.RepositorySystemSession session = - (org.sonatype.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + org.sonatype.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest, "getRepositorySession" ); return new Maven30ArtifactDeployer( repositorySystem, session ); } diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Invoker.java index 1102163..be93619 100644 --- a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Invoker.java +++ b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Invoker.java @@ -33,18 +33,18 @@ final class Invoker // do not instantiate } - public static Object invoke( Object object, String method ) + public static <T> T invoke( Object object, String method ) throws ArtifactDeployerException { - return invoke( object.getClass(), object, method ); + return (T) invoke( object.getClass(), object, method ); } - public static Object invoke( Class<?> objectClazz, Object object, String method ) + public static <T> T invoke( Class<?> objectClazz, Object object, String method ) throws ArtifactDeployerException { try { - return objectClazz.getMethod( method ).invoke( object ); + return (T) objectClazz.getMethod( method ).invoke( object ); } catch ( IllegalAccessException e ) { @@ -60,34 +60,12 @@ final class Invoker } } - public static Object invoke( Object object, String method, Class<?> clazz, Object arg ) - throws ArtifactDeployerException - { - try - { - final Class<?> objectClazz = object.getClass(); - return objectClazz.getMethod( method, clazz ).invoke( object, arg ); - } - catch ( IllegalAccessException e ) - { - throw new ArtifactDeployerException( e.getMessage(), e ); - } - catch ( InvocationTargetException e ) - { - throw new ArtifactDeployerException( e.getMessage(), e ); - } - catch ( NoSuchMethodException e ) - { - throw new ArtifactDeployerException( e.getMessage(), e ); - } - } - - public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg ) + public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg ) throws ArtifactDeployerException { try { - return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg ); + return (T) objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg ); } catch ( IllegalAccessException e ) { diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven30ArtifactDeployer.java b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven30ArtifactDeployer.java index e8ef395..06a7c93 100644 --- a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven30ArtifactDeployer.java +++ b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven30ArtifactDeployer.java @@ -78,9 +78,8 @@ class Maven30ArtifactDeployer // transform artifacts for ( org.apache.maven.artifact.Artifact mavenArtifact : mavenArtifacts ) { - Artifact aetherArtifact = - (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", - org.apache.maven.artifact.Artifact.class, mavenArtifact ); + Artifact aetherArtifact = Invoker.invoke( RepositoryUtils.class, "toArtifact", + org.apache.maven.artifact.Artifact.class, mavenArtifact ); request.addArtifact( aetherArtifact ); RemoteRepository aetherRepository; @@ -133,7 +132,7 @@ class Maven30ArtifactDeployer throws ArtifactDeployerException { // CHECKSTYLE_OFF: LineLength - RemoteRepository aetherRepo = (RemoteRepository) Invoker.invoke( RepositoryUtils.class, "toRepo", + RemoteRepository aetherRepo = Invoker.invoke( RepositoryUtils.class, "toRepo", ArtifactRepository.class, remoteRepository ); // CHECKSTYLE_ON: LineLength diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven31ArtifactDeployer.java b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven31ArtifactDeployer.java index 52c7295..f3bf542 100644 --- a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven31ArtifactDeployer.java +++ b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven31ArtifactDeployer.java @@ -79,9 +79,8 @@ class Maven31ArtifactDeployer // transform artifacts for ( org.apache.maven.artifact.Artifact mavenArtifact : mavenArtifacts ) { - Artifact aetherArtifact = - (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", - org.apache.maven.artifact.Artifact.class, mavenArtifact ); + Artifact aetherArtifact = Invoker.invoke( RepositoryUtils.class, "toArtifact", + org.apache.maven.artifact.Artifact.class, mavenArtifact ); request.addArtifact( aetherArtifact ); RemoteRepository aetherRepository; @@ -134,7 +133,7 @@ class Maven31ArtifactDeployer throws ArtifactDeployerException { // CHECKSTYLE_OFF: LineLength - RemoteRepository aetherRepo = (RemoteRepository) Invoker.invoke( RepositoryUtils.class, "toRepo", + RemoteRepository aetherRepo = Invoker.invoke( RepositoryUtils.class, "toRepo", ArtifactRepository.class, remoteRepository ); // CHECKSTYLE_ON: LineLength diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/DefaultArtifactInstaller.java b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/DefaultArtifactInstaller.java index f8a56f7..58e3a9e 100644 --- a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/DefaultArtifactInstaller.java +++ b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/DefaultArtifactInstaller.java @@ -148,8 +148,7 @@ class DefaultArtifactInstaller org.eclipse.aether.RepositorySystem repositorySystem = container.lookup( org.eclipse.aether.RepositorySystem.class ); - org.eclipse.aether.RepositorySystemSession session = - (org.eclipse.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + org.eclipse.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest, "getRepositorySession" ); return new Maven31ArtifactInstaller( repositorySystem, session ); } @@ -158,8 +157,7 @@ class DefaultArtifactInstaller org.sonatype.aether.RepositorySystem repositorySystem = container.lookup( org.sonatype.aether.RepositorySystem.class ); - org.sonatype.aether.RepositorySystemSession session = - (org.sonatype.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + org.sonatype.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest, "getRepositorySession" ); return new Maven30ArtifactInstaller( repositorySystem, session ); } diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Invoker.java index f748e04..d1389ec 100644 --- a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Invoker.java +++ b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Invoker.java @@ -33,18 +33,18 @@ final class Invoker // do not instantiate } - public static Object invoke( Object object, String method ) + public static <T> T invoke( Object object, String method ) throws ArtifactInstallerException { - return invoke( object.getClass(), object, method ); + return (T) invoke( object.getClass(), object, method ); } - public static Object invoke( Class<?> objectClazz, Object object, String method ) + public static <T> T invoke( Class<?> objectClazz, Object object, String method ) throws ArtifactInstallerException { try { - return objectClazz.getMethod( method ).invoke( object ); + return (T) objectClazz.getMethod( method ).invoke( object ); } catch ( IllegalAccessException e ) { @@ -60,34 +60,12 @@ final class Invoker } } - public static Object invoke( Object object, String method, Class<?> argClazz, Object arg ) + public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg ) throws ArtifactInstallerException { try { - final Class<?> objectClazz = object.getClass(); - return objectClazz.getMethod( method, argClazz ).invoke( object, arg ); - } - catch ( IllegalAccessException e ) - { - throw new ArtifactInstallerException( e.getMessage(), e ); - } - catch ( InvocationTargetException e ) - { - throw new ArtifactInstallerException( e.getMessage(), e ); - } - catch ( NoSuchMethodException e ) - { - throw new ArtifactInstallerException( e.getMessage(), e ); - } - } - - public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg ) - throws ArtifactInstallerException - { - try - { - return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg ); + return (T) objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg ); } catch ( IllegalAccessException e ) { diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven30ArtifactInstaller.java b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven30ArtifactInstaller.java index 2a15dfd..fbff698 100644 --- a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven30ArtifactInstaller.java +++ b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven30ArtifactInstaller.java @@ -60,9 +60,8 @@ class Maven30ArtifactInstaller // transform artifacts for ( org.apache.maven.artifact.Artifact mavenArtifact : mavenArtifacts ) { - Artifact mainArtifact = - (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", - org.apache.maven.artifact.Artifact.class, mavenArtifact ); + Artifact mainArtifact = Invoker.invoke( RepositoryUtils.class, "toArtifact", + org.apache.maven.artifact.Artifact.class, mavenArtifact ); request.addArtifact( mainArtifact ); for ( ArtifactMetadata metadata : mavenArtifact.getMetadataList() ) diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven31ArtifactInstaller.java b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven31ArtifactInstaller.java index e4eae74..aa15504 100644 --- a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven31ArtifactInstaller.java +++ b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven31ArtifactInstaller.java @@ -61,9 +61,8 @@ class Maven31ArtifactInstaller // transform artifacts for ( org.apache.maven.artifact.Artifact mavenArtifact : mavenArtifacts ) { - Artifact mainArtifact = - (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", - org.apache.maven.artifact.Artifact.class, mavenArtifact ); + Artifact mainArtifact = Invoker.invoke( RepositoryUtils.class, "toArtifact", + org.apache.maven.artifact.Artifact.class, mavenArtifact ); request.addArtifact( mainArtifact ); for ( ArtifactMetadata metadata : mavenArtifact.getMetadataList() ) diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/DefaultArtifactResolver.java b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/DefaultArtifactResolver.java index 9f1826b..12c3ece 100644 --- a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/DefaultArtifactResolver.java +++ b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/DefaultArtifactResolver.java @@ -142,14 +142,11 @@ class DefaultArtifactResolver org.eclipse.aether.RepositorySystem repositorySystem = container.lookup( org.eclipse.aether.RepositorySystem.class ); - @SuppressWarnings( "unchecked" ) - List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories = - (List<org.eclipse.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", - List.class, - buildingRequest.getRemoteRepositories() ); - - org.eclipse.aether.RepositorySystemSession session = - (org.eclipse.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke( RepositoryUtils.class, "toRepos", + List.class, + buildingRequest.getRemoteRepositories() ); + + org.eclipse.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest, "getRepositorySession" ); return new Maven31ArtifactResolver( repositorySystem, aetherRepositories, session ); @@ -159,14 +156,11 @@ class DefaultArtifactResolver org.sonatype.aether.RepositorySystem repositorySystem = container.lookup( org.sonatype.aether.RepositorySystem.class ); - @SuppressWarnings( "unchecked" ) - List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories = - (List<org.sonatype.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class, - "toRepos", List.class, - buildingRequest.getRemoteRepositories() ); - - org.sonatype.aether.RepositorySystemSession session = - (org.sonatype.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke( RepositoryUtils.class, + "toRepos", List.class, + buildingRequest.getRemoteRepositories() ); + + org.sonatype.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest, "getRepositorySession" ); return new Maven30ArtifactResolver( repositorySystem, aetherRepositories, session ); } diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Invoker.java index a398f9e..ebbea34 100644 --- a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Invoker.java +++ b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Invoker.java @@ -33,40 +33,18 @@ final class Invoker // do not instantiate } - public static Object invoke( Object object, String method ) + public static <T> T invoke( Object object, String method ) throws ArtifactResolverException { - return invoke( object.getClass(), object, method ); + return (T) invoke( object.getClass(), object, method ); } - public static Object invoke( Class<?> objectClazz, Object object, String method ) + public static <T> T invoke( Class<?> objectClazz, Object object, String method ) throws ArtifactResolverException { try { - return objectClazz.getMethod( method ).invoke( object ); - } - catch ( IllegalAccessException e ) - { - throw new ArtifactResolverException( e.getMessage(), e ); - } - catch ( InvocationTargetException e ) - { - throw new ArtifactResolverException( e.getMessage(), e ); - } - catch ( NoSuchMethodException e ) - { - throw new ArtifactResolverException( e.getMessage(), e ); - } - } - - public static Object invoke( Object object, String method, Class<?> argClazz, Object arg ) - throws ArtifactResolverException - { - try - { - final Class<?> objectClazz = object.getClass(); - return objectClazz.getMethod( method, argClazz ).invoke( object, arg ); + return (T) objectClazz.getMethod( method ).invoke( object ); } catch ( IllegalAccessException e ) { diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/DefaultDependencyCollector.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/DefaultDependencyCollector.java index 62a8fb2..449eb99 100644 --- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/DefaultDependencyCollector.java +++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/DefaultDependencyCollector.java @@ -164,14 +164,11 @@ class DefaultDependencyCollector implements DependencyCollector, Contextualizabl org.eclipse.aether.RepositorySystem m31RepositorySystem = container.lookup( org.eclipse.aether.RepositorySystem.class ); - org.eclipse.aether.RepositorySystemSession session = - (org.eclipse.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + org.eclipse.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest, "getRepositorySession" ); - @SuppressWarnings( "unchecked" ) - List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories = - (List<org.eclipse.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", - List.class, - buildingRequest.getRemoteRepositories() ); + List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke( RepositoryUtils.class, "toRepos", + List.class, + buildingRequest.getRemoteRepositories() ); return new Maven31DependencyCollector( m31RepositorySystem, artifactHandlerManager, session, aetherRepositories ); @@ -181,14 +178,11 @@ class DefaultDependencyCollector implements DependencyCollector, Contextualizabl org.sonatype.aether.RepositorySystem m30RepositorySystem = container.lookup( org.sonatype.aether.RepositorySystem.class ); - org.sonatype.aether.RepositorySystemSession session = - (org.sonatype.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + org.sonatype.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest, "getRepositorySession" ); - @SuppressWarnings( "unchecked" ) - List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories = - ( List<org.sonatype.aether.repository.RemoteRepository> ) Invoker.invoke( RepositoryUtils.class, - "toRepos", List.class, - buildingRequest.getRemoteRepositories() ); + List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke( RepositoryUtils.class, + "toRepos", List.class, + buildingRequest.getRemoteRepositories() ); return new Maven30DependencyCollector( m30RepositorySystem, artifactHandlerManager, session, aetherRepositories ); diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Invoker.java index 31951f8..405c446 100644 --- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Invoker.java +++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Invoker.java @@ -34,18 +34,21 @@ final class Invoker // do not instantiate } - public static Object invoke( Object object, String method ) + public static <T> T invoke( Object object, String method ) throws DependencyCollectionException { - return invoke( object.getClass(), object, method ); + @SuppressWarnings( "unchecked" ) + T invoke = (T) invoke( object.getClass(), object, method ); + return invoke; } - public static Object invoke( Class<?> objectClazz, Object object, String method ) + @SuppressWarnings( "unchecked" ) + public static <T> T invoke( Class<?> objectClazz, Object object, String method ) throws DependencyCollectionException { try { - return objectClazz.getMethod( method ).invoke( object ); + return (T) objectClazz.getMethod( method ).invoke( object ); } catch ( IllegalAccessException e ) { @@ -61,34 +64,12 @@ final class Invoker } } - public static Object invoke( Object object, String method, Class<?> argClazz, Object arg ) - throws DependencyCollectionException - { - try - { - final Class<?> objectClazz = object.getClass(); - return objectClazz.getMethod( method, argClazz ).invoke( object, arg ); - } - catch ( IllegalAccessException e ) - { - throw new DependencyCollectionException( e.getMessage(), e ); - } - catch ( InvocationTargetException e ) - { - throw new DependencyCollectionException( e.getMessage(), e ); - } - catch ( NoSuchMethodException e ) - { - throw new DependencyCollectionException( e.getMessage(), e ); - } - } - - public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg ) + public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg ) throws DependencyCollectionException { try { - return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg ); + return (T) objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg ); } catch ( IllegalAccessException e ) { @@ -114,12 +95,12 @@ final class Invoker * @return the result of the method invocation * @throws DependencyCollectorException if any checked exception occurs */ - public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?>[] argClasses, Object[] args ) + public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?>[] argClasses, Object[] args ) throws DependencyCollectionException { try { - return objectClazz.getMethod( staticMethod, argClasses ).invoke( null, args ); + return (T) objectClazz.getMethod( staticMethod, argClasses ).invoke( null, args ); } catch ( IllegalAccessException e ) { @@ -135,32 +116,4 @@ final class Invoker } } - public static Object newInstance( Class<?> objectClazz, Class<?> argClazz, Object arg ) - throws DependencyCollectionException - { - try - { - return objectClazz.getConstructor( argClazz ).newInstance( arg ); - } - catch ( InstantiationException e ) - { - throw new DependencyCollectionException( e.getMessage(), e ); - } - catch ( IllegalAccessException e ) - { - throw new DependencyCollectionException( e.getMessage(), e ); - } - catch ( IllegalArgumentException e ) - { - throw new DependencyCollectionException( e.getMessage(), e ); - } - catch ( InvocationTargetException e ) - { - throw new DependencyCollectionException( e.getMessage(), e ); - } - catch ( NoSuchMethodException e ) - { - throw new DependencyCollectionException( e.getMessage(), e ); - } - } } diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyCollector.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyCollector.java index 67e3556..037d021 100644 --- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyCollector.java +++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyCollector.java @@ -70,10 +70,9 @@ class Maven30DependencyCollector public CollectResult collectDependencies( org.apache.maven.model.Dependency root ) throws DependencyCollectionException { - ArtifactTypeRegistry typeRegistry = - (ArtifactTypeRegistry) Invoker - .invoke( RepositoryUtils.class, "newArtifactTypeRegistry", - ArtifactHandlerManager.class, artifactHandlerManager ); + ArtifactTypeRegistry typeRegistry = Invoker + .invoke( RepositoryUtils.class, "newArtifactTypeRegistry", + ArtifactHandlerManager.class, artifactHandlerManager ); CollectRequest request = new CollectRequest(); request.setRoot( toDependency( root, typeRegistry ) ); @@ -113,10 +112,9 @@ class Maven30DependencyCollector CollectRequest request = new CollectRequest(); request.setRoot( new Dependency( aetherArtifact, null ) ); - ArtifactTypeRegistry typeRegistry = - (ArtifactTypeRegistry) Invoker - .invoke( RepositoryUtils.class, "newArtifactTypeRegistry", - ArtifactHandlerManager.class, artifactHandlerManager ); + ArtifactTypeRegistry typeRegistry = Invoker + .invoke( RepositoryUtils.class, "newArtifactTypeRegistry", + ArtifactHandlerManager.class, artifactHandlerManager ); List<Dependency> aetherDependencies = new ArrayList<Dependency>( root.getDependencies().size() ); for ( org.apache.maven.model.Dependency mavenDependency : root.getDependencies() ) @@ -164,7 +162,7 @@ class Maven30DependencyCollector Object[] args = new Object[] { mavenDependency, typeRegistry }; - return (Dependency) Invoker + return Invoker .invoke( RepositoryUtils.class, "toDependency", argClasses, args ); } } diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyNodeAdapter.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyNodeAdapter.java index 052353f..b8e6ea9 100644 --- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyNodeAdapter.java +++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyNodeAdapter.java @@ -152,7 +152,7 @@ class Maven30DependencyNodeAdapter implements DependencyNode { try { - return (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", + return Invoker.invoke( RepositoryUtils.class, "toArtifact", org.sonatype.aether.artifact.Artifact.class, aetherArtifact ); } catch ( DependencyCollectionException e ) diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyCollector.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyCollector.java index b6c5744..ef5057b 100644 --- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyCollector.java +++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyCollector.java @@ -70,10 +70,9 @@ class Maven31DependencyCollector public CollectResult collectDependencies( org.apache.maven.model.Dependency root ) throws DependencyCollectionException { - ArtifactTypeRegistry typeRegistry = - (ArtifactTypeRegistry) Invoker - .invoke( RepositoryUtils.class, "newArtifactTypeRegistry", - ArtifactHandlerManager.class, artifactHandlerManager ); + ArtifactTypeRegistry typeRegistry = Invoker + .invoke( RepositoryUtils.class, "newArtifactTypeRegistry", + ArtifactHandlerManager.class, artifactHandlerManager ); CollectRequest request = new CollectRequest(); request.setRoot( toDependency( root, typeRegistry ) ); @@ -113,10 +112,9 @@ class Maven31DependencyCollector CollectRequest request = new CollectRequest(); request.setRoot( new Dependency( aetherArtifact, null ) ); - ArtifactTypeRegistry typeRegistry = - (ArtifactTypeRegistry) Invoker - .invoke( RepositoryUtils.class, "newArtifactTypeRegistry", - ArtifactHandlerManager.class, artifactHandlerManager ); + ArtifactTypeRegistry typeRegistry = Invoker + .invoke( RepositoryUtils.class, "newArtifactTypeRegistry", + ArtifactHandlerManager.class, artifactHandlerManager ); List<Dependency> aetherDependencies = new ArrayList<Dependency>( root.getDependencies().size() ); for ( org.apache.maven.model.Dependency mavenDependency : root.getDependencies() ) @@ -163,7 +161,7 @@ class Maven31DependencyCollector Object[] args = new Object[] { root, typeRegistry }; - return (Dependency) Invoker + return Invoker .invoke( RepositoryUtils.class, "toDependency", argClasses, args ); } diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyNodeAdapter.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyNodeAdapter.java index 3b3dbb7..5987f7f 100644 --- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyNodeAdapter.java +++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyNodeAdapter.java @@ -152,7 +152,7 @@ class Maven31DependencyNodeAdapter implements DependencyNode { try { - return (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", + return Invoker.invoke( RepositoryUtils.class, "toArtifact", org.eclipse.aether.artifact.Artifact.class, aetherArtifact ); } catch ( DependencyCollectionException e ) diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/DefaultDependencyCollector.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/DefaultDependencyCollector.java index 3d50a66..b2676f5 100644 --- a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/DefaultDependencyCollector.java +++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/DefaultDependencyCollector.java @@ -175,14 +175,11 @@ class DefaultDependencyCollector implements DependencyCollector, Contextualizabl org.eclipse.aether.RepositorySystem m31RepositorySystem = container.lookup( org.eclipse.aether.RepositorySystem.class ); - org.eclipse.aether.RepositorySystemSession session = - (org.eclipse.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + org.eclipse.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest, "getRepositorySession" ); - @SuppressWarnings( "unchecked" ) - List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories = - (List<org.eclipse.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", - List.class, - buildingRequest.getRemoteRepositories() ); + List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke( RepositoryUtils.class, "toRepos", + List.class, + buildingRequest.getRemoteRepositories() ); return new Maven31DependencyCollector( m31RepositorySystem, artifactHandlerManager, session, aetherRepositories ); @@ -193,14 +190,11 @@ class DefaultDependencyCollector implements DependencyCollector, Contextualizabl org.sonatype.aether.RepositorySystem m30RepositorySystem = container.lookup( org.sonatype.aether.RepositorySystem.class ); - org.sonatype.aether.RepositorySystemSession session = - (org.sonatype.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + org.sonatype.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest, "getRepositorySession" ); - @SuppressWarnings( "unchecked" ) - List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories = - (List<org.sonatype.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class, - "toRepos", List.class, - buildingRequest.getRemoteRepositories() ); + List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke( RepositoryUtils.class, + "toRepos", List.class, + buildingRequest.getRemoteRepositories() ); return new Maven30DependencyCollector( m30RepositorySystem, artifactHandlerManager, session, aetherRepositories ); diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Invoker.java index 01a8410..efc59a6 100644 --- a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Invoker.java +++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Invoker.java @@ -33,18 +33,18 @@ final class Invoker // do not instantiate } - public static Object invoke( Object object, String method ) + public static <T> T invoke( Object object, String method ) throws DependencyCollectorException { - return invoke( object.getClass(), object, method ); + return (T) invoke( object.getClass(), object, method ); } - public static Object invoke( Class<?> objectClazz, Object object, String method ) + public static <T> T invoke( Class<?> objectClazz, Object object, String method ) throws DependencyCollectorException { try { - return objectClazz.getMethod( method ).invoke( object ); + return (T) objectClazz.getMethod( method ).invoke( object ); } catch ( IllegalAccessException e ) { @@ -82,12 +82,12 @@ final class Invoker } } - public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg ) + public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg ) throws DependencyCollectorException { try { - return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg ); + return (T) objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg ); } catch ( IllegalAccessException e ) { diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/DefaultDependencyResolver.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/DefaultDependencyResolver.java index 19faa28..d4a6049 100644 --- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/DefaultDependencyResolver.java +++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/DefaultDependencyResolver.java @@ -164,14 +164,12 @@ class DefaultDependencyResolver org.eclipse.aether.RepositorySystem m31RepositorySystem = container.lookup( org.eclipse.aether.RepositorySystem.class ); - org.eclipse.aether.RepositorySystemSession session = - (org.eclipse.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); - - List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories = - (List<org.eclipse.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class, - "toRepos", - List.class, - buildingRequest.getRemoteRepositories() ); + org.eclipse.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest, "getRepositorySession" ); + + List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke( RepositoryUtils.class, + "toRepos", + List.class, + buildingRequest.getRemoteRepositories() ); return new Maven31DependencyResolver( m31RepositorySystem, artifactHandlerManager, session, aetherRepositories ); diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Invoker.java index f98a0ce..e20ea96 100644 --- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Invoker.java +++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Invoker.java @@ -39,12 +39,12 @@ final class Invoker return (T) invoke( object.getClass(), object, method ); } - public static Object invoke( Class<?> objectClazz, Object object, String method ) + public static <T> T invoke( Class<?> objectClazz, Object object, String method ) throws DependencyResolverException { try { - return objectClazz.getMethod( method ).invoke( object ); + return (T) objectClazz.getMethod( method ).invoke( object ); } catch ( IllegalAccessException e ) {