You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2020/06/17 07:28:20 UTC

[maven-enforcer] branch master updated: modernize code a bit

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

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


The following commit(s) were added to refs/heads/master by this push:
     new b681202  modernize code a bit
b681202 is described below

commit b6812028009e1fb19ad45bee88c96a276f798f5e
Author: olivier lamy <ol...@apache.org>
AuthorDate: Wed Jun 17 17:28:02 2020 +1000

    modernize code a bit
    
    Signed-off-by: olivier lamy <ol...@apache.org>
---
 .../plugins/enforcer/AbstractBanDependencies.java  |  2 +-
 .../plugins/enforcer/AbstractRequireFiles.java     |  5 +-
 .../apache/maven/plugins/enforcer/AlwaysFail.java  |  2 +-
 .../apache/maven/plugins/enforcer/AlwaysPass.java  |  4 +-
 .../BanDuplicatePomDependencyVersions.java         | 26 ++-----
 .../maven/plugins/enforcer/BannedRepositories.java |  8 +-
 .../plugins/enforcer/DependencyConvergence.java    | 22 ++----
 .../maven/plugins/enforcer/EvaluateBeanshell.java  |  2 +-
 .../plugins/enforcer/ReactorModuleConvergence.java | 38 +++++-----
 .../plugins/enforcer/RequireActiveProfile.java     |  2 +-
 .../plugins/enforcer/RequireFileChecksum.java      |  9 +--
 .../maven/plugins/enforcer/RequireJavaVersion.java |  4 +-
 .../plugins/enforcer/RequireNoRepositories.java    |  6 +-
 .../apache/maven/plugins/enforcer/RequireOS.java   |  2 +-
 .../plugins/enforcer/RequirePluginVersions.java    | 85 +++++-----------------
 .../plugins/enforcer/RequireProfileIdsExist.java   |  2 +-
 .../maven/plugins/enforcer/RequireReleaseDeps.java |  4 +-
 .../plugins/enforcer/RequireReleaseVersion.java    |  2 +-
 .../plugins/enforcer/RequireSameVersions.java      | 22 +++---
 .../plugins/enforcer/RequireUpperBoundDeps.java    | 22 +++---
 .../plugins/enforcer/utils/ArtifactMatcher.java    |  4 +-
 .../plugins/enforcer/utils/ArtifactUtils.java      |  2 +-
 .../enforcer/utils/DependencyVersionMap.java       |  8 +-
 .../plugins/enforcer/utils/EnforcerRuleUtils.java  |  9 +--
 .../plugins/enforcer/utils/PluginWrapper.java      |  2 +-
 .../apache/maven/plugins/enforcer/EnforceMojo.java |  4 +-
 26 files changed, 105 insertions(+), 193 deletions(-)

diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
index 969c5ad..8a8a331 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
@@ -143,7 +143,7 @@ public abstract class AbstractBanDependencies
             }
             else if ( node.getChildren() != null )
             {
-                dependencies = new HashSet<Artifact>();
+                dependencies = new HashSet<>();
                 for ( DependencyNode depNode : node.getChildren() )
                 {
                     dependencies.add( depNode.getArtifact() );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractRequireFiles.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractRequireFiles.java
index 90379bd..6b1de74 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractRequireFiles.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractRequireFiles.java
@@ -69,7 +69,7 @@ public abstract class AbstractRequireFiles
             throw new EnforcerRuleException( "The file list is empty and Null files are disabled." );
         }
 
-        List<File> failures = new ArrayList<File>();
+        List<File> failures = new ArrayList<>();
         for ( File file : files )
         {
             if ( !allowNulls && file == null )
@@ -129,9 +129,8 @@ public abstract class AbstractRequireFiles
         if ( items != null )
         {
             hash = 1;
-            for ( int i = 0; i < items.length; i++ )
+            for ( Object item : items )
             {
-                Object item = items[i];
                 hash = 31 * hash + ( item == null ? 0 : item.hashCode() );
             }
         }
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AlwaysFail.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AlwaysFail.java
index 9b0045f..e40a7b5 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AlwaysFail.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AlwaysFail.java
@@ -37,7 +37,7 @@ public class AlwaysFail
     {
         String message = getMessage();
         
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
         if ( message != null )
         {
             buf.append( message ).append( System.lineSeparator() );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AlwaysPass.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AlwaysPass.java
index 862138c..f5906e1 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AlwaysPass.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AlwaysPass.java
@@ -38,8 +38,8 @@ public class AlwaysPass
         final Log log = helper.getLog();
         
         String message = getMessage();
-        
-        StringBuffer buf = new StringBuffer();
+
+        StringBuilder buf = new StringBuilder();
         if ( message != null )
         {
             buf.append( message ).append( System.lineSeparator() );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java
index 36a94ed..311eea6 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanDuplicatePomDependencyVersions.java
@@ -20,7 +20,6 @@ package org.apache.maven.plugins.enforcer;
  */
 
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -36,7 +35,6 @@ import org.apache.maven.model.Profile;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
-import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 /**
@@ -66,30 +64,16 @@ public class BanDuplicatePomDependencyVersions
 
         // re-read model, because M3 uses optimized model
         MavenXpp3Reader modelReader = new MavenXpp3Reader();
-        FileInputStream pomInputStream = null;
+
         Model model;
-        try
+        try ( FileInputStream pomInputStream = new FileInputStream( project.getFile() ) )
         {
-            pomInputStream = new FileInputStream( project.getFile() );
-
             model = modelReader.read( pomInputStream, false );
         }
-        catch ( FileNotFoundException e )
-        {
-            throw new EnforcerRuleException( "Unable to retrieve the MavenProject: ", e );
-        }
-        catch ( IOException e )
+        catch ( IOException | XmlPullParserException e )
         {
             throw new EnforcerRuleException( "Unable to retrieve the MavenProject: ", e );
         }
-        catch ( XmlPullParserException e )
-        {
-            throw new EnforcerRuleException( "Unable to retrieve the MavenProject: ", e );
-        }
-        finally
-        {
-            IOUtil.close( pomInputStream );
-        }
 
         // @todo reuse ModelValidator when possible
 
@@ -191,8 +175,8 @@ public class BanDuplicatePomDependencyVersions
     private Map<String, Integer> validateDependencies( List<Dependency> dependencies )
         throws EnforcerRuleException
     {
-        Map<String, Integer> duplicateDeps = new HashMap<String, Integer>();
-        Set<String> deps = new HashSet<String>();
+        Map<String, Integer> duplicateDeps = new HashMap<>();
+        Set<String> deps = new HashSet<>();
         for ( Dependency dependency : dependencies )
         {
             String key = dependency.getManagementKey();
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedRepositories.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedRepositories.java
index c76a70f..95b1cd0 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedRepositories.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedRepositories.java
@@ -100,9 +100,9 @@ public class BannedRepositories
 
             String errMsg = repoErrMsg + pluginRepoErrMsg;
 
-            if ( errMsg != null && !StringUtils.isEmpty( errMsg.toString() ) )
+            if ( errMsg != null && !StringUtils.isEmpty( errMsg ) )
             {
-                throw new EnforcerRuleException( errMsg.toString() );
+                throw new EnforcerRuleException( errMsg );
             }
 
         }
@@ -151,7 +151,7 @@ public class BannedRepositories
     private List<ArtifactRepository> checkRepositories( List<ArtifactRepository> repositories, List<String> includes,
                                                         List<String> excludes )
     {
-        List<ArtifactRepository> bannedRepos = new ArrayList<ArtifactRepository>();
+        List<ArtifactRepository> bannedRepos = new ArrayList<>();
 
         for ( ArtifactRepository repo : repositories )
         {
@@ -205,7 +205,7 @@ public class BannedRepositories
 
     private String getRepositoryUrlString( List<ArtifactRepository> resultBannedRepos )
     {
-        StringBuffer urls = new StringBuffer( "" );
+        StringBuilder urls = new StringBuilder( "" );
         for ( ArtifactRepository repo : resultBannedRepos )
         {
             urls.append( repo.getId() + " - " + repo.getUrl() + System.lineSeparator() );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
index 684f984..7366cfa 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
@@ -75,23 +75,17 @@ public class DependencyConvergence
         try
         {
             MavenProject project = (MavenProject) helper.evaluate( "${project}" );
-            DependencyTreeBuilder dependencyTreeBuilder =
-                (DependencyTreeBuilder) helper.getComponent( DependencyTreeBuilder.class );
+            DependencyTreeBuilder dependencyTreeBuilder = helper.getComponent( DependencyTreeBuilder.class );
             ArtifactRepository repository = (ArtifactRepository) helper.evaluate( "${localRepository}" );
-            ArtifactFactory factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
-            ArtifactMetadataSource metadataSource =
-                (ArtifactMetadataSource) helper.getComponent( ArtifactMetadataSource.class );
-            ArtifactCollector collector = (ArtifactCollector) helper.getComponent( ArtifactCollector.class );
+            ArtifactFactory factory = helper.getComponent( ArtifactFactory.class );
+            ArtifactMetadataSource metadataSource = helper.getComponent( ArtifactMetadataSource.class );
+            ArtifactCollector collector = helper.getComponent( ArtifactCollector.class );
             ArtifactFilter filter = null; // we need to evaluate all scopes
             DependencyNode node = dependencyTreeBuilder.buildDependencyTree( project, repository, factory,
                                                                              metadataSource, filter, collector );
             return node;
         }
-        catch ( ExpressionEvaluationException e )
-        {
-            throw new EnforcerRuleException( "Unable to lookup an expression " + e.getLocalizedMessage(), e );
-        }
-        catch ( ComponentLookupException e )
+        catch ( ExpressionEvaluationException | ComponentLookupException e )
         {
             throw new EnforcerRuleException( "Unable to lookup a component " + e.getLocalizedMessage(), e );
         }
@@ -115,7 +109,7 @@ public class DependencyConvergence
             DependencyVersionMap visitor = new DependencyVersionMap( log );
             visitor.setUniqueVersions( uniqueVersions );
             node.accept( visitor );
-            List<CharSequence> errorMsgs = new ArrayList<CharSequence>();
+            List<CharSequence> errorMsgs = new ArrayList<>();
             errorMsgs.addAll( getConvergenceErrorMsgs( visitor.getConflictedVersionNumbers() ) );
             for ( CharSequence errorMsg : errorMsgs )
             {
@@ -140,7 +134,7 @@ public class DependencyConvergence
 
     private StringBuilder buildTreeString( DependencyNode node )
     {
-        List<String> loc = new ArrayList<String>();
+        List<String> loc = new ArrayList<>();
         DependencyNode currentNode = node;
         while ( currentNode != null )
         {
@@ -163,7 +157,7 @@ public class DependencyConvergence
 
     private List<String> getConvergenceErrorMsgs( List<List<DependencyNode>> errors )
     {
-        List<String> errorMsgs = new ArrayList<String>();
+        List<String> errorMsgs = new ArrayList<>();
         for ( List<DependencyNode> nodeList : errors )
         {
             errorMsgs.add( buildConvergenceErrorMsg( nodeList ) );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/EvaluateBeanshell.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/EvaluateBeanshell.java
index 91a6635..e29f786 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/EvaluateBeanshell.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/EvaluateBeanshell.java
@@ -103,7 +103,7 @@ public class EvaluateBeanshell
     protected boolean evaluateCondition( String script, Log log )
         throws EnforcerRuleException
     {
-        Boolean evaluation = Boolean.FALSE;
+        Boolean evaluation;
         try
         {
             evaluation = (Boolean) INTERPRETER.get().eval( script );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/ReactorModuleConvergence.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/ReactorModuleConvergence.java
index 55fb74a..e5dd9af 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/ReactorModuleConvergence.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/ReactorModuleConvergence.java
@@ -94,7 +94,7 @@ public class ReactorModuleConvergence
             {
                 sb.append( MODULE_TEXT );
                 sb.append( mavenProject.getId() );
-                sb.append( SystemUtils.LINE_SEPARATOR );
+                sb.append( System.lineSeparator() );
             }
             throw new EnforcerRuleException( "Module parents have been found which could not be found in the reactor."
                 + sb.toString() );
@@ -113,13 +113,13 @@ public class ReactorModuleConvergence
         List<MavenProject> modulesWithoutParentsInReactor = existModulesWithoutParentsInReactor( sortedProjects );
         if ( !modulesWithoutParentsInReactor.isEmpty() )
         {
-            StringBuilder sb = new StringBuilder().append( SystemUtils.LINE_SEPARATOR );
+            StringBuilder sb = new StringBuilder().append( System.lineSeparator() );
             addMessageIfExist( sb );
             for ( MavenProject mavenProject : modulesWithoutParentsInReactor )
             {
                 sb.append( MODULE_TEXT );
                 sb.append( mavenProject.getId() );
-                sb.append( SystemUtils.LINE_SEPARATOR );
+                sb.append( System.lineSeparator() );
             }
             throw new EnforcerRuleException( "Reactor contains modules without parents." + sb.toString() );
         }
@@ -135,21 +135,21 @@ public class ReactorModuleConvergence
             areThereDependenciesWhichAreNotPartOfTheReactor( reactorVersion, sortedProjects );
         if ( !areThereDependenciesWhichAreNotPartOfTheReactor.isEmpty() )
         {
-            StringBuilder sb = new StringBuilder().append( SystemUtils.LINE_SEPARATOR );
+            StringBuilder sb = new StringBuilder().append( System.lineSeparator() );
             addMessageIfExist( sb );
             // CHECKSTYLE_OFF: LineLength
             for ( Entry<MavenProject, List<Dependency>> item : areThereDependenciesWhichAreNotPartOfTheReactor.entrySet() )
             {
                 sb.append( MODULE_TEXT );
                 sb.append( item.getKey().getId() );
-                sb.append( SystemUtils.LINE_SEPARATOR );
+                sb.append( System.lineSeparator() );
                 for ( Dependency dependency : item.getValue() )
                 {
                     String id =
                         dependency.getGroupId() + ":" + dependency.getArtifactId() + ":" + dependency.getVersion();
                     sb.append( "    dependency: " );
                     sb.append( id );
-                    sb.append( SystemUtils.LINE_SEPARATOR );
+                    sb.append( System.lineSeparator() );
                 }
             }
             throw new EnforcerRuleException(
@@ -174,7 +174,7 @@ public class ReactorModuleConvergence
         List<MavenProject> areParentsFromTheReactor = areParentsFromTheReactor( reactorVersion, sortedProjects );
         if ( !areParentsFromTheReactor.isEmpty() )
         {
-            StringBuilder sb = new StringBuilder().append( SystemUtils.LINE_SEPARATOR );
+            StringBuilder sb = new StringBuilder().append( System.lineSeparator() );
             addMessageIfExist( sb );
             for ( MavenProject mavenProject : areParentsFromTheReactor )
             {
@@ -182,7 +182,7 @@ public class ReactorModuleConvergence
                 sb.append( mavenProject.getId() );
                 sb.append( " parent:" );
                 sb.append( mavenProject.getParent().getId() );
-                sb.append( SystemUtils.LINE_SEPARATOR );
+                sb.append( System.lineSeparator() );
             }
             throw new EnforcerRuleException( "Reactor modules have parents which contain a wrong version."
                 + sb.toString() );
@@ -201,13 +201,13 @@ public class ReactorModuleConvergence
         List<MavenProject> consistenceCheckResult = isReactorVersionConsistent( sortedProjects );
         if ( !consistenceCheckResult.isEmpty() )
         {
-            StringBuilder sb = new StringBuilder().append( SystemUtils.LINE_SEPARATOR );
+            StringBuilder sb = new StringBuilder().append( System.lineSeparator() );
             addMessageIfExist( sb );
             for ( MavenProject mavenProject : consistenceCheckResult )
             {
                 sb.append( " --> " );
                 sb.append( mavenProject.getId() );
-                sb.append( SystemUtils.LINE_SEPARATOR );
+                sb.append( System.lineSeparator() );
             }
             throw new EnforcerRuleException( "The reactor contains different versions." + sb.toString() );
         }
@@ -215,7 +215,7 @@ public class ReactorModuleConvergence
 
     private List<MavenProject> areParentsFromTheReactor( String reactorVersion, List<MavenProject> sortedProjects )
     {
-        List<MavenProject> result = new ArrayList<MavenProject>();
+        List<MavenProject> result = new ArrayList<>();
 
         for ( MavenProject mavenProject : sortedProjects )
         {
@@ -244,7 +244,7 @@ public class ReactorModuleConvergence
 
     private List<MavenProject> existParentsWhichAreNotPartOfTheReactor( List<MavenProject> sortedProjects )
     {
-        List<MavenProject> result = new ArrayList<MavenProject>();
+        List<MavenProject> result = new ArrayList<>();
 
         for ( MavenProject mavenProject : sortedProjects )
         {
@@ -316,7 +316,7 @@ public class ReactorModuleConvergence
      */
     private List<MavenProject> existModulesWithoutParentsInReactor( List<MavenProject> sortedProjects )
     {
-        List<MavenProject> result = new ArrayList<MavenProject>();
+        List<MavenProject> result = new ArrayList<>();
 
         for ( MavenProject mavenProject : sortedProjects )
         {
@@ -353,14 +353,14 @@ public class ReactorModuleConvergence
             List<Dependency> list = result.get( project );
             if ( list == null )
             {
-                list = new ArrayList<Dependency>();
+                list = new ArrayList<>();
             }
             list.add( dependency );
             result.put( project, list );
         }
         else
         {
-            List<Dependency> list = new ArrayList<Dependency>();
+            List<Dependency> list = new ArrayList<>();
             list.add( dependency );
             result.put( project, list );
         }
@@ -380,7 +380,7 @@ public class ReactorModuleConvergence
                                                                                                  List<MavenProject> sortedProjects )
     // CHECKSTYLE_ON: LineLength
     {
-        Map<MavenProject, List<Dependency>> result = new HashMap<MavenProject, List<Dependency>>();
+        Map<MavenProject, List<Dependency>> result = new HashMap<>();
         for ( MavenProject mavenProject : sortedProjects )
         {
             logger.debug( "Project: " + mavenProject.getId() );
@@ -425,7 +425,7 @@ public class ReactorModuleConvergence
      */
     private List<MavenProject> isReactorVersionConsistent( List<MavenProject> projectList )
     {
-        List<MavenProject> result = new ArrayList<MavenProject>();
+        List<MavenProject> result = new ArrayList<>();
 
         if ( projectList != null && !projectList.isEmpty() )
         {
@@ -473,8 +473,8 @@ public class ReactorModuleConvergence
         if ( !StringUtils.isEmpty( getMessage() ) )
         {
             sb.append( getMessage() );
-            sb.append( SystemUtils.LINE_SEPARATOR );
+            sb.append( System.lineSeparator() );
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireActiveProfile.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireActiveProfile.java
index 919f304..31fde9c 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireActiveProfile.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireActiveProfile.java
@@ -76,7 +76,7 @@ public class RequireActiveProfile
     public void execute( EnforcerRuleHelper theHelper )
         throws EnforcerRuleException
     {
-        List<String> missingProfiles = new ArrayList<String>();
+        List<String> missingProfiles = new ArrayList<>();
         try
         {
             MavenProject project = (MavenProject) theHelper.evaluate( "${project}" );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireFileChecksum.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireFileChecksum.java
index 1a4c160..bbed9e7 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireFileChecksum.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireFileChecksum.java
@@ -27,7 +27,6 @@ import java.io.InputStream;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
-import org.codehaus.plexus.util.IOUtil;
 
 /**
  * Rule to validate a file to match the specified checksum.
@@ -144,10 +143,8 @@ public class RequireFileChecksum
     private String calculateChecksum()
         throws EnforcerRuleException
     {
-        InputStream inputStream = null;
-        try
+        try ( InputStream inputStream = new FileInputStream( this.file ) )
         {
-            inputStream = new FileInputStream( this.file );
             String checksum;
             if ( "md5".equals( this.type ) )
             {
@@ -179,9 +176,5 @@ public class RequireFileChecksum
         {
             throw new EnforcerRuleException( "Unable to calculate checksum", e );
         }
-        finally
-        {
-            IOUtil.close( inputStream );
-        }
     }
 }
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireJavaVersion.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireJavaVersion.java
index 5e497b3..4076ac8 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireJavaVersion.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireJavaVersion.java
@@ -71,12 +71,12 @@ public class RequireJavaVersion
         theJdkVersion = theJdkVersion.replaceAll( "_|-", "." );
         String tokenArray[] = StringUtils.split( theJdkVersion, "." );
         List<String> tokens = Arrays.asList( tokenArray );
-        StringBuffer buffer = new StringBuffer( theJdkVersion.length() );
+        StringBuilder buffer = new StringBuilder( theJdkVersion.length() );
 
         Iterator<String> iter = tokens.iterator();
         for ( int i = 0; i < tokens.size() && i < 4; i++ )
         {
-            String section = (String) iter.next();
+            String section = iter.next();
             section = section.replaceAll( "[^0-9]", "" );
 
             if ( StringUtils.isNotEmpty( section ) )
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireNoRepositories.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireNoRepositories.java
index c4a25a4..23a21dd 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireNoRepositories.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireNoRepositories.java
@@ -130,7 +130,7 @@ public class RequireNoRepositories
 
             List<MavenProject> sortedProjects = session.getProjectDependencyGraph().getSortedProjects();
 
-            List<Model> models = new ArrayList<Model>();
+            List<Model> models = new ArrayList<>();
             for ( MavenProject mavenProject : sortedProjects )
             {
                 logger.debug( "Scanning project: " + mavenProject.getGroupId() + ":" + mavenProject.getArtifactId()
@@ -138,7 +138,7 @@ public class RequireNoRepositories
                 models.add( mavenProject.getOriginalModel() );
             }
             
-            List<Model> badModels = new ArrayList<Model>();
+            List<Model> badModels = new ArrayList<>();
 
             StringBuilder newMsg = new StringBuilder();
             newMsg.append( "Some poms have repositories defined:" + System.lineSeparator() );
@@ -209,7 +209,7 @@ public class RequireNoRepositories
     private static List<String> findBannedRepositories( List<Repository> repos, List<String> allowedRepos,
                                                         boolean allowSnapshots )
     {
-        List<String> bannedRepos = new ArrayList<String>( allowedRepos.size() );
+        List<String> bannedRepos = new ArrayList<>( allowedRepos.size() );
         for ( Repository r : repos )
         {
             if ( !allowedRepos.contains( r.getId() ) )
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireOS.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireOS.java
index 3bf051e..abc4c36 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireOS.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireOS.java
@@ -384,7 +384,7 @@ public class RequireOS
     public String getCacheId()
     {
         // return the hashcodes of all the parameters
-        StringBuffer b = new StringBuffer();
+        StringBuilder b = new StringBuilder();
         if ( StringUtils.isNotEmpty( version ) )
         {
             b.append( version.hashCode() );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
index 1570adc..c96793b 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
@@ -195,16 +195,16 @@ public class RequirePluginVersions
 
             project = (MavenProject) helper.evaluate( "${project}" );
             LifecycleExecutor life;
-            life = (LifecycleExecutor) helper.getComponent( LifecycleExecutor.class );
+            life = helper.getComponent( LifecycleExecutor.class );
 
             Object defaultLifeCycles = ReflectionUtils.getValueIncludingSuperclasses( "defaultLifeCycles", life );
             Map lifecyclesMap = (Map) ReflectionUtils.getValueIncludingSuperclasses( "lifecycles", defaultLifeCycles );
             lifecycles = lifecyclesMap.values();
 
             session = (MavenSession) helper.evaluate( "${session}" );
-            pluginManager = (PluginManager) helper.getComponent( PluginManager.class );
-            factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
-            resolver = (ArtifactResolver) helper.getComponent( ArtifactResolver.class );
+            pluginManager = helper.getComponent( PluginManager.class );
+            factory = helper.getComponent( ArtifactFactory.class );
+            resolver = helper.getComponent( ArtifactResolver.class );
             local = (ArtifactRepository) helper.evaluate( "${localRepository}" );
             remoteRepositories = project.getRemoteArtifactRepositories();
 
@@ -265,35 +265,7 @@ public class RequirePluginVersions
         {
             throw new EnforcerRuleException( "Unable to lookup a component:" + e.getLocalizedMessage() );
         }
-        catch ( IllegalAccessException e )
-        {
-            throw new EnforcerRuleException( e.getLocalizedMessage() );
-        }
-        catch ( LifecycleExecutionException e )
-        {
-            throw new EnforcerRuleException( e.getLocalizedMessage() );
-        }
-        catch ( PluginNotFoundException e )
-        {
-            throw new EnforcerRuleException( e.getLocalizedMessage() );
-        }
-        catch ( ArtifactResolutionException e )
-        {
-            throw new EnforcerRuleException( e.getLocalizedMessage() );
-        }
-        catch ( ArtifactNotFoundException e )
-        {
-            throw new EnforcerRuleException( e.getLocalizedMessage() );
-        }
-        catch ( IOException e )
-        {
-            throw new EnforcerRuleException( e.getLocalizedMessage() );
-        }
-        catch ( XmlPullParserException e )
-        {
-            throw new EnforcerRuleException( e.getLocalizedMessage() );
-        }
-        catch ( MojoExecutionException e )
+        catch ( Exception e )
         {
             throw new EnforcerRuleException( e.getLocalizedMessage() );
         }
@@ -437,7 +409,7 @@ public class RequirePluginVersions
 
                 if ( existing == null )
                 {
-                    existing = new HashSet<Plugin>();
+                    existing = new HashSet<>();
                     existing.add( plugin );
                 }
                 else if ( !existing.contains( plugin ) )
@@ -491,7 +463,7 @@ public class RequirePluginVersions
      */
     public Set<Plugin> getProfilePlugins( MavenProject project )
     {
-        Set<Plugin> result = new HashSet<Plugin>();
+        Set<Plugin> result = new HashSet<>();
         List<Profile> profiles = project.getActiveProfiles();
         if ( profiles != null && !profiles.isEmpty() )
         {
@@ -559,11 +531,7 @@ public class RequirePluginVersions
             this.resolver.resolve( artifact, pluginRepositories, this.local );
             plugin.setVersion( artifact.getVersion() );
         }
-        catch ( ArtifactResolutionException e )
-        {
-            // What does this mean?
-        }
-        catch ( ArtifactNotFoundException e )
+        catch ( ArtifactResolutionException | ArtifactNotFoundException e )
         {
             // What does this mean?
         }
@@ -587,7 +555,7 @@ public class RequirePluginVersions
         throws PluginNotFoundException, LifecycleExecutionException, IllegalAccessException
     {
 
-        Set<Plugin> allPlugins = new HashSet<Plugin>();
+        Set<Plugin> allPlugins = new HashSet<>();
 
         // lookup the bindings for all the passed in phases
         String[] lifecyclePhases = thePhases.split( "," );
@@ -731,7 +699,7 @@ public class RequirePluginVersions
     {
         log.debug( "RequirePluginVersions.getAllPlugins:" );
 
-        Set<Plugin> plugins = new HashSet<Plugin>();
+        Set<Plugin> plugins = new HashSet<>();
         // first, bind those associated with the packaging
         Map<String, String> mappings = findMappingsForLifecycle( project, lifecycle );
 
@@ -789,7 +757,7 @@ public class RequirePluginVersions
     {
         if ( phaseToLifecycleMap == null )
         {
-            phaseToLifecycleMap = new HashMap<String, Lifecycle>();
+            phaseToLifecycleMap = new HashMap<>();
 
             for ( Lifecycle lifecycle : lifecycles )
             {
@@ -825,7 +793,7 @@ public class RequirePluginVersions
     private Lifecycle getLifecycleForPhase( String phase )
         throws BuildFailureException, LifecycleExecutionException
     {
-        Lifecycle lifecycle = (Lifecycle) getPhaseToLifecycleMap().get( phase );
+        Lifecycle lifecycle = getPhaseToLifecycleMap().get( phase );
 
         if ( lifecycle == null )
         {
@@ -918,7 +886,7 @@ public class RequirePluginVersions
         {
             try
             {
-                m = (LifecycleMapping) helper.getComponent( LifecycleMapping.class, packaging );
+                m = helper.getComponent( LifecycleMapping.class, packaging );
                 optionalMojos = m.getOptionalMojos( lifecycle.getId() );
             }
             catch ( ComponentLookupException e )
@@ -1013,27 +981,8 @@ public class RequirePluginVersions
             throw new LifecycleExecutionException( "Internal error in the plugin manager getting plugin '"
                 + plugin.getKey() + "': " + e.getMessage(), e );
         }
-        catch ( PluginVersionResolutionException e )
-        {
-            throw new LifecycleExecutionException( e.getMessage(), e );
-        }
-        catch ( InvalidVersionSpecificationException e )
-        {
-            throw new LifecycleExecutionException( e.getMessage(), e );
-        }
-        catch ( InvalidPluginException e )
-        {
-            throw new LifecycleExecutionException( e.getMessage(), e );
-        }
-        catch ( ArtifactNotFoundException e )
-        {
-            throw new LifecycleExecutionException( e.getMessage(), e );
-        }
-        catch ( ArtifactResolutionException e )
-        {
-            throw new LifecycleExecutionException( e.getMessage(), e );
-        }
-        catch ( PluginVersionNotFoundException e )
+        catch ( PluginVersionResolutionException | InvalidVersionSpecificationException | InvalidPluginException
+            | ArtifactNotFoundException | ArtifactResolutionException | PluginVersionNotFoundException e )
         {
             throw new LifecycleExecutionException( e.getMessage(), e );
         }
@@ -1054,7 +1003,7 @@ public class RequirePluginVersions
     protected List<PluginWrapper> getAllPluginEntries( MavenProject project )
         throws ArtifactResolutionException, ArtifactNotFoundException, IOException, XmlPullParserException
     {
-        List<Model> models = new ArrayList<Model>();
+        List<Model> models = new ArrayList<>();
 
         List<MavenProject> sortedProjects = session.getProjectDependencyGraph().getSortedProjects();
 
@@ -1068,7 +1017,7 @@ public class RequirePluginVersions
             models.add( mavenProject.getOriginalModel() );
         }
 
-        List<PluginWrapper> plugins = new ArrayList<PluginWrapper>();
+        List<PluginWrapper> plugins = new ArrayList<>();
         // now find all the plugin entries, either in
         // build.plugins or build.pluginManagement.plugins, profiles.plugins and reporting
         for ( Model model : models )
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireProfileIdsExist.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireProfileIdsExist.java
index d595497..e213b08 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireProfileIdsExist.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireProfileIdsExist.java
@@ -45,7 +45,7 @@ public class RequireProfileIdsExist extends AbstractNonCacheableEnforcerRule
         {
             MavenSession session = (MavenSession) helper.evaluate( "${session}" );
 
-            List<String> profileIds = new ArrayList<String>();
+            List<String> profileIds = new ArrayList<>();
             profileIds.addAll( session.getProjectBuildingRequest().getActiveProfileIds() );
             profileIds.addAll( session.getProjectBuildingRequest().getInactiveProfileIds() );
 
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireReleaseDeps.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireReleaseDeps.java
index 86aff84..888cfd8 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireReleaseDeps.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireReleaseDeps.java
@@ -140,7 +140,7 @@ public class RequireReleaseDeps
     protected Set<Artifact> checkDependencies( Set<Artifact> dependencies, Log log )
         throws EnforcerRuleException
     {
-        Set<Artifact> foundSnapshots = new HashSet<Artifact>();
+        Set<Artifact> foundSnapshots = new HashSet<>();
 
         Set<Artifact> filteredDependencies = filterArtifacts( dependencies );
         
@@ -179,7 +179,7 @@ public class RequireReleaseDeps
             filter.add( new StrictPatternExcludesArtifactFilter( excludes ) );
         }
         
-        Set<Artifact> result = new HashSet<Artifact>();
+        Set<Artifact> result = new HashSet<>();
         for ( Artifact artifact : dependencies )
         {
             if ( filter.include( artifact ) )
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireReleaseVersion.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireReleaseVersion.java
index 2a682d5..fd6c6fd 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireReleaseVersion.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireReleaseVersion.java
@@ -54,7 +54,7 @@ public class RequireReleaseVersion
         if ( project.getArtifact().isSnapshot() )
         {
             String message = getMessage();
-            StringBuffer buf = new StringBuffer();
+            StringBuilder buf = new StringBuilder();
             if ( message != null )
             {
                 buf.append( message ).append( System.lineSeparator() );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireSameVersions.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireSameVersions.java
index d247ec6..d50caba 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireSameVersions.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireSameVersions.java
@@ -43,20 +43,20 @@ public class RequireSameVersions
 {
     private boolean uniqueVersions;
 
-    private Set<String> dependencies = new HashSet<String>();
+    private Set<String> dependencies = new HashSet<>();
 
-    private Set<String> plugins = new HashSet<String>();
+    private Set<String> plugins = new HashSet<>();
 
-    private Set<String> buildPlugins = new HashSet<String>();
+    private Set<String> buildPlugins = new HashSet<>();
 
-    private Set<String> reportPlugins = new HashSet<String>();
+    private Set<String> reportPlugins = new HashSet<>();
 
     @Override
     public void execute( EnforcerRuleHelper helper )
         throws EnforcerRuleException
     {
         // get the project
-        MavenProject project = null;
+        MavenProject project;
         try
         {
             project = (MavenProject) helper.evaluate( "${project}" );
@@ -67,11 +67,11 @@ public class RequireSameVersions
         }
 
         // consider including profile based artifacts
-        Map<String, List<String>> versionMembers = new LinkedHashMap<String, List<String>>();
+        Map<String, List<String>> versionMembers = new LinkedHashMap<>();
 
-        Set<String> buildPluginSet = new HashSet<String>( buildPlugins );
+        Set<String> buildPluginSet = new HashSet<>( buildPlugins );
         buildPluginSet.addAll( plugins );
-        Set<String> reportPluginSet = new HashSet<String>( reportPlugins );
+        Set<String> reportPluginSet = new HashSet<>( reportPlugins );
         reportPluginSet.addAll( plugins );
 
         // CHECKSTYLE_OFF: LineLength
@@ -99,9 +99,9 @@ public class RequireSameVersions
     private Map<String, List<String>> collectVersionMembers( Set<Artifact> artifacts, Collection<String> patterns,
                                                              String source )
     {
-        Map<String, List<String>> versionMembers = new LinkedHashMap<String, List<String>>();
+        Map<String, List<String>> versionMembers = new LinkedHashMap<>();
 
-        List<Pattern> regExs = new ArrayList<Pattern>();
+        List<Pattern> regExs = new ArrayList<>();
         for ( String pattern : patterns )
         {
             String regex = pattern.replace( ".", "\\." ).replace( "*", ".*" ).replace( ":", "\\:" ).replace( '?', '.' );
@@ -128,4 +128,4 @@ public class RequireSameVersions
         return versionMembers;
     }
 
-}
\ No newline at end of file
+}
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
index 458554a..348d056 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
@@ -106,13 +106,11 @@ public class RequireUpperBoundDeps
         try
         {
             MavenProject project = (MavenProject) helper.evaluate( "${project}" );
-            DependencyTreeBuilder dependencyTreeBuilder =
-                (DependencyTreeBuilder) helper.getComponent( DependencyTreeBuilder.class );
+            DependencyTreeBuilder dependencyTreeBuilder = helper.getComponent( DependencyTreeBuilder.class );
             ArtifactRepository repository = (ArtifactRepository) helper.evaluate( "${localRepository}" );
-            ArtifactFactory factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
-            ArtifactMetadataSource metadataSource =
-                (ArtifactMetadataSource) helper.getComponent( ArtifactMetadataSource.class );
-            ArtifactCollector collector = (ArtifactCollector) helper.getComponent( ArtifactCollector.class );
+            ArtifactFactory factory = helper.getComponent( ArtifactFactory.class );
+            ArtifactMetadataSource metadataSource = helper.getComponent( ArtifactMetadataSource.class );
+            ArtifactCollector collector = helper.getComponent( ArtifactCollector.class );
             ArtifactFilter filter = null; // we need to evaluate all scopes
             DependencyNode node =
                 dependencyTreeBuilder.buildDependencyTree( project, repository, factory, metadataSource, filter,
@@ -162,7 +160,7 @@ public class RequireUpperBoundDeps
 
     private List<String> buildErrorMessages( List<List<DependencyNode>> conflicts )
     {
-        List<String> errorMessages = new ArrayList<String>( conflicts.size() );
+        List<String> errorMessages = new ArrayList<>( conflicts.size() );
         for ( List<DependencyNode> conflict : conflicts )
         {
             Artifact artifact = conflict.get( 0 ).getArtifact();
@@ -198,7 +196,7 @@ public class RequireUpperBoundDeps
 
     private StringBuilder buildTreeString( DependencyNode node )
     {
-        List<String> loc = new ArrayList<String>();
+        List<String> loc = new ArrayList<>();
         DependencyNode currentNode = node;
         while ( currentNode != null )
         {
@@ -251,7 +249,7 @@ public class RequireUpperBoundDeps
         }
 
         private Map<String, List<DependencyNodeHopCountPair>> keyToPairsMap =
-            new LinkedHashMap<String, List<DependencyNodeHopCountPair>>();
+            new LinkedHashMap<>();
 
         public boolean visit( DependencyNode node )
         {
@@ -260,7 +258,7 @@ public class RequireUpperBoundDeps
             List<DependencyNodeHopCountPair> pairs = keyToPairsMap.get( key );
             if ( pairs == null )
             {
-                pairs = new ArrayList<DependencyNodeHopCountPair>();
+                pairs = new ArrayList<>();
                 keyToPairsMap.put( key, pairs );
             }
             pairs.add( pair );
@@ -275,12 +273,12 @@ public class RequireUpperBoundDeps
 
         public List<List<DependencyNode>> getConflicts()
         {
-            List<List<DependencyNode>> output = new ArrayList<List<DependencyNode>>();
+            List<List<DependencyNode>> output = new ArrayList<>();
             for ( List<DependencyNodeHopCountPair> pairs : keyToPairsMap.values() )
             {
                 if ( containsConflicts( pairs ) )
                 {
-                    List<DependencyNode> outputSubList = new ArrayList<DependencyNode>( pairs.size() );
+                    List<DependencyNode> outputSubList = new ArrayList<>( pairs.size() );
                     for ( DependencyNodeHopCountPair pair : pairs )
                     {
                         outputSubList.add( pair.getNode() );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactMatcher.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactMatcher.java
index 10be58e..ff5803b 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactMatcher.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactMatcher.java
@@ -156,9 +156,9 @@ public final class ArtifactMatcher
         }
     }
 
-    private Collection<Pattern> patterns = new LinkedList<Pattern>();
+    private Collection<Pattern> patterns = new LinkedList<>();
 
-    private Collection<Pattern> ignorePatterns = new LinkedList<Pattern>();
+    private Collection<Pattern> ignorePatterns = new LinkedList<>();
 
     /**
      * Construct class by providing patterns as strings. Empty strings are ignored.
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactUtils.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactUtils.java
index a839613..b9a04af 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactUtils.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/ArtifactUtils.java
@@ -46,7 +46,7 @@ public final class ArtifactUtils
         Set<Artifact> children = null;
         if ( node.getChildren() != null )
         {
-            children = new HashSet<Artifact>();
+            children = new HashSet<>();
             for ( DependencyNode depNode : node.getChildren() )
             {
                 children.add( depNode.getArtifact() );
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
index b6213fa..b280760 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
@@ -42,7 +42,7 @@ public class DependencyVersionMap
 
     public DependencyVersionMap( Log log )
     {
-        idsToNode = new HashMap<String, List<DependencyNode>>();
+        idsToNode = new HashMap<>();
     }
     
     public void setUniqueVersions( boolean uniqueVersions )
@@ -79,7 +79,7 @@ public class DependencyVersionMap
         List<DependencyNode> nodes = idsToNode.get( key );
         if ( nodes == null )
         {
-            nodes = new ArrayList<DependencyNode>();
+            nodes = new ArrayList<>();
             idsToNode.put( key, nodes );
         }
         nodes.add( node );
@@ -122,7 +122,7 @@ public class DependencyVersionMap
 
     public List<List<DependencyNode>> getConflictedVersionNumbers()
     {
-        List<List<DependencyNode>> output = new ArrayList<List<DependencyNode>>();
+        List<List<DependencyNode>> output = new ArrayList<>();
         for ( List<DependencyNode> nodes : idsToNode.values() )
         {
             if ( containsConflicts( nodes ) )
@@ -132,4 +132,4 @@ public class DependencyVersionMap
         }
         return output;
     }
-}
\ No newline at end of file
+}
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
index ef6a38c..00b56b4 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
@@ -91,17 +91,12 @@ public class EnforcerRuleUtils
         // helper.
         try
         {
-            resolver = (ArtifactResolver) helper.getComponent( ArtifactResolver.class );
+            resolver = helper.getComponent( ArtifactResolver.class );
             local = (ArtifactRepository) helper.evaluate( "${localRepository}" );
             project = (MavenProject) helper.evaluate( "${project}" );
             remoteRepositories = project.getRemoteArtifactRepositories();
         }
-        catch ( ComponentLookupException e )
-        {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-        catch ( ExpressionEvaluationException e )
+        catch ( ComponentLookupException | ExpressionEvaluationException e )
         {
             // TODO Auto-generated catch block
             e.printStackTrace();
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/PluginWrapper.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/PluginWrapper.java
index 4d36639..30690c4 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/PluginWrapper.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/PluginWrapper.java
@@ -45,7 +45,7 @@ public class PluginWrapper
 
         if ( !plugins.isEmpty() )
         {
-            results = new ArrayList<PluginWrapper>( plugins.size() );
+            results = new ArrayList<>( plugins.size() );
             for ( Object o : plugins )
             {
                 if ( o instanceof Plugin )
diff --git a/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java b/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java
index 19bea99..77fad8d 100644
--- a/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java
+++ b/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/EnforceMojo.java
@@ -59,7 +59,7 @@ public class EnforceMojo
     /**
      * This is a static variable used to persist the cached results across plugin invocations.
      */
-    protected static Hashtable<String, EnforcerRule> cache = new Hashtable<String, EnforcerRule>();
+    protected static Hashtable<String, EnforcerRule> cache = new Hashtable<>();
 
     /**
      * MojoExecution needed by the ExpressionEvaluator
@@ -164,7 +164,7 @@ public class EnforceMojo
         }
 
         // list to store exceptions
-        List<String> list = new ArrayList<String>();
+        List<String> list = new ArrayList<>();
 
         String currentRule = "Unknown";