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

rfscholte pushed a commit to branch MSHARED-830
in repository https://gitbox.apache.org/repos/asf/maven-filtering.git

commit 0f4f3eda5b59a303f9657f1e38bff8e54956d377
Author: rfscholte <[email protected]>
AuthorDate: Fri Jun 14 13:32:34 2019 +0200

    [MSHARED-830] Require Java 7
---
 pom.xml                                            |   3 +-
 .../filtering/AbstractFilterReaderLineEnding.java  |   2 +-
 .../filtering/AbstractMavenFilteringRequest.java   |  26 ++---
 .../apache/maven/shared/filtering/BaseFilter.java  |  28 ++---
 .../shared/filtering/DefaultMavenFileFilter.java   |  26 ++---
 .../shared/filtering/DefaultMavenReaderFilter.java |   6 +-
 .../filtering/DefaultMavenResourcesFiltering.java  |  20 ++--
 .../maven/shared/filtering/FilteringUtils.java     |   2 +-
 .../InterpolatorFilterReaderLineEnding.java        |   3 +
 .../shared/filtering/MavenFileFilterRequest.java   |   4 +-
 .../shared/filtering/MavenFilteringException.java  |   4 +-
 .../shared/filtering/MavenResourcesExecution.java  |  17 ++--
 ...elimiterInterpolatorFilterReaderLineEnding.java |   3 +
 .../maven/shared/filtering/PropertyUtils.java      |  14 +--
 .../AbstractMavenFilteringRequestTest.java         |  12 +--
 .../maven/shared/filtering/BoundedReaderTest.java  |  76 ++++++++------
 .../filtering/DefaultMavenFileFilterTest.java      |   5 +-
 .../DefaultMavenResourcesFilteringTest.java        | 108 +++++++-------------
 .../maven/shared/filtering/EscapeStringTest.java   |  20 ++--
 .../IncrementalResourceFilteringTest.java          |  25 ++---
 .../maven/shared/filtering/InvalidMarkTest.java    |   1 +
 .../MuliLinesMavenResourcesFilteringTest.java      |  17 +---
 ...iterInterpolatorFilterReaderLineEndingTest.java |   5 +-
 .../maven/shared/filtering/PropertyUtilsTest.java  |  58 +++++------
 .../maven/shared/filtering/StubMavenProject.java   |   2 +
 .../maven/shared/filtering/StubMavenSession.java   |   3 +
 .../shared/filtering/TestReflectionProperties.java | 113 +++++++++------------
 27 files changed, 275 insertions(+), 328 deletions(-)

diff --git a/pom.xml b/pom.xml
index 9219b59..e633e74 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
     <groupId>org.apache.maven.shared</groupId>
     <artifactId>maven-shared-components</artifactId>
     <version>33</version>
-    
<relativePath>../../pom/maven/maven-shared-components/pom.xml</relativePath>
+    <relativePath></relativePath>
   </parent>
 
   <artifactId>maven-filtering</artifactId>
@@ -56,6 +56,7 @@
 
   <properties>
     <mavenVersion>3.0</mavenVersion>
+    <javaVersion>7</javaVersion>
   </properties>
 
   <contributors>
diff --git 
a/src/main/java/org/apache/maven/shared/filtering/AbstractFilterReaderLineEnding.java
 
b/src/main/java/org/apache/maven/shared/filtering/AbstractFilterReaderLineEnding.java
index 44f92a4..8efad6d 100644
--- 
a/src/main/java/org/apache/maven/shared/filtering/AbstractFilterReaderLineEnding.java
+++ 
b/src/main/java/org/apache/maven/shared/filtering/AbstractFilterReaderLineEnding.java
@@ -44,7 +44,7 @@ public abstract class AbstractFilterReaderLineEnding
      */
     private boolean preserveEscapeString = false;
 
-    protected LinkedHashSet<DelimiterSpecification> delimiters = new 
LinkedHashSet<DelimiterSpecification>();
+    protected LinkedHashSet<DelimiterSpecification> delimiters = new 
LinkedHashSet<>();
 
     /**
      * must always be bigger than escape string plus delimiters, but doesn't 
need to be exact
diff --git 
a/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java
 
b/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java
index 121aafa..0b10ab8 100644
--- 
a/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java
+++ 
b/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java
@@ -47,7 +47,7 @@ public class AbstractMavenFilteringRequest
      *
      * @since 1.0-beta-2
      */
-    private List<String> projectStartExpressions = new ArrayList<String>();
+    private List<String> projectStartExpressions = new ArrayList<>();
 
     /**
      * String which will escape interpolation mechanism: foo \${foo.bar} -> 
foo ${foo.bar}
@@ -69,10 +69,10 @@ public class AbstractMavenFilteringRequest
     /**
      * Set of expression delimiter specifications to use during filtering. 
Delimiter specifications are given in the
      * form 'BEGIN*END' or, for symmetrical delimiters, simply 'TOKEN'. The 
default values are '${*}' and '@'.
-     * 
+     *
      * @since 1.0-beta-3
      */
-    private LinkedHashSet<String> delimiters = new LinkedHashSet<String>();
+    private LinkedHashSet<String> delimiters = new LinkedHashSet<>();
 
     /**
      * Do not stop trying to filter tokens when reaching EOL.
@@ -91,7 +91,7 @@ public class AbstractMavenFilteringRequest
 
     /**
      * Create instance with given parameters
-     * 
+     *
      * @param mavenProject The instance of MavenProject.
      * @param filters The list of filters.
      * @param mavenSession The MavenSession.
@@ -124,7 +124,7 @@ public class AbstractMavenFilteringRequest
 
     /**
      * Set the MavenProject.
-     * 
+     *
      * @param mavenProject The MavenProject to be set.
      */
     public void setMavenProject( MavenProject mavenProject )
@@ -134,7 +134,7 @@ public class AbstractMavenFilteringRequest
 
     /**
      * The list of filters.
-     * 
+     *
      * @return The list of currently set filters.
      */
     public List<String> getFilters()
@@ -144,7 +144,7 @@ public class AbstractMavenFilteringRequest
 
     /**
      * Set the filters.
-     * 
+     *
      * @param filters Set the list of filters
      */
     public void setFilters( List<String> filters )
@@ -154,7 +154,7 @@ public class AbstractMavenFilteringRequest
 
     /**
      * Alias for {@link #getFilters()}.
-     * 
+     *
      * @return The list of filters.
      */
     public List<String> getFileFilters()
@@ -164,7 +164,7 @@ public class AbstractMavenFilteringRequest
 
     /**
      * Alias for {@link #setFilters(List)}
-     * 
+     *
      * @param paramfilters The list of filters to be set.
      */
     public void setFileFilters( List<String> paramfilters )
@@ -192,7 +192,7 @@ public class AbstractMavenFilteringRequest
 
     /**
      * Alias for {@link #isEscapeWindowsPaths()}
-     * 
+     *
      * @return The current value of {@link #isEscapeWindowsPaths()}
      */
     public boolean isEscapedBackslashesInFilePath()
@@ -202,7 +202,7 @@ public class AbstractMavenFilteringRequest
 
     /**
      * Alias for {@link #setEscapeWindowsPaths(boolean)}
-     * 
+     *
      * @param escape activate or deactivate escaping.
      */
     public void setEscapedBackslashesInFilePath( boolean escape )
@@ -313,7 +313,7 @@ public class AbstractMavenFilteringRequest
      * Set the delimiter specifications to use during filtering. 
Specifications should be of the form: 'BEGIN*END' for
      * asymmetrical delimiters, or 'TOKEN' for symmetrical delimiters. See
      * {@link AbstractMavenFilteringRequest#delimiters} for more information 
and default values.
-     * 
+     *
      * @param delimiters If <code>null</code>, reset delimiters to '${*}' 
only. Otherwise, use the provided value.
      * @since 1.0-beta-3
      */
@@ -339,7 +339,7 @@ public class AbstractMavenFilteringRequest
     {
         if ( delimiters != null && !delimiters.isEmpty() )
         {
-            LinkedHashSet<String> delims = new LinkedHashSet<String>();
+            LinkedHashSet<String> delims = new LinkedHashSet<>();
             if ( useDefaultDelimiters )
             {
                 delims.addAll( this.getDelimiters() );
diff --git a/src/main/java/org/apache/maven/shared/filtering/BaseFilter.java 
b/src/main/java/org/apache/maven/shared/filtering/BaseFilter.java
index 63a3966..937d5d2 100644
--- a/src/main/java/org/apache/maven/shared/filtering/BaseFilter.java
+++ b/src/main/java/org/apache/maven/shared/filtering/BaseFilter.java
@@ -19,6 +19,17 @@ package org.apache.maven.shared.filtering;
  * under the License.
  */
 
+import java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Properties;
+
+import javax.annotation.Nonnull;
+
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.settings.Settings;
@@ -36,22 +47,12 @@ import org.codehaus.plexus.interpolation.ValueSource;
 import 
org.codehaus.plexus.interpolation.multi.MultiDelimiterStringSearchInterpolator;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Properties;
-
-import javax.annotation.Nonnull;
-
 class BaseFilter
     extends AbstractLogEnabled
     implements DefaultFilterInfo
 {
 
+    @Override
     @Nonnull
     public List<FileUtils.FilterWrapper> getDefaultFilterWrappers( final 
MavenProject mavenProject,
                                                                    
List<String> filters,
@@ -73,6 +74,7 @@ class BaseFilter
 
     }
 
+    @Override
     @Nonnull
     public List<FileUtils.FilterWrapper> getDefaultFilterWrappers( final 
AbstractMavenFilteringRequest req )
         throws MavenFilteringException
@@ -134,7 +136,7 @@ class BaseFilter
         {
             if ( request.isInjectProjectBuildFilters() )
             {
-                List<String> buildFilters = new ArrayList<String>( 
request.getMavenProject().getBuild().getFilters() );
+                List<String> buildFilters = new ArrayList<>( 
request.getMavenProject().getBuild().getFilters() );
 
                 // JDK-8015656: (coll) unexpected NPE from removeAll
                 if ( request.getFileFilters() != null )
@@ -255,6 +257,7 @@ class BaseFilter
             this.supportMultiLineFiltering = supportMultiLineFiltering;
         }
 
+        @Override
         public Reader getReader( Reader reader )
         {
             Interpolator interpolator = createInterpolator( delimiters, 
projectStartExpressions, propertiesValueSource,
@@ -319,6 +322,7 @@ class BaseFilter
         {
             interpolator.addPostProcessor( new InterpolationPostProcessor()
             {
+                @Override
                 public Object execute( String expression, Object value )
                 {
                     if ( value instanceof String )
diff --git 
a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java 
b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
index 1648db5..86b90ed 100644
--- 
a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
+++ 
b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
@@ -62,7 +62,7 @@ public class DefaultMavenFileFilter
     @Requirement
     private BuildContext buildContext;
 
-    /** {@inheritDoc} */
+    @Override
     public void copyFile( File from, File to, boolean filtering, MavenProject 
mavenProject, List<String> filters,
                           boolean escapedBackslashesInFilePath, String 
encoding, MavenSession mavenSession )
                               throws MavenFilteringException
@@ -78,7 +78,7 @@ public class DefaultMavenFileFilter
         copyFile( from, to, filtering, filterWrappers, encoding );
     }
 
-    /** {@inheritDoc} */
+    @Override
     public void copyFile( MavenFileFilterRequest mavenFileFilterRequest )
         throws MavenFilteringException
     {
@@ -88,7 +88,7 @@ public class DefaultMavenFileFilter
                   mavenFileFilterRequest.isFiltering(), filterWrappers, 
mavenFileFilterRequest.getEncoding() );
     }
 
-    /** {@inheritDoc} */
+    @Override
     public void copyFile( File from, File to, boolean filtering, 
List<FileUtils.FilterWrapper> filterWrappers,
                           String encoding )
                               throws MavenFilteringException
@@ -97,7 +97,7 @@ public class DefaultMavenFileFilter
         copyFile( from, to, filtering, filterWrappers, encoding, false );
     }
 
-    /** {@inheritDoc} */
+    @Override
     public void copyFile( File from, File to, boolean filtering, 
List<FileUtils.FilterWrapper> filterWrappers,
                           String encoding, boolean overwrite )
                               throws MavenFilteringException
@@ -136,24 +136,14 @@ public class DefaultMavenFileFilter
     {
         if ( wrappers != null && wrappers.size() > 0 )
         {
-            Reader fileReader = null;
-            Writer fileWriter = null;
-            try
+            
+            
+            try ( Reader fileReader = getFileReader( encoding, from );
+                  Writer fileWriter = getFileWriter( encoding, to ) )
             {
-                fileReader = getFileReader( encoding, from );
-                fileWriter = getFileWriter( encoding, to );
                 Reader src = readerFilter.filter( fileReader, true, wrappers );
 
                 IOUtil.copy( src, fileWriter );
-                fileReader.close();
-                fileReader = null;
-                fileWriter.close();
-                fileWriter = null;
-            }
-            finally
-            {
-                IOUtil.close( fileReader );
-                IOUtil.close( fileWriter );
             }
         }
         else
diff --git 
a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenReaderFilter.java 
b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenReaderFilter.java
index c5821cd..156532c 100644
--- 
a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenReaderFilter.java
+++ 
b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenReaderFilter.java
@@ -38,7 +38,7 @@ public class DefaultMavenReaderFilter
     extends BaseFilter
     implements MavenReaderFilter
 {
-    /** {@inheritDoc} */
+    @Override
     @Nonnull
     public Reader filter( @Nonnull Reader from, boolean filtering, 
MavenProject mavenProject, List<String> filters,
                           boolean escapedBackslashesInFilePath, MavenSession 
mavenSession )
@@ -55,7 +55,7 @@ public class DefaultMavenReaderFilter
         return filter( from, filtering, filterWrappers );
     }
 
-    /** {@inheritDoc} */
+    @Override
     @Nonnull
     public Reader filter( @Nonnull MavenReaderFilterRequest 
mavenFileFilterRequest )
         throws MavenFilteringException
@@ -64,7 +64,7 @@ public class DefaultMavenReaderFilter
         return filter( mavenFileFilterRequest.getFrom(), 
mavenFileFilterRequest.isFiltering(), filterWrappers );
     }
 
-    /** {@inheritDoc} */
+    @Override
     @Nonnull
     public Reader filter( @Nonnull Reader from, boolean filtering, @Nonnull 
List<FilterWrapper> filterWrappers )
     {
diff --git 
a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
 
b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
index bcba3e5..da690c3 100644
--- 
a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
+++ 
b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
@@ -67,11 +67,11 @@ public class DefaultMavenResourcesFiltering
     // ------------------------------------------------
     // Plexus lifecycle
     // ------------------------------------------------
-    /** {@inheritDoc} */
+    @Override
     public void initialize()
         throws InitializationException
     {
-        this.defaultNonFilteredFileExtensions = new ArrayList<String>( 5 );
+        this.defaultNonFilteredFileExtensions = new ArrayList<>( 5 );
         this.defaultNonFilteredFileExtensions.add( "jpg" );
         this.defaultNonFilteredFileExtensions.add( "jpeg" );
         this.defaultNonFilteredFileExtensions.add( "gif" );
@@ -80,10 +80,10 @@ public class DefaultMavenResourcesFiltering
         this.defaultNonFilteredFileExtensions.add( "ico" );
     }
 
-    /** {@inheritDoc} */
+    @Override
     public boolean filteredFileExtension( String fileName, List<String> 
userNonFilteredFileExtensions )
     {
-        List<String> nonFilteredFileExtensions = new ArrayList<String>( 
getDefaultNonFilteredFileExtensions() );
+        List<String> nonFilteredFileExtensions = new ArrayList<>( 
getDefaultNonFilteredFileExtensions() );
         if ( userNonFilteredFileExtensions != null )
         {
             nonFilteredFileExtensions.addAll( userNonFilteredFileExtensions );
@@ -98,17 +98,17 @@ public class DefaultMavenResourcesFiltering
         return filteredFileExtension;
     }
 
-    /** {@inheritDoc} */
+    @Override
     public List<String> getDefaultNonFilteredFileExtensions()
     {
         if ( this.defaultNonFilteredFileExtensions == null )
         {
-            this.defaultNonFilteredFileExtensions = new ArrayList<String>();
+            this.defaultNonFilteredFileExtensions = new ArrayList<>();
         }
         return this.defaultNonFilteredFileExtensions;
     }
 
-    /** {@inheritDoc} */
+    @Override
     public void filterResources( MavenResourcesExecution 
mavenResourcesExecution )
         throws MavenFilteringException
     {
@@ -262,7 +262,7 @@ public class DefaultMavenResourcesFiltering
     private void handleDefaultFilterWrappers( MavenResourcesExecution 
mavenResourcesExecution )
         throws MavenFilteringException
     {
-        List<FileUtils.FilterWrapper> filterWrappers = new 
ArrayList<FileUtils.FilterWrapper>();
+        List<FileUtils.FilterWrapper> filterWrappers = new ArrayList<>();
         if ( mavenResourcesExecution.getFilterWrappers() != null )
         {
             filterWrappers.addAll( mavenResourcesExecution.getFilterWrappers() 
);
@@ -305,7 +305,7 @@ public class DefaultMavenResourcesFiltering
         String[] includes = null;
         if ( resource.getIncludes() != null && 
!resource.getIncludes().isEmpty() )
         {
-            includes = (String[]) resource.getIncludes().toArray( 
EMPTY_STRING_ARRAY );
+            includes = resource.getIncludes().toArray( EMPTY_STRING_ARRAY );
         }
         else
         {
@@ -316,7 +316,7 @@ public class DefaultMavenResourcesFiltering
         String[] excludes = null;
         if ( resource.getExcludes() != null && 
!resource.getExcludes().isEmpty() )
         {
-            excludes = (String[]) resource.getExcludes().toArray( 
EMPTY_STRING_ARRAY );
+            excludes = resource.getExcludes().toArray( EMPTY_STRING_ARRAY );
             scanner.setExcludes( excludes );
         }
 
diff --git 
a/src/main/java/org/apache/maven/shared/filtering/FilteringUtils.java 
b/src/main/java/org/apache/maven/shared/filtering/FilteringUtils.java
index 5396cc3..4c3e501 100644
--- a/src/main/java/org/apache/maven/shared/filtering/FilteringUtils.java
+++ b/src/main/java/org/apache/maven/shared/filtering/FilteringUtils.java
@@ -34,7 +34,7 @@ public final class FilteringUtils
     private static final Pattern PATTERN = Pattern.compile( 
WINDOWS_PATH_PATTERN );
 
     /**
-     * 
+     *
      */
     private FilteringUtils()
     {
diff --git 
a/src/main/java/org/apache/maven/shared/filtering/InterpolatorFilterReaderLineEnding.java
 
b/src/main/java/org/apache/maven/shared/filtering/InterpolatorFilterReaderLineEnding.java
index 7d81519..314ddda 100644
--- 
a/src/main/java/org/apache/maven/shared/filtering/InterpolatorFilterReaderLineEnding.java
+++ 
b/src/main/java/org/apache/maven/shared/filtering/InterpolatorFilterReaderLineEnding.java
@@ -130,6 +130,7 @@ public class InterpolatorFilterReaderLineEnding
      * @return the number of characters actually skipped
      * @throws IOException If an I/O error occurs
      */
+    @Override
     public long skip( long n )
         throws IOException
     {
@@ -158,6 +159,7 @@ public class InterpolatorFilterReaderLineEnding
      * @return the number of characters read, or -1 if the end of the stream 
has been reached
      * @throws IOException If an I/O error occurs
      */
+    @Override
     public int read( char cbuf[], int off, int len )
         throws IOException
     {
@@ -186,6 +188,7 @@ public class InterpolatorFilterReaderLineEnding
      * @return the next character in the resulting stream, or -1 if the end of 
the resulting stream has been reached
      * @throws IOException if the underlying stream throws an IOException 
during reading
      */
+    @Override
     public int read()
         throws IOException
     {
diff --git 
a/src/main/java/org/apache/maven/shared/filtering/MavenFileFilterRequest.java 
b/src/main/java/org/apache/maven/shared/filtering/MavenFileFilterRequest.java
index 15015e3..27d0fc6 100644
--- 
a/src/main/java/org/apache/maven/shared/filtering/MavenFileFilterRequest.java
+++ 
b/src/main/java/org/apache/maven/shared/filtering/MavenFileFilterRequest.java
@@ -76,7 +76,7 @@ public class MavenFileFilterRequest
 
     /**
      * Return the encoding.
-     * 
+     *
      * @return Current encoding.
      */
     public String getEncoding()
@@ -86,7 +86,7 @@ public class MavenFileFilterRequest
 
     /**
      * Set the value for encoding.
-     * 
+     *
      * @param encoding Give the new value for encoding.
      */
     public void setEncoding( String encoding )
diff --git 
a/src/main/java/org/apache/maven/shared/filtering/MavenFilteringException.java 
b/src/main/java/org/apache/maven/shared/filtering/MavenFilteringException.java
index e07d7d7..3de9bf0 100644
--- 
a/src/main/java/org/apache/maven/shared/filtering/MavenFilteringException.java
+++ 
b/src/main/java/org/apache/maven/shared/filtering/MavenFilteringException.java
@@ -27,12 +27,12 @@ public class MavenFilteringException
 {
 
     /**
-     * 
+     *
      */
     private static final long serialVersionUID = 1L;
 
     /**
-     * 
+     *
      */
     public MavenFilteringException()
     {
diff --git 
a/src/main/java/org/apache/maven/shared/filtering/MavenResourcesExecution.java 
b/src/main/java/org/apache/maven/shared/filtering/MavenResourcesExecution.java
index 347e692..71a2fcf 100644
--- 
a/src/main/java/org/apache/maven/shared/filtering/MavenResourcesExecution.java
+++ 
b/src/main/java/org/apache/maven/shared/filtering/MavenResourcesExecution.java
@@ -81,7 +81,7 @@ public class MavenResourcesExecution
      * <li>Darcs: &#42;&#42;/_darcs, &#42;&#42;/_darcs/&#42;&#42;, 
&#42;&#42;/.darcsrepo,
      * &#42;&#42;/.darcsrepo/&#42;&#42;&#42;&#42;/-darcs-backup&#42;, 
&#42;&#42;/.darcs-temp-mail
      * </ul>
-     * 
+     *
      * @since 3.1.0
      */
     private boolean addDefaultExcludes = true;
@@ -165,7 +165,7 @@ public class MavenResourcesExecution
 
     /**
      * Return the encoding.
-     * 
+     *
      * @return Current encoding.
      */
     public String getEncoding()
@@ -175,7 +175,7 @@ public class MavenResourcesExecution
 
     /**
      * Set the value for encoding.
-     * 
+     *
      * @param encoding Give the new value for encoding.
      */
     public void setEncoding( String encoding )
@@ -254,7 +254,7 @@ public class MavenResourcesExecution
     {
         if ( this.filterWrappers == null )
         {
-            this.filterWrappers = new ArrayList<FilterWrapper>();
+            this.filterWrappers = new ArrayList<>();
         }
         this.filterWrappers.add( filterWrapper );
     }
@@ -272,6 +272,7 @@ public class MavenResourcesExecution
     {
         addFilterWrapper( new FileUtils.FilterWrapper()
         {
+            @Override
             public Reader getReader( Reader reader )
             {
                 StringSearchInterpolator propertiesInterpolator = new 
StringSearchInterpolator( startExp, endExp );
@@ -432,21 +433,21 @@ public class MavenResourcesExecution
         }
         else if ( lst.isEmpty() )
         {
-            return new ArrayList<T>();
+            return new ArrayList<>();
         }
         else
         {
-            return new ArrayList<T>( lst );
+            return new ArrayList<>( lst );
         }
     }
 
-    /** {@inheritDoc} */
+    @Override
     public boolean isSupportMultiLineFiltering()
     {
         return supportMultiLineFiltering;
     }
 
-    /** {@inheritDoc} */
+    @Override
     public void setSupportMultiLineFiltering( boolean 
supportMultiLineFiltering )
     {
         this.supportMultiLineFiltering = supportMultiLineFiltering;
diff --git 
a/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java
 
b/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java
index 9cabefc..e04d02d 100644
--- 
a/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java
+++ 
b/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java
@@ -159,6 +159,7 @@ public class 
MultiDelimiterInterpolatorFilterReaderLineEnding
      * @throws IOException If an I/O error occurs
      * @return the number of characters actually skipped
      */
+    @Override
     public long skip( long n )
         throws IOException, IllegalArgumentException
     {
@@ -187,6 +188,7 @@ public class 
MultiDelimiterInterpolatorFilterReaderLineEnding
      * @return the number of characters read, or -1 if the end of the stream 
has been reached
      * @throws IOException If an I/O error occurs
      */
+    @Override
     public int read( char cbuf[], int off, int len )
         throws IOException
     {
@@ -215,6 +217,7 @@ public class 
MultiDelimiterInterpolatorFilterReaderLineEnding
      * @return the next character in the resulting stream, or -1 if the end of 
the resulting stream has been reached
      * @throws IOException if the underlying stream throws an IOException 
during reading
      */
+    @Override
     public int read()
         throws IOException
     {
diff --git a/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java 
b/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java
index 3c8c9a5..7e8e61f 100644
--- a/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java
+++ b/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java
@@ -28,7 +28,6 @@ import java.util.List;
 import java.util.Properties;
 
 import org.apache.maven.shared.utils.StringUtils;
-import org.apache.maven.shared.utils.io.IOUtil;
 import org.codehaus.plexus.logging.Logger;
 
 /**
@@ -87,17 +86,10 @@ public final class PropertyUtils
         }
 
         final Properties fileProps = new Properties();
-        FileInputStream inStream = null;
-        try
+        
+        try ( FileInputStream inStream = new FileInputStream( propFile ) )
         {
-            inStream = new FileInputStream( propFile );
             fileProps.load( inStream );
-            inStream.close();
-            inStream = null;
-        }
-        finally
-        {
-            IOUtil.close( inStream );
         }
 
         final Properties combinedProps = new Properties();
@@ -199,7 +191,7 @@ public final class PropertyUtils
         // it doesn't change.
 
         // for cycle detection
-        List<String> valueChain = new LinkedList<String>();
+        List<String> valueChain = new LinkedList<>();
         valueChain.add( k );
 
         String v = p.getProperty( k );
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequestTest.java
 
b/src/test/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequestTest.java
index b583942..f9381d7 100644
--- 
a/src/test/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequestTest.java
+++ 
b/src/test/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequestTest.java
@@ -42,7 +42,7 @@ public class AbstractMavenFilteringRequestTest
     public void setDelimitersShouldNotChangeAnythingIfUsingEmpty()
     {
         AbstractMavenFilteringRequest request = new 
AbstractMavenFilteringRequest();
-        LinkedHashSet<String> delimiters = new LinkedHashSet<String>();
+        LinkedHashSet<String> delimiters = new LinkedHashSet<>();
         request.setDelimiters( delimiters, false );
         assertThat( request.getDelimiters() ).containsExactly( "${*}", "@" );
     }
@@ -51,7 +51,7 @@ public class AbstractMavenFilteringRequestTest
     public void setDelimitersShouldAddOnlyTheGivenDelimiter()
     {
         AbstractMavenFilteringRequest request = new 
AbstractMavenFilteringRequest();
-        LinkedHashSet<String> delimiters = new LinkedHashSet<String>();
+        LinkedHashSet<String> delimiters = new LinkedHashSet<>();
         delimiters.add( "test" );
         request.setDelimiters( delimiters, false );
         assertThat( request.getDelimiters() ).containsExactly( "test" );
@@ -61,7 +61,7 @@ public class AbstractMavenFilteringRequestTest
     public void setDelimitersShouldAddDefaultDelimitersForNullElements()
     {
         AbstractMavenFilteringRequest request = new 
AbstractMavenFilteringRequest();
-        LinkedHashSet<String> delimiters = new LinkedHashSet<String>();
+        LinkedHashSet<String> delimiters = new LinkedHashSet<>();
         delimiters.add( "test" );
         delimiters.add( null );
         delimiters.add( "second" );
@@ -81,7 +81,7 @@ public class AbstractMavenFilteringRequestTest
     public void 
setDelimitersShouldAddDefaultDelimitersIfUseDefaultDelimitersIfNotNullGiven()
     {
         AbstractMavenFilteringRequest request = new 
AbstractMavenFilteringRequest();
-        LinkedHashSet<String> delimiters = new LinkedHashSet<String>();
+        LinkedHashSet<String> delimiters = new LinkedHashSet<>();
         request.setDelimiters( delimiters, true );
         assertThat( request.getDelimiters() ).containsExactly( "${*}", "@" );
     }
@@ -90,7 +90,7 @@ public class AbstractMavenFilteringRequestTest
     public void 
setDelimitersShouldAddDefaultDelimitersIfUseDefaultDelimitersIfSingleElementIsGiven()
     {
         AbstractMavenFilteringRequest request = new 
AbstractMavenFilteringRequest();
-        LinkedHashSet<String> delimiters = new LinkedHashSet<String>();
+        LinkedHashSet<String> delimiters = new LinkedHashSet<>();
         delimiters.add( "test" );
         request.setDelimiters( delimiters, true );
         assertThat( request.getDelimiters() ).containsExactly( "${*}", "@", 
"test" );
@@ -100,7 +100,7 @@ public class AbstractMavenFilteringRequestTest
     public void setDelimitersShouldAddDefaultDelimitersForNullElement()
     {
         AbstractMavenFilteringRequest request = new 
AbstractMavenFilteringRequest();
-        LinkedHashSet<String> delimiters = new LinkedHashSet<String>();
+        LinkedHashSet<String> delimiters = new LinkedHashSet<>();
         delimiters.add( "test" );
         delimiters.add( null );
         delimiters.add( "second" );
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/BoundedReaderTest.java 
b/src/test/java/org/apache/maven/shared/filtering/BoundedReaderTest.java
index dae902d..28ecfc0 100644
--- a/src/test/java/org/apache/maven/shared/filtering/BoundedReaderTest.java
+++ b/src/test/java/org/apache/maven/shared/filtering/BoundedReaderTest.java
@@ -36,73 +36,87 @@ public class BoundedReaderTest
     public void readTillEnd()
         throws IOException
     {
-        BoundedReader mr = new BoundedReader( sr, 3 );
-        mr.mark( 3 );
-        mr.read();
-        mr.read();
-        mr.read();
-        assertEquals( -1, mr.read() );
-        mr.close();
+        try ( BoundedReader mr = new BoundedReader( sr, 3 ) )
+        {
+            mr.mark( 3 );
+            mr.read();
+            mr.read();
+            mr.read();
+            assertEquals( -1, mr.read() );
+        }
     }
 
     @Test
     public void readMulti()
         throws IOException
     {
-        BoundedReader mr = new BoundedReader( sr, 3 );
         char[] cbuf = new char[4];
         for ( int i = 0; i < cbuf.length; i++ )
+        {
             cbuf[i] = 'X';
-        final int read = mr.read( cbuf, 0, 4 );
-        assertEquals( 3, read );
+        }
+
+        try ( BoundedReader mr = new BoundedReader( sr, 3 ) ) 
+        {
+            final int read = mr.read( cbuf, 0, 4 );
+            assertEquals( 3, read );
+        }
+
         assertEquals( '0', cbuf[0] );
         assertEquals( '1', cbuf[1] );
         assertEquals( '2', cbuf[2] );
         assertEquals( 'X', cbuf[3] );
-        mr.close();
     }
 
     @Test
     public void readMultiWithOffset()
         throws IOException
     {
-        BoundedReader mr = new BoundedReader( sr, 3 );
+        
         char[] cbuf = new char[4];
-        for ( int i = 0; i < cbuf.length; i++ )
+        for ( int i = 0; i < cbuf.length; i++ ) 
+        {
             cbuf[i] = 'X';
-        final int read = mr.read( cbuf, 1, 2 );
-        assertEquals( 2, read );
+        }
+        
+        try ( BoundedReader mr = new BoundedReader( sr, 3 ) ) 
+        {
+            final int read = mr.read( cbuf, 1, 2 );
+            assertEquals( 2, read );
+        }
+        
         assertEquals( 'X', cbuf[0] );
         assertEquals( '0', cbuf[1] );
         assertEquals( '1', cbuf[2] );
         assertEquals( 'X', cbuf[3] );
-        mr.close();
     }
 
     @Test
     public void resetWorks()
         throws IOException
     {
-        BoundedReader mr = new BoundedReader( sr, 3 );
-        mr.read();
-        mr.read();
-        mr.read();
-        mr.reset();
-        mr.read();
-        mr.read();
-        mr.read();
-        assertEquals( -1, mr.read() );
-        mr.close();
+        try ( BoundedReader mr = new BoundedReader( sr, 3 ) )
+        {
+            mr.read();
+            mr.read();
+            mr.read();
+            mr.reset();
+            mr.read();
+            mr.read();
+            mr.read();
+            assertEquals( -1, mr.read() );
+        }
     }
 
     @Test
     public void skipTest()
         throws IOException
     {
-        BoundedReader mr = new BoundedReader( sr, 3 );
-        mr.skip( 2 );
-        mr.read();
-        assertEquals( -1, mr.read() );
-        mr.close();
+        try (BoundedReader mr = new BoundedReader( sr, 3 ) )
+        {
+            mr.skip( 2 );
+            mr.read();
+            assertEquals( -1, mr.read() );
+        }
     }
 }
\ No newline at end of file
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/DefaultMavenFileFilterTest.java
 
b/src/test/java/org/apache/maven/shared/filtering/DefaultMavenFileFilterTest.java
index 8f8f815..a37b306 100644
--- 
a/src/test/java/org/apache/maven/shared/filtering/DefaultMavenFileFilterTest.java
+++ 
b/src/test/java/org/apache/maven/shared/filtering/DefaultMavenFileFilterTest.java
@@ -45,6 +45,7 @@ public class DefaultMavenFileFilterTest
 
     File to = new File( getBasedir(), "target/reflection-test.properties" );
 
+    @Override
     protected void setUp()
         throws Exception
     {
@@ -118,7 +119,7 @@ public class DefaultMavenFileFilterTest
 
         File testDir = new File( getBasedir(), 
"src/test/units-files/MSHARED-177" );
 
-        List<String> filters = new ArrayList<String>();
+        List<String> filters = new ArrayList<>();
 
         filters.add( new File( testDir, "first_filter_file.properties" 
).getAbsolutePath() );
         filters.add( new File( testDir, "second_filter_file.properties" 
).getAbsolutePath() );
@@ -163,7 +164,7 @@ public class DefaultMavenFileFilterTest
         Properties additionalProperties = new Properties();
         additionalProperties.setProperty( "FILTER.a.ME", "DONE" );
         req.setAdditionalProperties( additionalProperties );
-        req.setDelimiters( new LinkedHashSet<String>( Arrays.asList( 
"aaa*aaa", "abc*abc" ) ) );
+        req.setDelimiters( new LinkedHashSet<>( Arrays.asList( "aaa*aaa", 
"abc*abc" ) ) );
 
         List<FilterWrapper> wrappers = 
mavenFileFilter.getDefaultFilterWrappers( req );
 
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java
 
b/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java
index 4380eff..698634f 100644
--- 
a/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java
+++ 
b/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java
@@ -48,6 +48,7 @@ public class DefaultMavenResourcesFilteringTest
 
     File outputDirectory = new File( getBasedir(), 
"target/DefaultMavenResourcesFilteringTest" );
 
+    @Override
     protected void setUp()
         throws Exception
     {
@@ -78,12 +79,12 @@ public class DefaultMavenResourcesFilteringTest
         File initialImageFile = new File( unitFilesDir, "happy_duke.gif" );
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitFilesDir );
         resource.setFiltering( true );
 
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
         filtersFile.add( getBasedir()
             + 
"/src/test/units-files/maven-resources-filtering/empty-maven-resources-filtering.txt"
 );
 
@@ -109,12 +110,12 @@ public class DefaultMavenResourcesFilteringTest
         String unitFilesDir = getBasedir() + 
"/src/test/units-files/session-filtering";
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitFilesDir );
         resource.setFiltering( true );
 
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
 
         Settings settings = new Settings();
         settings.setLocalRepository( System.getProperty( "localRepository",
@@ -136,17 +137,10 @@ public class DefaultMavenResourcesFilteringTest
         mavenResourcesFiltering.filterResources( mre );
 
         Properties result = new Properties();
-        FileInputStream in = null;
-        try
+        
+        try ( FileInputStream in = new FileInputStream( new File( 
outputDirectory, "session-filter-target.txt" ) ) )
         {
-            in = new FileInputStream( new File( outputDirectory, 
"session-filter-target.txt" ) );
             result.load( in );
-            in.close();
-            in = null;
-        }
-        finally
-        {
-            IOUtil.close( in );
         }
 
         assertEquals( settings.getLocalRepository(), result.getProperty( 
"session.settings.local.repo" ) );
@@ -173,12 +167,12 @@ public class DefaultMavenResourcesFilteringTest
         File initialImageFile = new File( unitFilesDir, "happy_duke.gif" );
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitFilesDir );
         resource.setFiltering( true );
 
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
         filtersFile.add( getBasedir()
             + 
"/src/test/units-files/maven-resources-filtering/empty-maven-resources-filtering.txt"
 );
 
@@ -210,12 +204,12 @@ public class DefaultMavenResourcesFilteringTest
         File initialImageFile = new File( unitFilesDir, "happy_duke.gif" );
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitFilesDir );
         resource.setFiltering( true );
 
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
         filtersFile.add( getBasedir()
             + 
"/src/test/units-files/maven-resources-filtering/empty-maven-resources-filtering.txt"
 );
 
@@ -238,34 +232,21 @@ public class DefaultMavenResourcesFilteringTest
     {
         assertEquals( 7, outputDirectory.listFiles().length );
         Properties result = new Properties();
-        FileInputStream in = null;
-        try
+        
+        try ( FileInputStream in = new FileInputStream( new File( 
outputDirectory, "empty-maven-resources-filtering.txt" ) ) )
         {
-            in = new FileInputStream( new File( outputDirectory, 
"empty-maven-resources-filtering.txt" ) );
             result.load( in );
-            in.close();
-            in = null;
-        }
-        finally
-        {
-            IOUtil.close( in );
         }
-
+        
         assertTrue( result.isEmpty() );
 
         result = new Properties();
-        in = null;
-        try
+
+        try ( FileInputStream in = new FileInputStream( new File( 
outputDirectory, "maven-resources-filtering.txt" ) ) )
         {
-            in = new FileInputStream( new File( outputDirectory, 
"maven-resources-filtering.txt" ) );
             result.load( in );
-            in.close();
-            in = null;
-        }
-        finally
-        {
-            IOUtil.close( in );
         }
+
         assertFalse( result.isEmpty() );
 
         if ( additionnalProperties )
@@ -327,12 +308,12 @@ public class DefaultMavenResourcesFilteringTest
         File initialImageFile = new File( unitFilesDir, "happy_duke.gif" );
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitFilesDir );
         resource.setFiltering( true );
 
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
         filtersFile.add( getBasedir()
             + 
"/src/test/units-files/maven-resources-filtering/empty-maven-resources-filtering.txt"
 );
 
@@ -368,7 +349,7 @@ public class DefaultMavenResourcesFilteringTest
         File initialImageFile = new File( unitFilesDir, "happy_duke.gif" );
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
 
         resource.setDirectory( unitFilesDir );
@@ -409,12 +390,10 @@ public class DefaultMavenResourcesFilteringTest
         {
             return false;
         }
-        FileInputStream expectedIn = null;
-        FileInputStream currentIn = null;
-        try
+        
+        try ( FileInputStream expectedIn = new FileInputStream( expected );
+              FileInputStream currentIn = new FileInputStream( current ) )
         {
-            expectedIn = new FileInputStream( expected );
-            currentIn = new FileInputStream( current );
 
             byte[] expectedBuffer = IOUtil.toByteArray( expectedIn );
 
@@ -430,17 +409,6 @@ public class DefaultMavenResourcesFilteringTest
                     return false;
                 }
             }
-
-            expectedIn.close();
-            expectedIn = null;
-
-            currentIn.close();
-            currentIn = null;
-        }
-        finally
-        {
-            IOUtil.close( expectedIn );
-            IOUtil.close( currentIn );
         }
         return true;
     }
@@ -459,13 +427,13 @@ public class DefaultMavenResourcesFilteringTest
         String unitFilesDir = getBasedir() + 
"/src/test/units-files/maven-resources-filtering";
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitFilesDir );
         resource.setFiltering( true );
         resource.addInclude( "includ*" );
 
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
         filtersFile.add( getBasedir()
             + 
"/src/test/units-files/maven-resources-filtering/empty-maven-resources-filtering.txt"
 );
 
@@ -494,14 +462,14 @@ public class DefaultMavenResourcesFilteringTest
         String unitFilesDir = getBasedir() + 
"/src/test/units-files/maven-resources-filtering";
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitFilesDir );
         resource.setFiltering( true );
         resource.addInclude( "includ*" );
         resource.addInclude( "**/includ*" );
 
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
         filtersFile.add( getBasedir()
             + 
"/src/test/units-files/maven-resources-filtering/empty-maven-resources-filtering.txt"
 );
 
@@ -535,14 +503,14 @@ public class DefaultMavenResourcesFilteringTest
         String unitFilesDir = getBasedir() + 
"/src/test/units-files/maven-resources-filtering";
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitFilesDir );
         resource.setFiltering( true );
         resource.addExclude( "*.gif" );
         resource.addExclude( "**/excludedir/**" );
 
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
         filtersFile.add( getBasedir()
             + 
"/src/test/units-files/maven-resources-filtering/empty-maven-resources-filtering.txt"
 );
 
@@ -580,7 +548,7 @@ public class DefaultMavenResourcesFilteringTest
         String unitFilesDir = getBasedir() + 
"/src/test/units-files/maven-resources-filtering";
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitFilesDir );
         resource.setFiltering( true );
@@ -598,7 +566,7 @@ public class DefaultMavenResourcesFilteringTest
         {
             FileUtils.cleanDirectory( targetPathFile );
         }
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
         filtersFile.add( getBasedir()
             + 
"/src/test/units-files/maven-resources-filtering/empty-maven-resources-filtering.txt"
 );
 
@@ -626,13 +594,13 @@ public class DefaultMavenResourcesFilteringTest
         String unitFilesDir = getBasedir() + 
"/src/test/units-files/maven-resources-filtering";
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitFilesDir );
         resource.setFiltering( true );
         resource.addInclude( "includ*" );
         resource.setTargetPath( "testTargetPath" );
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
         filtersFile.add( getBasedir()
             + 
"/src/test/units-files/maven-resources-filtering/empty-maven-resources-filtering.txt"
 );
 
@@ -660,7 +628,7 @@ public class DefaultMavenResourcesFilteringTest
 
         MavenResourcesFiltering mavenResourcesFiltering = lookup( 
MavenResourcesFiltering.class );
 
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( new Resource()
         {
             {
@@ -725,7 +693,7 @@ public class DefaultMavenResourcesFilteringTest
 
         MavenResourcesFiltering mavenResourcesFiltering = lookup( 
MavenResourcesFiltering.class );
 
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( new Resource()
         {
             {
@@ -780,7 +748,7 @@ public class DefaultMavenResourcesFilteringTest
     /**
      * The folder and file structure will be created instead of letting this 
resource plugin copying the structure which
      * will not work.
-     * 
+     *
      * @param sourceDirectory The source folder where the structure will be 
created.
      * @throws IOException
      */
@@ -824,7 +792,7 @@ public class DefaultMavenResourcesFilteringTest
 
         MavenResourcesFiltering mavenResourcesFiltering = lookup( 
MavenResourcesFiltering.class );
 
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( new Resource()
         {
             {
@@ -928,7 +896,7 @@ public class DefaultMavenResourcesFilteringTest
 
         MavenResourcesFiltering mavenResourcesFiltering = lookup( 
MavenResourcesFiltering.class );
 
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( new Resource()
         {
             {
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/EscapeStringTest.java 
b/src/test/java/org/apache/maven/shared/filtering/EscapeStringTest.java
index 73cf726..535d49c 100644
--- a/src/test/java/org/apache/maven/shared/filtering/EscapeStringTest.java
+++ b/src/test/java/org/apache/maven/shared/filtering/EscapeStringTest.java
@@ -42,6 +42,7 @@ public class EscapeStringTest
 
     File unitDirectory = new File( getBasedir(), 
"src/test/units-files/escape-remove-char" );
 
+    @Override
     protected void setUp()
         throws Exception
     {
@@ -70,12 +71,12 @@ public class EscapeStringTest
         MavenResourcesFiltering mavenResourcesFiltering = lookup( 
MavenResourcesFiltering.class );
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitDirectory.getPath() );
         resource.setFiltering( true );
 
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
 
         List<String> nonFilteredFileExtensions = Collections.singletonList( 
"gif" );
 
@@ -87,21 +88,12 @@ public class EscapeStringTest
         mavenResourcesExecution.setEscapeString( "!" );
 
         mavenResourcesFiltering.filterResources( mavenResourcesExecution );
-
-        FileInputStream in = null;
-        try
-        {
-            in = new FileInputStream( new File( outputDirectory, "content.xml" 
) );
+        
+        try ( FileInputStream in = new FileInputStream( new File( 
outputDirectory, "content.xml" ) ) )
+        { 
             String content = IOUtil.toString( in );
-            in.close();
-            in = null;
             assertTrue( content.contains( "<broken-tag>Content with 
replacement: I am the replacement !</broken-tag>" ) );
             assertTrue( content.contains( "<broken-tag>Content with escaped 
replacement: Do not ${replaceThis} !</broken-tag>" ) );
         }
-        finally
-        {
-            IOUtil.close( in );
-        }
-
     }
 }
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/IncrementalResourceFilteringTest.java
 
b/src/test/java/org/apache/maven/shared/filtering/IncrementalResourceFilteringTest.java
index abe834b..2234dc5 100644
--- 
a/src/test/java/org/apache/maven/shared/filtering/IncrementalResourceFilteringTest.java
+++ 
b/src/test/java/org/apache/maven/shared/filtering/IncrementalResourceFilteringTest.java
@@ -32,7 +32,6 @@ import java.util.Set;
 
 import org.apache.maven.model.Resource;
 import org.apache.maven.shared.utils.io.FileUtils;
-import org.apache.maven.shared.utils.io.IOUtil;
 import org.codehaus.plexus.PlexusTestCase;
 import org.sonatype.plexus.build.incremental.ThreadBuildContext;
 import org.sonatype.plexus.build.incremental.test.TestIncrementalBuildContext;
@@ -45,6 +44,7 @@ public class IncrementalResourceFilteringTest
 
     File unitDirectory = new File( getBasedir(), 
"src/test/units-files/incremental" );
 
+    @Override
     protected void setUp()
         throws Exception
     {
@@ -66,7 +66,7 @@ public class IncrementalResourceFilteringTest
         assertTime( "time", "file02.txt" );
 
         // only one file is expected to change
-        Set<String> changedFiles = new HashSet<String>();
+        Set<String> changedFiles = new HashSet<>();
         changedFiles.add( "file01.txt" );
 
         TestIncrementalBuildContext ctx =
@@ -98,7 +98,7 @@ public class IncrementalResourceFilteringTest
         filter( "time" );
 
         // all files are reprocessed after contents of output directory 
changed (e.g. was deleted)
-        Set<String> changedFiles = new HashSet<String>();
+        Set<String> changedFiles = new HashSet<>();
         changedFiles.add( "target/IncrementalResourceFilteringTest" );
         TestIncrementalBuildContext ctx =
             new TestIncrementalBuildContext( unitDirectory, changedFiles, 
Collections.emptyMap() );
@@ -120,7 +120,7 @@ public class IncrementalResourceFilteringTest
         filter( "time" );
 
         // all files are reprocessed after content of filters changes
-        Set<String> changedFiles = new HashSet<String>();
+        Set<String> changedFiles = new HashSet<>();
         changedFiles.add( "filters.txt" );
         TestIncrementalBuildContext ctx =
             new TestIncrementalBuildContext( unitDirectory, changedFiles, 
Collections.emptyMap() );
@@ -142,7 +142,7 @@ public class IncrementalResourceFilteringTest
         filter( "time" );
 
         // all files are reprocessed after content of filters changes
-        Set<String> deletedFiles = new HashSet<String>();
+        Set<String> deletedFiles = new HashSet<>();
         deletedFiles.add( "filters.txt" );
         TestIncrementalBuildContext ctx = new TestIncrementalBuildContext( 
unitDirectory, Collections.emptySet(),
                                                                            
deletedFiles, Collections.emptyMap() );
@@ -161,17 +161,10 @@ public class IncrementalResourceFilteringTest
     {
         Properties properties = new Properties();
 
-        InputStream is = null;
-        try
+        
+        try ( InputStream is = new FileInputStream( new File( outputDirectory, 
relpath ) ) )
         {
-            is = new FileInputStream( new File( outputDirectory, relpath ) );
             properties.load( is );
-            is.close();
-            is = null;
-        }
-        finally
-        {
-            IOUtil.close( is );
         }
 
         assertEquals( time, properties.getProperty( "time" ) );
@@ -195,12 +188,12 @@ public class IncrementalResourceFilteringTest
         String unitFilesDir = new File( unitDirectory, "files" ).getPath();
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitFilesDir );
         resource.setFiltering( true );
 
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
         filtersFile.add( new File( unitDirectory, "filters.txt" ).getPath() );
 
         MavenResourcesExecution mre = new MavenResourcesExecution();
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/InvalidMarkTest.java 
b/src/test/java/org/apache/maven/shared/filtering/InvalidMarkTest.java
index 3e170f1..0fd9042 100644
--- a/src/test/java/org/apache/maven/shared/filtering/InvalidMarkTest.java
+++ b/src/test/java/org/apache/maven/shared/filtering/InvalidMarkTest.java
@@ -34,6 +34,7 @@ public class InvalidMarkTest
 {
     File outputDirectory = new File( getBasedir(), "target/LongLineTest" );
 
+    @Override
     protected void setUp()
         throws Exception
     {
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/MuliLinesMavenResourcesFilteringTest.java
 
b/src/test/java/org/apache/maven/shared/filtering/MuliLinesMavenResourcesFilteringTest.java
index f26e678..79b8be4 100644
--- 
a/src/test/java/org/apache/maven/shared/filtering/MuliLinesMavenResourcesFilteringTest.java
+++ 
b/src/test/java/org/apache/maven/shared/filtering/MuliLinesMavenResourcesFilteringTest.java
@@ -28,7 +28,6 @@ import java.util.Properties;
 
 import org.apache.maven.model.Resource;
 import org.apache.maven.shared.utils.io.FileUtils;
-import org.apache.maven.shared.utils.io.IOUtil;
 import org.codehaus.plexus.PlexusTestCase;
 
 /**
@@ -41,6 +40,7 @@ public class MuliLinesMavenResourcesFilteringTest
 
     File outputDirectory = new File( getBasedir(), 
"target/MuliLinesMavenResourcesFilteringTest" );
 
+    @Override
     protected void setUp()
         throws Exception
     {
@@ -73,12 +73,12 @@ public class MuliLinesMavenResourcesFilteringTest
         String unitFilesDir = getBasedir() + 
"/src/test/units-files/MRESOURCES-104";
 
         Resource resource = new Resource();
-        List<Resource> resources = new ArrayList<Resource>();
+        List<Resource> resources = new ArrayList<>();
         resources.add( resource );
         resource.setDirectory( unitFilesDir );
         resource.setFiltering( true );
 
-        List<String> filtersFile = new ArrayList<String>();
+        List<String> filtersFile = new ArrayList<>();
         filtersFile.add( getBasedir() + 
"/src/test/units-files/MRESOURCES-104/test.properties" );
 
         List<String> nonFilteredFileExtensions = Collections.singletonList( 
"gif" );
@@ -91,17 +91,10 @@ public class MuliLinesMavenResourcesFilteringTest
         mavenResourcesFiltering.filterResources( mavenResourcesExecution );
 
         Properties result = new Properties();
-        FileInputStream in = null;
-        try
+        
+        try ( FileInputStream in = new FileInputStream( new File( 
outputDirectory, "test.properties" ) ) )
         {
-            in = new FileInputStream( new File( outputDirectory, 
"test.properties" ) );
             result.load( in );
-            in.close();
-            in = null;
-        }
-        finally
-        {
-            IOUtil.close( in );
         }
 
         // [email protected]
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEndingTest.java
 
b/src/test/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEndingTest.java
index 60ba6a2..3e3c66e 100644
--- 
a/src/test/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEndingTest.java
+++ 
b/src/test/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEndingTest.java
@@ -45,6 +45,7 @@ public class 
MultiDelimiterInterpolatorFilterReaderLineEndingTest
     @Mock
     private Interpolator interpolator;
 
+    @Override
     @Before
     public void onSetup()
     {
@@ -99,7 +100,7 @@ public class 
MultiDelimiterInterpolatorFilterReaderLineEndingTest
         Reader in = new StringReader( "[email protected] ${foo}" );
         MultiDelimiterInterpolatorFilterReaderLineEnding reader =
             new MultiDelimiterInterpolatorFilterReaderLineEnding( in, 
interpolator, true );
-        reader.setDelimiterSpecs( new HashSet<String>( Arrays.asList( "${*}", 
"@" ) ) );
+        reader.setDelimiterSpecs( new HashSet<>( Arrays.asList( "${*}", "@" ) 
) );
 
         assertEquals( "[email protected] bar", IOUtil.toString( reader ) );
     }
@@ -117,7 +118,7 @@ public class 
MultiDelimiterInterpolatorFilterReaderLineEndingTest
         MultiDelimiterInterpolatorFilterReaderLineEnding reader =
             new MultiDelimiterInterpolatorFilterReaderLineEnding( in, 
interpolator, true );
         reader.setEscapeString( "\\" );
-        reader.setDelimiterSpecs( new HashSet<String>( Arrays.asList( "${*}", 
"@" ) ) );
+        reader.setDelimiterSpecs( new HashSet<>( Arrays.asList( "${*}", "@" ) 
) );
 
         assertEquals( "  url=\"jdbc:oracle:thin:@DB_SERVER:DB_PORT:DB_NAME\"", 
IOUtil.toString( reader ) );
     }
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/PropertyUtilsTest.java 
b/src/test/java/org/apache/maven/shared/filtering/PropertyUtilsTest.java
index a9e651c..1a41152 100644
--- a/src/test/java/org/apache/maven/shared/filtering/PropertyUtilsTest.java
+++ b/src/test/java/org/apache/maven/shared/filtering/PropertyUtilsTest.java
@@ -49,13 +49,13 @@ public class PropertyUtilsTest
         }
 
         basicProp.createNewFile();
-        FileWriter writer = new FileWriter( basicProp );
-
-        writer.write( "ghost=${non_existent}\n" );
-        writer.write( "key=${untat_na_damgo}\n" );
-        writer.write( "untat_na_damgo=gani_man\n" );
-        writer.flush();
-        writer.close();
+        try ( FileWriter writer = new FileWriter( basicProp ) )
+        {
+            writer.write( "ghost=${non_existent}\n" );
+            writer.write( "key=${untat_na_damgo}\n" );
+            writer.write( "untat_na_damgo=gani_man\n" );
+            writer.flush();
+        }
 
         Properties prop = PropertyUtils.loadPropertyFile( basicProp, false, 
false );
         assertTrue( prop.getProperty( "key" ).equals( "gani_man" ) );
@@ -73,11 +73,11 @@ public class PropertyUtilsTest
         }
 
         systemProp.createNewFile();
-        FileWriter writer = new FileWriter( systemProp );
-
-        writer.write( "key=${user.dir}" );
-        writer.flush();
-        writer.close();
+        try ( FileWriter writer = new FileWriter( systemProp ) )
+        {
+            writer.write( "key=${user.dir}" );
+            writer.flush();
+        }
 
         Properties prop = PropertyUtils.loadPropertyFile( systemProp, false, 
true );
         assertTrue( prop.getProperty( "key" ).equals( System.getProperty( 
"user.dir" ) ) );
@@ -114,10 +114,10 @@ public class PropertyUtilsTest
         assertEquals( "realVersion", interpolated.get( "bar" ) );
         assertEquals( "none filtered", interpolated.get( "none" ) );
     }
-    
+
     /**
      * Test case to reproduce MSHARED-417
-     * 
+     *
      * @throws IOException if problem writing file
      */
     public void testCircularReferences()
@@ -131,12 +131,12 @@ public class PropertyUtilsTest
         }
 
         basicProp.createNewFile();
-        FileWriter writer = new FileWriter( basicProp );
-
-        writer.write( "test=${test2}\n" );
-        writer.write( "test2=${test2}\n" );
-        writer.flush();
-        writer.close();
+        try( FileWriter writer = new FileWriter( basicProp ) )
+        {
+            writer.write( "test=${test2}\n" );
+            writer.write( "test2=${test2}\n" );
+            writer.flush();
+        }
 
         MockLogger logger = new MockLogger();
 
@@ -150,7 +150,7 @@ public class PropertyUtilsTest
 
     /**
      * Test case to reproduce MSHARED-417
-     * 
+     *
      * @throws IOException if problem writing file
      */
     public void testCircularReferences3Vars()
@@ -164,13 +164,13 @@ public class PropertyUtilsTest
         }
 
         basicProp.createNewFile();
-        FileWriter writer = new FileWriter( basicProp );
-
-        writer.write( "test=${test2}\n" );
-        writer.write( "test2=${test3}\n" );
-        writer.write( "test3=${test}\n" );
-        writer.flush();
-        writer.close();
+        try ( FileWriter writer = new FileWriter( basicProp ) )
+        {
+            writer.write( "test=${test2}\n" );
+            writer.write( "test2=${test3}\n" );
+            writer.write( "test3=${test}\n" );
+            writer.flush();
+        }
 
         MockLogger logger = new MockLogger();
 
@@ -193,7 +193,7 @@ public class PropertyUtilsTest
         implements Logger
     {
 
-        ArrayList<String> warnMsgs = new ArrayList<String>();
+        ArrayList<String> warnMsgs = new ArrayList<>();
 
         @Override
         public void debug( String message )
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/StubMavenProject.java 
b/src/test/java/org/apache/maven/shared/filtering/StubMavenProject.java
index 6673ca4..518f47e 100644
--- a/src/test/java/org/apache/maven/shared/filtering/StubMavenProject.java
+++ b/src/test/java/org/apache/maven/shared/filtering/StubMavenProject.java
@@ -41,6 +41,7 @@ public class StubMavenProject
         this.basedir = basedir;
     }
 
+    @Override
     public Properties getProperties()
     {
         return this.properties;
@@ -60,6 +61,7 @@ public class StubMavenProject
         this.properties.put( key, value );
     }
 
+    @Override
     public File getBasedir()
     {
         return basedir;
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/StubMavenSession.java 
b/src/test/java/org/apache/maven/shared/filtering/StubMavenSession.java
index 42d1b67..ab2a23e 100644
--- a/src/test/java/org/apache/maven/shared/filtering/StubMavenSession.java
+++ b/src/test/java/org/apache/maven/shared/filtering/StubMavenSession.java
@@ -80,16 +80,19 @@ public class StubMavenSession
         }
     }
 
+    @Override
     public Settings getSettings()
     {
         return settings;
     }
 
+    @Override
     public Properties getSystemProperties()
     {
         return this.systemProperties;
     }
 
+    @Override
     public Properties getUserProperties()
     {
         return this.userProperties;
diff --git 
a/src/test/java/org/apache/maven/shared/filtering/TestReflectionProperties.java 
b/src/test/java/org/apache/maven/shared/filtering/TestReflectionProperties.java
index bf5b36e..eb85b3c 100644
--- 
a/src/test/java/org/apache/maven/shared/filtering/TestReflectionProperties.java
+++ 
b/src/test/java/org/apache/maven/shared/filtering/TestReflectionProperties.java
@@ -38,85 +38,70 @@ public class TestReflectionProperties
     public void testSimpleFiltering()
         throws Exception
     {
-        FileInputStream readFileInputStream = null;
-        try
+        MavenProject mavenProject = new MavenProject();
+        mavenProject.setVersion( "1.0" );
+        mavenProject.setGroupId( "org.apache" );
+        Properties userProperties = new Properties();
+        userProperties.setProperty( "foo", "bar" );
+        MavenFileFilter mavenFileFilter = lookup( MavenFileFilter.class );
+
+        File from = new File( getBasedir() + 
"/src/test/units-files/reflection-test.properties" );
+        File to = new File( getBasedir() + 
"/target/reflection-test.properties" );
+
+        if ( to.exists() )
         {
-            MavenProject mavenProject = new MavenProject();
-            mavenProject.setVersion( "1.0" );
-            mavenProject.setGroupId( "org.apache" );
-            Properties userProperties = new Properties();
-            userProperties.setProperty( "foo", "bar" );
-            MavenFileFilter mavenFileFilter = lookup( MavenFileFilter.class );
-
-            File from = new File( getBasedir() + 
"/src/test/units-files/reflection-test.properties" );
-            File to = new File( getBasedir() + 
"/target/reflection-test.properties" );
-
-            if ( to.exists() )
-            {
-                to.delete();
-            }
-
-            mavenFileFilter.copyFile( from, to, true, mavenProject, null, 
false, null,
-                                      new StubMavenSession( userProperties ) );
-
-            Properties reading = new Properties();
-            readFileInputStream = new FileInputStream( to );
-            reading.load( readFileInputStream );
-            assertEquals( "1.0", reading.get( "version" ) );
-            assertEquals( "org.apache", reading.get( "groupId" ) );
-            assertEquals( "bar", reading.get( "foo" ) );
-            assertEquals( "none filtered", reading.get( "none" ) );
+            to.delete();
         }
-        finally
+        
+        mavenFileFilter.copyFile( from, to, true, mavenProject, null, false, 
null,
+                                  new StubMavenSession( userProperties ) );
+
+        Properties reading = new Properties();
+
+        try ( FileInputStream readFileInputStream = new FileInputStream( to ) )
         {
-            if ( readFileInputStream != null )
-            {
-                readFileInputStream.close();
-            }
+            reading.load( readFileInputStream );
         }
 
+        assertEquals( "1.0", reading.get( "version" ) );
+        assertEquals( "org.apache", reading.get( "groupId" ) );
+        assertEquals( "bar", reading.get( "foo" ) );
+        assertEquals( "none filtered", reading.get( "none" ) );
     }
 
     public void testSimpleNonFiltering()
         throws Exception
     {
-        FileInputStream readFileInputStream = null;
-        try
+        
+        MavenProject mavenProject = new MavenProject();
+        mavenProject.setVersion( "1.0" );
+        mavenProject.setGroupId( "org.apache" );
+        Properties userProperties = new Properties();
+        userProperties.setProperty( "foo", "bar" );
+        MavenFileFilter mavenFileFilter = lookup( MavenFileFilter.class );
+
+        File from = new File( getBasedir() + 
"/src/test/units-files/reflection-test.properties" );
+        File to = new File( getBasedir() + 
"/target/reflection-test.properties" );
+
+        if ( to.exists() )
         {
-            MavenProject mavenProject = new MavenProject();
-            mavenProject.setVersion( "1.0" );
-            mavenProject.setGroupId( "org.apache" );
-            Properties userProperties = new Properties();
-            userProperties.setProperty( "foo", "bar" );
-            MavenFileFilter mavenFileFilter = lookup( MavenFileFilter.class );
-
-            File from = new File( getBasedir() + 
"/src/test/units-files/reflection-test.properties" );
-            File to = new File( getBasedir() + 
"/target/reflection-test.properties" );
-
-            if ( to.exists() )
-            {
-                to.delete();
-            }
-
-            mavenFileFilter.copyFile( from, to, false, mavenProject, null, 
false, null,
-                                      new StubMavenSession( userProperties ) );
-
-            Properties reading = new Properties();
-            readFileInputStream = new FileInputStream( to );
-            reading.load( readFileInputStream );
-            assertEquals( "${pom.version}", reading.get( "version" ) );
-            assertEquals( "${pom.groupId}", reading.get( "groupId" ) );
-            assertEquals( "${foo}", reading.get( "foo" ) );
-            assertEquals( "none filtered", reading.get( "none" ) );
+            to.delete();
         }
-        finally
+
+        mavenFileFilter.copyFile( from, to, false, mavenProject, null, false, 
null,
+                                  new StubMavenSession( userProperties ) );
+
+        Properties reading = new Properties();
+
+        try ( FileInputStream readFileInputStream = new FileInputStream( to ); 
)
         {
-            if ( readFileInputStream != null )
-            {
-                readFileInputStream.close();
-            }
+            reading.load( readFileInputStream );
         }
 
+        assertEquals( "${pom.version}", reading.get( "version" ) );
+        assertEquals( "${pom.groupId}", reading.get( "groupId" ) );
+        assertEquals( "${foo}", reading.get( "foo" ) );
+        assertEquals( "none filtered", reading.get( "none" ) );
     }
 
 }

Reply via email to