[MNG-7290] Java8 improvements
Closes #571
diff --git a/maven-compat/src/main/java/org/apache/maven/project/interpolation/StringSearchModelInterpolator.java b/maven-compat/src/main/java/org/apache/maven/project/interpolation/StringSearchModelInterpolator.java
index 553874c..8dc8784 100644
--- a/maven-compat/src/main/java/org/apache/maven/project/interpolation/StringSearchModelInterpolator.java
+++ b/maven-compat/src/main/java/org/apache/maven/project/interpolation/StringSearchModelInterpolator.java
@@ -164,12 +164,7 @@
}
else if ( isQualifiedForInterpolation( cls ) )
{
- Field[] fields = FIELDS_BY_CLASS.get( cls );
- if ( fields == null )
- {
- fields = cls.getDeclaredFields();
- FIELDS_BY_CLASS.put( cls, fields );
- }
+ Field[] fields = FIELDS_BY_CLASS.computeIfAbsent( cls, k -> cls.getDeclaredFields() );
for ( Field field : fields )
{
diff --git a/maven-core/src/main/java/org/apache/maven/execution/ProfileActivation.java b/maven-core/src/main/java/org/apache/maven/execution/ProfileActivation.java
index 52f5e06..ad00a74 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/ProfileActivation.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/ProfileActivation.java
@@ -133,7 +133,7 @@
{
return this.activations.entrySet().stream()
.filter( e -> predicate.test( e.getValue() ) )
- .map( e -> e.getKey() )
+ .map( Map.Entry::getKey )
.collect( toSet() );
}
diff --git a/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java b/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java
index 1f42293..5216988 100644
--- a/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java
+++ b/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java
@@ -154,7 +154,7 @@
private List<MavenProject> getSortedProjects( Set<String> projectIds )
{
return projectIds.stream()
- .map( id -> projects.get( id ) )
+ .map( projects::get )
.sorted( Comparator.comparingInt( order::get ) )
.collect( Collectors.toList() );
}
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultBuildPomXMLFilterFactory.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultBuildPomXMLFilterFactory.java
index 906584d..d22eaac 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultBuildPomXMLFilterFactory.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultBuildPomXMLFilterFactory.java
@@ -58,14 +58,15 @@
@Override
protected Function<Path, Optional<RelativeProject>> getRelativePathMapper()
{
- return p -> Optional.ofNullable( context.getRawModel( p ) ).map( m -> toRelativeProject( m ) );
+ return p -> Optional.ofNullable( context.getRawModel( p ) )
+ .map( DefaultBuildPomXMLFilterFactory::toRelativeProject );
}
@Override
protected BiFunction<String, String, String> getDependencyKeyToVersionMapper()
{
return ( g, a ) -> Optional.ofNullable( context.getRawModel( g, a ) )
- .map( m -> toVersion( m ) )
+ .map( DefaultBuildPomXMLFilterFactory::toVersion )
.orElse( null );
}
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/FileToRawModelMerger.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/FileToRawModelMerger.java
index f697d77..47af900 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/FileToRawModelMerger.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/FileToRawModelMerger.java
@@ -80,7 +80,7 @@
boolean sourceDominant, Map<Object, Object> context )
{
Iterator<Dependency> sourceIterator = source.getDependencies().iterator();
- target.getDependencies().stream().forEach( t -> mergeDependency( t, sourceIterator.next(), sourceDominant,
+ target.getDependencies().forEach( t -> mergeDependency( t, sourceIterator.next(), sourceDominant,
context ) );
}
@@ -124,7 +124,7 @@
Map<Object, Object> context )
{
Iterator<Profile> sourceIterator = source.getProfiles().iterator();
- target.getProfiles().stream().forEach( t -> mergeProfile( t, sourceIterator.next(), sourceDominant,
+ target.getProfiles().forEach( t -> mergeProfile( t, sourceIterator.next(), sourceDominant,
context ) );
}
@@ -133,7 +133,7 @@
Map<Object, Object> context )
{
Iterator<Dependency> sourceIterator = source.getDependencies().iterator();
- target.getDependencies().stream().forEach( t -> mergeDependency( t, sourceIterator.next(), sourceDominant,
+ target.getDependencies().forEach( t -> mergeDependency( t, sourceIterator.next(), sourceDominant,
context ) );
}
@@ -156,7 +156,7 @@
Map<Object, Object> context )
{
Iterator<Dependency> sourceIterator = source.getDependencies().iterator();
- target.getDependencies().stream().forEach( t -> mergeDependency( t, sourceIterator.next(), sourceDominant,
+ target.getDependencies().forEach( t -> mergeDependency( t, sourceIterator.next(), sourceDominant,
context ) );
}
diff --git a/maven-model-transform/src/main/java/org/apache/maven/model/transform/AbstractEventXMLFilter.java b/maven-model-transform/src/main/java/org/apache/maven/model/transform/AbstractEventXMLFilter.java
index 7264145..711845f 100644
--- a/maven-model-transform/src/main/java/org/apache/maven/model/transform/AbstractEventXMLFilter.java
+++ b/maven-model-transform/src/main/java/org/apache/maven/model/transform/AbstractEventXMLFilter.java
@@ -86,16 +86,14 @@
if ( !lockCharacters )
{
- charactersSegments.stream().forEach( e ->
- {
- saxEvents.add( () ->
- {
- if ( acceptEvent( eventState ) )
+ charactersSegments.forEach( e ->
+ saxEvents.add( () ->
{
- e.execute();
- }
- } );
- } );
+ if ( acceptEvent( eventState ) )
+ {
+ e.execute();
+ }
+ } ) );
charactersSegments.clear();
}
@@ -127,16 +125,14 @@
protected final void executeEvents() throws SAXException
{
final String eventState = getState();
- charactersSegments.stream().forEach( e ->
- {
- saxEvents.add( () ->
- {
- if ( acceptEvent( eventState ) )
+ charactersSegments.forEach( e ->
+ saxEvents.add( () ->
{
- e.execute();
- }
- } );
- } );
+ if ( acceptEvent( eventState ) )
+ {
+ e.execute();
+ }
+ } ) );
charactersSegments.clear();
// not with streams due to checked SAXException
diff --git a/maven-model-transform/src/main/java/org/apache/maven/model/transform/sax/SAXEventFactory.java b/maven-model-transform/src/main/java/org/apache/maven/model/transform/sax/SAXEventFactory.java
index 8625762..c9ae486 100644
--- a/maven-model-transform/src/main/java/org/apache/maven/model/transform/sax/SAXEventFactory.java
+++ b/maven-model-transform/src/main/java/org/apache/maven/model/transform/sax/SAXEventFactory.java
@@ -51,7 +51,7 @@
public SAXEvent endDocument()
{
- return () -> contentHandler.endDocument();
+ return contentHandler::endDocument;
}
public SAXEvent endElement( final String uri, final String localName, final String qName )
@@ -86,7 +86,7 @@
public SAXEvent startDocument()
{
- return () -> contentHandler.startDocument();
+ return contentHandler::startDocument;
}
public SAXEvent startElement( final String uri, final String localName, final String qName, final Attributes atts )
@@ -111,7 +111,7 @@
public SAXEvent endDTD()
{
- return () -> lexicalHandler.endDTD();
+ return lexicalHandler::endDTD;
}
public SAXEvent startEntity( String name )
@@ -127,12 +127,12 @@
public SAXEvent startCDATA()
{
- return () -> lexicalHandler.startCDATA();
+ return lexicalHandler::startCDATA;
}
public SAXEvent endCDATA()
{
- return () -> lexicalHandler.endCDATA();
+ return lexicalHandler::endCDATA;
}
public SAXEvent comment( char[] ch, int start, int length )