You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2020/01/25 21:52:42 UTC

[maven] branch MNG-6831 created (now ddb454a)

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

slachiewicz pushed a change to branch MNG-6831
in repository https://gitbox.apache.org/repos/asf/maven.git.


      at ddb454a  [MNG-6831] Replace Anonymous classes by lambdas

This branch includes the following new commits:

     new ddb454a  [MNG-6831] Replace Anonymous classes by lambdas

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven] 01/01: [MNG-6831] Replace Anonymous classes by lambdas

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch MNG-6831
in repository https://gitbox.apache.org/repos/asf/maven.git

commit ddb454ac83e83b5178f9a5bb40a3250d9b543a3e
Author: Artem Krosheninnikov <fe...@gmail.com>
AuthorDate: Sat Jan 4 15:02:31 2020 +0300

    [MNG-6831] Replace Anonymous classes by lambdas
    
    Closes #303
---
 .../artifact/resolver/DefaultArtifactResolver.java | 12 ++----
 .../maven/profiles/DefaultProfileManager.java      | 19 +++------
 .../metadata/DefaultClasspathTransformation.java   | 30 +++++---------
 .../resolver/filter/AndArtifactFilterTest.java     | 10 +----
 .../resolver/filter/OrArtifactFilterTest.java      | 10 +----
 .../maven/artifact/testutils/TestFileManager.java  | 10 +----
 .../scope/internal/MojoExecutionScope.java         | 47 +++++++++-------------
 .../internal/DefaultLifecyclePluginAnalyzer.java   | 11 +----
 .../multithreaded/MultiThreadedBuilder.java        | 15 +++----
 .../maven/session/scope/internal/SessionScope.java | 47 +++++++++-------------
 .../building/DefaultToolchainsBuilder.java         | 17 +++-----
 .../configuration/DefaultBeanConfiguratorTest.java | 20 +++------
 .../scope/internal/MojoExecutionScopeTest.java     | 20 +--------
 .../internal/LifecycleDependencyResolverTest.java  | 10 +----
 .../model/building/ModelBuildingEventCatapult.java |  9 +----
 .../StringSearchModelInterpolator.java             | 32 +++++++--------
 .../StringVisitorModelInterpolator.java            | 32 +++++++--------
 .../StringSearchModelInterpolatorTest.java         | 20 ++++-----
 .../settings/building/DefaultSettingsBuilder.java  | 17 +++-----
 19 files changed, 126 insertions(+), 262 deletions(-)

diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java b/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
index 44fdcdb..45dcb5f 100644
--- a/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
+++ b/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
@@ -105,13 +105,7 @@ public class DefaultArtifactResolver
         int threads = Integer.getInteger( "maven.artifact.threads", 5 );
         if ( threads <= 1 )
         {
-            executor = new Executor()
-            {
-                public void execute( Runnable command )
-                {
-                    command.run();
-                }
-            };
+            executor = Runnable::run;
         }
         else
         {
@@ -259,7 +253,7 @@ public class DefaultArtifactResolver
                                                              ArtifactNotFoundException
     {
         return resolveTransitively(
-                artifacts, originatingArtifact, Collections.<String, Artifact>emptyMap(), localRepository,
+                artifacts, originatingArtifact, Collections.emptyMap(), localRepository,
                                     remoteRepositories, source, filter );
 
     }
@@ -307,7 +301,7 @@ public class DefaultArtifactResolver
                                                              ArtifactNotFoundException
     {
         return resolveTransitively(
-                artifacts, originatingArtifact, Collections.<String, Artifact>emptyMap(), localRepository,
+                artifacts, originatingArtifact, Collections.emptyMap(), localRepository,
                                     remoteRepositories, source, null, listeners );
     }
 
diff --git a/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java b/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
index 9890622..375460a 100644
--- a/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
+++ b/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
@@ -22,7 +22,6 @@ package org.apache.maven.profiles;
 import org.apache.maven.model.Activation;
 import org.apache.maven.model.Profile;
 import org.apache.maven.model.building.ModelProblem;
-import org.apache.maven.model.building.ModelProblemCollector;
 import org.apache.maven.model.profile.DefaultProfileActivationContext;
 import org.apache.maven.model.profile.ProfileSelector;
 import org.apache.maven.profiles.activation.ProfileActivationException;
@@ -37,7 +36,6 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
-import org.apache.maven.model.building.ModelProblemCollectorRequest;
 
 /**
  * DefaultProfileManager
@@ -187,18 +185,13 @@ public class DefaultProfileManager
 
         final List<ProfileActivationException> errors = new ArrayList<>();
 
-        List<Profile> profiles =
-            profileSelector.getActiveProfiles( profilesById.values(), context, new ModelProblemCollector()
+        List<Profile> profiles = profileSelector.getActiveProfiles( profilesById.values(), context, req ->
+        {
+            if ( !ModelProblem.Severity.WARNING.equals( req.getSeverity() ) )
             {
-
-                public void add( ModelProblemCollectorRequest req )
-                {
-                    if ( !ModelProblem.Severity.WARNING.equals( req.getSeverity() ) )
-                    {
-                        errors.add( new ProfileActivationException( req.getMessage(), req.getException() ) );
-                    }
-                }
-            } );
+                errors.add( new ProfileActivationException( req.getMessage(), req.getException() ) );
+            }
+        } );
 
         if ( !errors.isEmpty() )
         {
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/metadata/DefaultClasspathTransformation.java b/maven-compat/src/main/java/org/apache/maven/repository/metadata/DefaultClasspathTransformation.java
index f980f5a..a2bac9c 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/metadata/DefaultClasspathTransformation.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/metadata/DefaultClasspathTransformation.java
@@ -21,7 +21,6 @@ package org.apache.maven.repository.metadata;
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Comparator;
 import java.util.List;
 
 import org.apache.maven.artifact.ArtifactScopeEnum;
@@ -140,27 +139,18 @@ public class DefaultClasspathTransformation
             if ( exits != null && exits.size() > 0 )
             {
                 MetadataGraphEdge[] sortedExits = exits.toArray( new MetadataGraphEdge[0] );
-                Arrays.sort( sortedExits
-                        ,
-                        new Comparator<MetadataGraphEdge>()
+                Arrays.sort( sortedExits, ( e1, e2 ) ->
+                {
+                    if ( e1.getDepth() == e2.getDepth() )
+                    {
+                        if ( e2.getPomOrder() == e1.getPomOrder() )
                         {
-                            public int compare( MetadataGraphEdge e1
-                                            , MetadataGraphEdge e2
-                                            )
-                            {
-                                if ( e1.getDepth() == e2.getDepth() )
-                                {
-                                    if ( e2.getPomOrder() == e1.getPomOrder() )
-                                    {
-                                        return e1.getTarget().toString().compareTo( e2.getTarget().toString() );
-                                    }
-                                    return e2.getPomOrder() - e1.getPomOrder();
-                                }
-
-                                return e2.getDepth() - e1.getDepth();
-                            }
+                            return e1.getTarget().toString().compareTo( e2.getTarget().toString() );
                         }
-                );
+                        return e2.getPomOrder() - e1.getPomOrder();
+                    }
+                    return e2.getDepth() - e1.getDepth();
+                } );
 
                 for ( MetadataGraphEdge e : sortedExits )
                 {
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilterTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilterTest.java
index bca112b..50517f4 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilterTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilterTest.java
@@ -21,8 +21,6 @@ package org.apache.maven.artifact.resolver.filter;
 
 import java.util.Arrays;
 
-import org.apache.maven.artifact.Artifact;
-
 import junit.framework.TestCase;
 
 /**
@@ -36,13 +34,7 @@ public class AndArtifactFilterTest
 
     private ArtifactFilter newSubFilter()
     {
-        return new ArtifactFilter()
-        {
-            public boolean include( Artifact artifact )
-            {
-                return false;
-            }
-        };
+        return artifact -> false;
     }
 
     public void testEquals()
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/OrArtifactFilterTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/OrArtifactFilterTest.java
index e161437..5971cc3 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/OrArtifactFilterTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/filter/OrArtifactFilterTest.java
@@ -21,8 +21,6 @@ package org.apache.maven.artifact.resolver.filter;
 
 import java.util.Arrays;
 
-import org.apache.maven.artifact.Artifact;
-
 import junit.framework.TestCase;
 
 /**
@@ -36,13 +34,7 @@ public class OrArtifactFilterTest
 
     private ArtifactFilter newSubFilter()
     {
-        return new ArtifactFilter()
-        {
-            public boolean include( Artifact artifact )
-            {
-                return false;
-            }
-        };
+        return artifact -> false;
     }
 
     public void testEquals()
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/testutils/TestFileManager.java b/maven-compat/src/test/java/org/apache/maven/artifact/testutils/TestFileManager.java
index 01a1f17..9761e75 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/testutils/TestFileManager.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/testutils/TestFileManager.java
@@ -76,15 +76,7 @@ public class TestFileManager
     {
         callerInfo = new NullPointerException().getStackTrace()[2];
 
-        Runnable warning = new Runnable()
-        {
-
-            public void run()
-            {
-                maybeWarnAboutCleanUp();
-            }
-
-        };
+        Runnable warning = this::maybeWarnAboutCleanUp;
 
         cleanupWarning = new Thread( warning );
 
diff --git a/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScope.java b/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScope.java
index 785877e..86d7c73 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScope.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScope.java
@@ -42,12 +42,9 @@ import com.google.inject.util.Providers;
 public class MojoExecutionScope
     implements Scope, MojoExecutionListener
 {
-    private static final Provider<Object> SEEDED_KEY_PROVIDER = new Provider<Object>()
+    private static final Provider<Object> SEEDED_KEY_PROVIDER = () ->
     {
-        public Object get()
-        {
-            throw new IllegalStateException();
-        }
+        throw new IllegalStateException();
     };
 
     private static final class ScopeState
@@ -111,35 +108,31 @@ public class MojoExecutionScope
 
     public <T> Provider<T> scope( final Key<T> key, final Provider<T> unscoped )
     {
-        return new Provider<T>()
+        return () ->
         {
-            @SuppressWarnings( "unchecked" )
-            public T get()
+            LinkedList<ScopeState> stack = values.get();
+            if ( stack == null || stack.isEmpty() )
             {
-                LinkedList<ScopeState> stack = values.get();
-                if ( stack == null || stack.isEmpty() )
-                {
-                    throw new OutOfScopeException( "Cannot access " + key + " outside of a scoping block" );
-                }
-
-                ScopeState state = stack.getFirst();
+                throw new OutOfScopeException( "Cannot access " + key + " outside of a scoping block" );
+            }
 
-                Provider<?> seeded = state.seeded.get( key );
+            ScopeState state = stack.getFirst();
 
-                if ( seeded != null )
-                {
-                    return (T) seeded.get();
-                }
+            Provider<?> seeded = state.seeded.get( key );
 
-                T provided = (T) state.provided.get( key );
-                if ( provided == null && unscoped != null )
-                {
-                    provided = unscoped.get();
-                    state.provided.put( key, provided );
-                }
+            if ( seeded != null )
+            {
+                return (T) seeded.get();
+            }
 
-                return provided;
+            T provided = (T) state.provided.get( key );
+            if ( provided == null && unscoped != null )
+            {
+                provided = unscoped.get();
+                state.provided.put( key, provided );
             }
+
+            return provided;
         };
     }
 
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java
index 67a9057..3762363 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java
@@ -36,7 +36,6 @@ import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
@@ -137,15 +136,7 @@ public class DefaultLifecyclePluginAnalyzer
 
         List<Lifecycle> lifecycles = new ArrayList<>( defaultLifeCycles.getLifeCycles() );
 
-        Collections.sort( lifecycles, new Comparator<Lifecycle>()
-        {
-
-            public int compare( Lifecycle l1, Lifecycle l2 )
-            {
-                return l1.getId().compareTo( l2.getId() );
-            }
-
-        } );
+        lifecycles.sort( Comparator.comparing( Lifecycle::getId ) );
 
         return lifecycles;
     }
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
index 94d10af..29d1634 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
@@ -182,17 +182,14 @@ public class MultiThreadedBuilder
                                                           final ReactorContext reactorContext,
                                                           final TaskSegment taskSegment, final ThreadOutputMuxer muxer )
     {
-        return new Callable<ProjectSegment>()
+        return () ->
         {
-            public ProjectSegment call()
-            {
-                // muxer.associateThreadWithProjectSegment( projectBuild );
-                lifecycleModuleBuilder.buildProject( projectBuild.getSession(), rootSession, reactorContext,
-                                                     projectBuild.getProject(), taskSegment );
-                // muxer.setThisModuleComplete( projectBuild );
+            // muxer.associateThreadWithProjectSegment( projectBuild );
+            lifecycleModuleBuilder.buildProject( projectBuild.getSession(), rootSession, reactorContext,
+                                                 projectBuild.getProject(), taskSegment );
+            // muxer.setThisModuleComplete( projectBuild );
 
-                return projectBuild;
-            }
+            return projectBuild;
         };
     }
 }
diff --git a/maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScope.java b/maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScope.java
index ac423bc..31c2900 100644
--- a/maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScope.java
+++ b/maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScope.java
@@ -49,12 +49,9 @@ public class SessionScope
         }
     }
 
-    private static final Provider<Object> SEEDED_KEY_PROVIDER = new Provider<Object>()
+    private static final Provider<Object> SEEDED_KEY_PROVIDER = () ->
     {
-        public Object get()
-        {
-            throw new IllegalStateException();
-        }
+        throw new IllegalStateException();
     };
 
     /**
@@ -134,35 +131,31 @@ public class SessionScope
 
     public <T> Provider<T> scope( final Key<T> key, final Provider<T> unscoped )
     {
-        return new Provider<T>()
+        return () ->
         {
-            @SuppressWarnings( "unchecked" )
-            public T get()
+            LinkedList<ScopeState> stack = values.get();
+            if ( stack == null || stack.isEmpty() )
             {
-                LinkedList<ScopeState> stack = values.get();
-                if ( stack == null || stack.isEmpty() )
-                {
-                    throw new OutOfScopeException( "Cannot access " + key + " outside of a scoping block" );
-                }
-
-                ScopeState state = stack.getFirst();
+                throw new OutOfScopeException( "Cannot access " + key + " outside of a scoping block" );
+            }
 
-                Provider<?> seeded = state.seeded.get( key );
+            ScopeState state = stack.getFirst();
 
-                if ( seeded != null )
-                {
-                    return (T) seeded.get();
-                }
+            Provider<?> seeded = state.seeded.get( key );
 
-                T provided = (T) state.provided.get( key );
-                if ( provided == null && unscoped != null )
-                {
-                    provided = unscoped.get();
-                    state.provided.put( key, provided );
-                }
+            if ( seeded != null )
+            {
+                return (T) seeded.get();
+            }
 
-                return provided;
+            T provided = (T) state.provided.get( key );
+            if ( provided == null && unscoped != null )
+            {
+                provided = unscoped.get();
+                state.provided.put( key, provided );
             }
+
+            return provided;
         };
     }
 
diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilder.java b/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilder.java
index beeee19..33bdc70 100644
--- a/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilder.java
@@ -31,7 +31,6 @@ import org.apache.maven.toolchain.model.PersistedToolchains;
 import org.apache.maven.toolchain.model.TrackableBase;
 import org.codehaus.plexus.interpolation.EnvarBasedValueSource;
 import org.codehaus.plexus.interpolation.InterpolationException;
-import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
 import org.codehaus.plexus.interpolation.RegexBasedInterpolator;
 
 import javax.inject.Inject;
@@ -114,19 +113,15 @@ public class DefaultToolchainsBuilder
                     + e.getMessage(), -1, -1, e );
         }
 
-        interpolator.addPostProcessor( new InterpolationPostProcessor()
+        interpolator.addPostProcessor( ( expression, value ) ->
         {
-            @Override
-            public Object execute( String expression, Object value )
+            if ( value != null )
             {
-                if ( value != null )
-                {
-                    // we're going to parse this back in as XML so we need to escape XML markup
-                    value = value.toString().replace( "&", "&amp;" ).replace( "<", "&lt;" ).replace( ">", "&gt;" );
-                    return value;
-                }
-                return null;
+                // we're going to parse this back in as XML so we need to escape XML markup
+                value = value.toString().replace( "&", "&amp;" ).replace( "<", "&lt;" ).replace( ">", "&gt;" );
+                return value;
             }
+            return null;
         } );
 
         try
diff --git a/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java b/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java
index 1134fc5..3fca965 100644
--- a/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java
@@ -89,26 +89,16 @@ public class DefaultBeanConfiguratorTest
 
         Xpp3Dom config = toConfig( "<file>${test}</file>" );
 
-        BeanConfigurationValuePreprocessor preprocessor = new BeanConfigurationValuePreprocessor()
+        BeanConfigurationValuePreprocessor preprocessor = ( value, type ) ->
         {
-            public Object preprocessValue( String value, Class<?> type )
-                throws BeanConfigurationException
+            if ( value != null && value.startsWith( "${" ) && value.endsWith( "}" ) )
             {
-                if ( value != null && value.startsWith( "${" ) && value.endsWith( "}" ) )
-                {
-                    return value.substring( 2, value.length() - 1 );
-                }
-                return value;
+                return value.substring( 2, value.length() - 1 );
             }
+            return value;
         };
 
-        BeanConfigurationPathTranslator translator = new BeanConfigurationPathTranslator()
-        {
-            public File translatePath( File path )
-            {
-                return new File( "base", path.getPath() ).getAbsoluteFile();
-            }
-        };
+        BeanConfigurationPathTranslator translator = path -> new File( "base", path.getPath() ).getAbsoluteFile();
 
         DefaultBeanConfigurationRequest request = new DefaultBeanConfigurationRequest();
         request.setBean( bean ).setConfiguration( config );
diff --git a/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java b/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
index a4eb354..c7db866 100644
--- a/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
+++ b/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
@@ -23,7 +23,6 @@ import org.apache.maven.plugin.MojoExecutionException;
 import junit.framework.TestCase;
 
 import com.google.inject.Key;
-import com.google.inject.Provider;
 
 public class MojoExecutionScopeTest
     extends TestCase
@@ -90,23 +89,8 @@ public class MojoExecutionScopeTest
                 afterExecutionFailure.incrementAndGet();
             }
         };
-        assertSame( instance, scope.scope( Key.get( Object.class ), new Provider<Object>()
-        {
-            @Override
-            public Object get()
-            {
-                return instance;
-            }
-        } ).get() );
-        assertSame( instance,
-                    scope.scope( Key.get( WeakMojoExecutionListener.class ), new Provider<WeakMojoExecutionListener>()
-                    {
-                        @Override
-                        public WeakMojoExecutionListener get()
-                        {
-                            return instance;
-                        }
-                    } ).get() );
+        assertSame( instance, scope.scope( Key.get( Object.class ), () -> instance ).get() );
+        assertSame( instance, scope.scope( Key.get( WeakMojoExecutionListener.class ), () -> instance ).get() );
 
         final MojoExecutionEvent event = new MojoExecutionEvent( null, null, null, null );
         scope.beforeMojoExecution( event );
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
index b38742a..89257d1 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
@@ -28,7 +28,6 @@ import java.util.Set;
 
 import org.apache.maven.AbstractCoreMavenComponentTestCase;
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.component.annotations.Requirement;
@@ -64,14 +63,7 @@ public class LifecycleDependencyResolverTest extends AbstractCoreMavenComponentT
         Set<Artifact> reactorArtifacts = new HashSet<>( 3 );
         for ( MavenProject reactorProject : session.getProjects() )
         {
-            reactorProject.setArtifactFilter( new ArtifactFilter()
-            {
-                @Override
-                public boolean include( Artifact artifact )
-                {
-                    return true;
-                }
-            } );
+            reactorProject.setArtifactFilter( artifact -> true );
             resolver.resolveProjectDependencies( reactorProject, scopesToCollect, scopesToResolve, session, aggregating, reactorArtifacts );
             reactorArtifacts.add( reactorProject.getArtifact() );
         }
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingEventCatapult.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingEventCatapult.java
index 092dc4e..b6cfe1a 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingEventCatapult.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingEventCatapult.java
@@ -36,13 +36,6 @@ interface ModelBuildingEventCatapult
      */
     void fire( ModelBuildingListener listener, ModelBuildingEvent event );
 
-    ModelBuildingEventCatapult BUILD_EXTENSIONS_ASSEMBLED = new ModelBuildingEventCatapult()
-    {
-        @Override
-        public void fire( ModelBuildingListener listener, ModelBuildingEvent event )
-        {
-            listener.buildExtensionsAssembled( event );
-        }
-    };
+    ModelBuildingEventCatapult BUILD_EXTENSIONS_ASSEMBLED = ModelBuildingListener::buildExtensionsAssembled;
 
 }
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java b/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java
index 9b67a34..af4d105 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java
@@ -99,31 +99,27 @@ public class StringSearchModelInterpolator
             interpolator.addPostProcessor( postProcessor );
         }
         final RecursionInterceptor recursionInterceptor = createRecursionInterceptor();
-        return new InnerInterpolator()
+        return value ->
         {
-            @Override
-            public String interpolate( String value )
+            if ( value != null && value.contains( "${" ) )
             {
-                if ( value != null && value.contains( "${" ) )
+                String c = cache.get( value );
+                if ( c == null )
                 {
-                    String c = cache.get( value );
-                    if ( c == null )
+                    try
                     {
-                        try
-                        {
-                            c = interpolator.interpolate( value, recursionInterceptor );
-                        }
-                        catch ( InterpolationException e )
-                        {
-                            problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
-                                    .setMessage( e.getMessage() ).setException( e ) );
-                        }
-                        cache.put( value, c );
+                        c = interpolator.interpolate( value, recursionInterceptor );
+                    }
+                    catch ( InterpolationException e )
+                    {
+                        problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
+                                .setMessage( e.getMessage() ).setException( e ) );
                     }
-                    return c;
+                    cache.put( value, c );
                 }
-                return value;
+                return c;
             }
+            return value;
         };
     }
 
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolator.java b/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolator.java
index 02c7c88..98e36f6 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolator.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolator.java
@@ -125,31 +125,27 @@ public class StringVisitorModelInterpolator
             interpolator.addPostProcessor( postProcessor );
         }
         final RecursionInterceptor recursionInterceptor = createRecursionInterceptor();
-        return new InnerInterpolator()
+        return value ->
         {
-            @Override
-            public String interpolate( String value )
+            if ( value != null && value.contains( "${" ) )
             {
-                if ( value != null && value.contains( "${" ) )
+                String c = cache.get( value );
+                if ( c == null )
                 {
-                    String c = cache.get( value );
-                    if ( c == null )
+                    try
                     {
-                        try
-                        {
-                            c = interpolator.interpolate( value, recursionInterceptor );
-                        }
-                        catch ( InterpolationException e )
-                        {
-                            problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
-                                    .setMessage( e.getMessage() ).setException( e ) );
-                        }
-                        cache.put( value, c );
+                        c = interpolator.interpolate( value, recursionInterceptor );
+                    }
+                    catch ( InterpolationException e )
+                    {
+                        problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
+                                .setMessage( e.getMessage() ).setException( e ) );
                     }
-                    return c;
+                    cache.put( value, c );
                 }
-                return value;
+                return c;
             }
+            return value;
         };
     }
 
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
index b66abca..cf38d30 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
@@ -459,19 +459,15 @@ public class StringSearchModelInterpolatorTest
         List<Future<SimpleProblemCollector>>  futures = new ArrayList<>();
         for ( int i = 0; i < numItems; i++ )
         {
-            Callable<SimpleProblemCollector> future = new Callable<SimpleProblemCollector>()
+            Callable<SimpleProblemCollector> future = () ->
             {
-                public SimpleProblemCollector call()
-                    throws Exception
-                {
-                    final ObjectWithMixedProtection obj = getValueList();
-                    final ModelBuildingRequest config = createModelBuildingRequest( p );
-
-                    countDownLatch.await();
-                    final SimpleProblemCollector collector = new SimpleProblemCollector();
-                    interpolator.interpolateObject( obj, model, new File( "." ), config, collector );
-                    return collector;
-                }
+                final ObjectWithMixedProtection obj = getValueList();
+                final ModelBuildingRequest config = createModelBuildingRequest( p );
+
+                countDownLatch.await();
+                final SimpleProblemCollector collector = new SimpleProblemCollector();
+                interpolator.interpolateObject( obj, model, new File( "." ), config, collector );
+                return collector;
             };
             FutureTask<SimpleProblemCollector> task = new FutureTask<>( future );
             futures.add( task );
diff --git a/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java b/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java
index 675ea59..0d1a1b6 100644
--- a/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java
+++ b/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java
@@ -42,7 +42,6 @@ import org.apache.maven.settings.merge.MavenSettingsMerger;
 import org.apache.maven.settings.validation.SettingsValidator;
 import org.codehaus.plexus.interpolation.EnvarBasedValueSource;
 import org.codehaus.plexus.interpolation.InterpolationException;
-import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
 import org.codehaus.plexus.interpolation.PropertiesBasedValueSource;
 import org.codehaus.plexus.interpolation.RegexBasedInterpolator;
 
@@ -241,19 +240,15 @@ public class DefaultSettingsBuilder
                 + e.getMessage(), -1, -1, e );
         }
 
-        interpolator.addPostProcessor( new InterpolationPostProcessor()
+        interpolator.addPostProcessor( ( expression, value ) ->
         {
-            @Override
-            public Object execute( String expression, Object value )
+            if ( value != null )
             {
-                if ( value != null )
-                {
-                    // we're going to parse this back in as XML so we need to escape XML markup
-                    value = value.toString().replace( "&", "&amp;" ).replace( "<", "&lt;" ).replace( ">", "&gt;" );
-                    return value;
-                }
-                return null;
+                // we're going to parse this back in as XML so we need to escape XML markup
+                value = value.toString().replace( "&", "&amp;" ).replace( "<", "&lt;" ).replace( ">", "&gt;" );
+                return value;
             }
+            return null;
         } );
 
         try