You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2021/09/04 19:35:09 UTC

[maven-resolver] 02/03: [MRESOLVER-199] Java 8 improvements

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git

commit ee6aa7e11f24e802a33d8692ee8db5e9e8e9c842
Author: Arturo Bernal <ar...@gmail.com>
AuthorDate: Thu Sep 2 19:07:05 2021 +0200

    [MRESOLVER-199] Java 8 improvements
    
    * Replace anonymous classes with method reference
    * Use shorter lambda alternatives to anonymous classes
    * Use single Map method
    
    This closes #118
---
 .../internal/impl/DefaultMetadataResolver.java     |  8 +-----
 .../aether/internal/test/util/TestFileUtils.java   | 20 ++++++---------
 .../aether/transport/wagon/WagonTransporter.java   |  9 +------
 .../util/concurrency/RunnableErrorForwarder.java   | 29 ++++++++++------------
 .../graph/manager/ClassicDependencyManager.java    |  7 +-----
 .../graph/manager/DefaultDependencyManager.java    |  7 +-----
 .../graph/manager/TransitiveDependencyManager.java |  7 +-----
 .../util/graph/transformer/ConflictResolver.java   |  8 ++----
 .../graph/transformer/NearestVersionSelector.java  | 12 +++------
 9 files changed, 32 insertions(+), 75 deletions(-)

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 74e6739..1479872 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
@@ -506,13 +506,7 @@ public class DefaultMetadataResolver
     {
         if ( threads <= 1 )
         {
-            return new Executor()
-            {
-                public void execute( Runnable command )
-                {
-                    command.run();
-                }
-            };
+            return command -> command.run();
         }
         else
         {
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestFileUtils.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestFileUtils.java
index afe28e7..a2f3560 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestFileUtils.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestFileUtils.java
@@ -43,21 +43,17 @@ public class TestFileUtils
 
     static
     {
-        Runtime.getRuntime().addShutdownHook( new Thread()
+        Runtime.getRuntime().addShutdownHook( new Thread( () ->
         {
-            @Override
-            public void run()
+            try
             {
-                try
-                {
-                    deleteFile( TMP );
-                }
-                catch ( IOException e )
-                {
-                    e.printStackTrace();
-                }
+                deleteFile( TMP );
+            }
+            catch ( IOException e )
+            {
+                e.printStackTrace();
             }
-        } );
+        } ) );
     }
 
     private TestFileUtils()
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 6441d0c..bbbbbac 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
@@ -264,14 +264,7 @@ final class WagonTransporter
             prox.setHost( p.getHost() );
             prox.setPort( p.getPort() );
 
-            proxy = new ProxyInfoProvider()
-            {
-                @Override
-                public ProxyInfo getProxyInfo( String protocol )
-                {
-                    return prox;
-                }
-            };
+            proxy = protocol -> prox;
         }
 
         return proxy;
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/concurrency/RunnableErrorForwarder.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/concurrency/RunnableErrorForwarder.java
index 4f9fba4..6f219f1 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/concurrency/RunnableErrorForwarder.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/concurrency/RunnableErrorForwarder.java
@@ -66,24 +66,21 @@ public final class RunnableErrorForwarder
 
         counter.incrementAndGet();
 
-        return new Runnable()
+        return () ->
         {
-            public void run()
+            try
             {
-                try
-                {
-                    runnable.run();
-                }
-                catch ( RuntimeException | Error e )
-                {
-                    error.compareAndSet( null, e );
-                    throw e;
-                }
-                finally
-                {
-                    counter.decrementAndGet();
-                    LockSupport.unpark( thread );
-                }
+                runnable.run();
+            }
+            catch ( RuntimeException | Error e )
+            {
+                error.compareAndSet( null, e );
+                throw e;
+            }
+            finally
+            {
+                counter.decrementAndGet();
+                LockSupport.unpark( thread );
             }
         };
     }
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/ClassicDependencyManager.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/ClassicDependencyManager.java
index 01ecac3..72b7eac 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/ClassicDependencyManager.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/ClassicDependencyManager.java
@@ -151,12 +151,7 @@ public final class ClassicDependencyManager
                 {
                     managedExclusions = new HashMap<>( this.managedExclusions );
                 }
-                Collection<Exclusion> managed = managedExclusions.get( key );
-                if ( managed == null )
-                {
-                    managed = new LinkedHashSet<>();
-                    managedExclusions.put( key, managed );
-                }
+                Collection<Exclusion> managed = managedExclusions.computeIfAbsent( key, k -> new LinkedHashSet<>() );
                 managed.addAll( exclusions );
             }
         }
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/DefaultDependencyManager.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/DefaultDependencyManager.java
index 2952a19..2aa7800 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/DefaultDependencyManager.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/DefaultDependencyManager.java
@@ -148,12 +148,7 @@ public final class DefaultDependencyManager
                 {
                     exclusions = new HashMap<>( this.managedExclusions );
                 }
-                Collection<Exclusion> managed = exclusions.get( key );
-                if ( managed == null )
-                {
-                    managed = new LinkedHashSet<>();
-                    exclusions.put( key, managed );
-                }
+                Collection<Exclusion> managed = exclusions.computeIfAbsent( key, k -> new LinkedHashSet<>() );
                 managed.addAll( managedDependency.getExclusions() );
             }
         }
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/TransitiveDependencyManager.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/TransitiveDependencyManager.java
index b5a0a2c..29e3191 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/TransitiveDependencyManager.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/TransitiveDependencyManager.java
@@ -147,12 +147,7 @@ public final class TransitiveDependencyManager
                 {
                     exclusions = new HashMap<>( managedExclusions );
                 }
-                Collection<Exclusion> managed = exclusions.get( key );
-                if ( managed == null )
-                {
-                    managed = new LinkedHashSet<>();
-                    exclusions.put( key, managed );
-                }
+                Collection<Exclusion> managed = exclusions.computeIfAbsent( key, k -> new LinkedHashSet<>() );
                 managed.addAll( managedDependency.getExclusions() );
             }
         }
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
index fdc424d..50ef2f7 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
@@ -151,12 +151,8 @@ public final class ConflictResolver
         {
             for ( Object conflictId : cycle )
             {
-                Collection<Object> predecessors = cyclicPredecessors.get( conflictId );
-                if ( predecessors == null )
-                {
-                    predecessors = new HashSet<>();
-                    cyclicPredecessors.put( conflictId, predecessors );
-                }
+                Collection<Object> predecessors = cyclicPredecessors.
+                        computeIfAbsent( conflictId, k -> new HashSet<>() );
                 predecessors.addAll( cycle );
             }
         }
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.java
index 28ead5e..11e1af0 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.java
@@ -23,7 +23,6 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Iterator;
-import java.util.List;
 
 import org.eclipse.aether.RepositoryException;
 import org.eclipse.aether.collection.UnsolvableVersionConflictException;
@@ -149,14 +148,11 @@ public final class NearestVersionSelector
 
     private UnsolvableVersionConflictException newFailure( final ConflictContext context )
     {
-        DependencyFilter filter = new DependencyFilter()
+        DependencyFilter filter = ( node, parents ) ->
         {
-            public boolean accept( DependencyNode node, List<DependencyNode> parents )
-            {
-                requireNonNull( node, "node cannot be null" );
-                requireNonNull( parents, "parents cannot be null" );
-                return context.isIncluded( node );
-            }
+            requireNonNull( node, "node cannot be null" );
+            requireNonNull( parents, "parents cannot be null" );
+            return context.isIncluded( node );
         };
         PathRecordingDependencyVisitor visitor = new PathRecordingDependencyVisitor( filter );
         context.getRoot().accept( visitor );