diff --git a/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java index 58e121bbd..41f6c8cbe 100644 --- a/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java @@ -365,18 +365,9 @@ else if ( isDirectory ) } else { - OutputStream out = null; - try + try ( OutputStream out = new FileOutputStream( f ) ) { - out = new FileOutputStream( f ); - IOUtil.copy( compressedInputStream, out ); - out.close(); - out = null; - } - finally - { - IOUtil.close( out ); } } diff --git a/src/main/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizer.java b/src/main/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizer.java index 7fd7ecd30..8ccc57486 100644 --- a/src/main/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizer.java +++ b/src/main/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizer.java @@ -7,7 +7,6 @@ import java.util.Collections; import java.util.List; import org.codehaus.plexus.util.FileUtils; -import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.StringUtils; /** @@ -43,56 +42,50 @@ public DotDirectiveArchiveFinalizer( File dotFileDirectory, String dotFilePrefix public void finalizeArchiveCreation( Archiver archiver ) throws ArchiverException { - BufferedReader in = null; try { List dotFiles = FileUtils.getFiles( dotFileDirectory, dotFilePrefix + "*", null ); for ( File dotFile : dotFiles ) { - in = new BufferedReader( new FileReader( dotFile ) ); - - for ( String line = in.readLine(); line != null; line = in.readLine() ) + try ( BufferedReader in = new BufferedReader( new FileReader( dotFile ) ) ) { - String[] s = StringUtils.split( line, ":" ); - if ( s.length == 1 ) + for ( String line = in.readLine(); line != null; line = in.readLine() ) { - File directory = new File( dotFileDirectory, s[0] ); - - System.out.println( "adding directory = " + directory ); + String[] s = StringUtils.split( line, ":" ); - archiver.addDirectory( directory ); - } - else - { - File directory = new File( dotFileDirectory, s[0] ); + if ( s.length == 1 ) + { + File directory = new File( dotFileDirectory, s[0] ); - System.out.println( "adding directory = " + directory + " to: " + s[1] ); + System.out.println( "adding directory = " + directory ); - if ( s[1].endsWith( "/" ) ) - { - archiver.addDirectory( directory, s[1] ); + archiver.addDirectory( directory ); } else { - archiver.addDirectory( directory, s[1] + "/" ); + File directory = new File( dotFileDirectory, s[0] ); + + System.out.println( "adding directory = " + directory + " to: " + s[1] ); + + if ( s[1].endsWith( "/" ) ) + { + archiver.addDirectory( directory, s[1] ); + } + else + { + archiver.addDirectory( directory, s[1] + "/" ); + } } } } - - in.close(); - in = null; } } catch ( IOException e ) { throw new ArchiverException( "Error processing dot files.", e ); } - finally - { - IOUtil.close( in ); - } } @Override diff --git a/src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java b/src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java index b33e6c838..a2d618180 100644 --- a/src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java @@ -37,13 +37,13 @@ import java.util.Vector; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; +import org.apache.commons.compress.archivers.zip.ZipFile; import org.apache.commons.compress.parallel.InputStreamSupplier; import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.archiver.zip.ConcurrentJarCreator; import org.codehaus.plexus.archiver.zip.ZipArchiver; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.logging.console.ConsoleLogger; -import org.codehaus.plexus.util.IOUtil; import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream; @@ -238,24 +238,15 @@ public void setManifest( File manifestFile ) private Manifest getManifest( File manifestFile ) throws ArchiverException { - InputStream in = null; - try + try ( InputStream in = new FileInputStream( manifestFile )) { - in = new FileInputStream( manifestFile ); - final Manifest mf = getManifest( in ); - in.close(); - in = null; - return mf; + return getManifest( in ); } catch ( IOException e ) { throw new ArchiverException( "Unable to read manifest file: " + manifestFile + " (" + e.getMessage() + ")", e ); } - finally - { - IOUtil.close( in ); - } } private Manifest getManifest( InputStream is ) @@ -799,10 +790,8 @@ else if ( zipFile.isDirectory() ) } else { - org.apache.commons.compress.archivers.zip.ZipFile zf = null; - try + try ( ZipFile zf = new ZipFile( file, "utf-8" ) ) { - zf = new org.apache.commons.compress.archivers.zip.ZipFile( file, "utf-8" ); Enumeration entries = zf.getEntries(); HashSet dirSet = new HashSet(); while ( entries.hasMoreElements() ) @@ -833,13 +822,6 @@ else if ( !name.contains( "/" ) ) } dirs.addAll( dirSet ); } - finally - { - if ( zf != null ) - { - zf.close(); - } - } } } diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TarUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/tar/TarUnArchiver.java index 2316d4eb5..f2a941a61 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/TarUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TarUnArchiver.java @@ -97,37 +97,32 @@ protected void execute( String path, File outputDirectory ) protected void execute( File sourceFile, File destDirectory, FileMapper[] fileMappers ) throws ArchiverException { - TarArchiveInputStream tis = null; try { getLogger().info( "Expanding: " + sourceFile + " into " + destDirectory ); TarFile tarFile = new TarFile( sourceFile ); - tis = new TarArchiveInputStream( - decompress( compression, sourceFile, new BufferedInputStream( new FileInputStream( sourceFile ) ) ) ); - TarArchiveEntry te; - while ( ( te = tis.getNextTarEntry() ) != null ) + try ( TarArchiveInputStream tis = new TarArchiveInputStream( + decompress( compression, sourceFile, new BufferedInputStream( new FileInputStream( sourceFile ) ) ) ) ) { - TarResource fileInfo = new TarResource( tarFile, te ); - if ( isSelected( te.getName(), fileInfo ) ) + TarArchiveEntry te; + while ( ( te = tis.getNextTarEntry() ) != null ) { - final String symlinkDestination = te.isSymbolicLink() ? te.getLinkName() : null; - extractFile( sourceFile, destDirectory, tis, te.getName(), te.getModTime(), te.isDirectory(), - te.getMode() != 0 ? te.getMode() : null, symlinkDestination, fileMappers ); - + TarResource fileInfo = new TarResource( tarFile, te ); + if ( isSelected( te.getName(), fileInfo ) ) + { + final String symlinkDestination = te.isSymbolicLink() ? te.getLinkName() : null; + extractFile( sourceFile, destDirectory, tis, te.getName(), te.getModTime(), te.isDirectory(), + te.getMode() != 0 ? te.getMode() : null, symlinkDestination, fileMappers ); + + } } + getLogger().debug( "expand complete" ); } - getLogger().debug( "expand complete" ); - tis.close(); - tis = null; } catch ( IOException ioe ) { throw new ArchiverException( "Error while expanding " + sourceFile.getAbsolutePath(), ioe ); } - finally - { - IOUtil.close( tis ); - } } /** diff --git a/src/main/java/org/codehaus/plexus/archiver/util/Compressor.java b/src/main/java/org/codehaus/plexus/archiver/util/Compressor.java index 81abad754..19f4761db 100644 --- a/src/main/java/org/codehaus/plexus/archiver/util/Compressor.java +++ b/src/main/java/org/codehaus/plexus/archiver/util/Compressor.java @@ -23,7 +23,6 @@ import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.components.io.resources.PlexusIoResource; import org.codehaus.plexus.logging.AbstractLogEnabled; -import org.codehaus.plexus.util.IOUtil; public abstract class Compressor extends AbstractLogEnabled @@ -91,17 +90,9 @@ private void compressFile( InputStream in, OutputStream zOut ) protected void compress( PlexusIoResource resource, OutputStream zOut ) throws IOException { - InputStream in = null; - try + try ( InputStream in = Streams.bufferedInputStream( resource.getContents() ) ) { - in = Streams.bufferedInputStream( resource.getContents() ); compressFile( in, zOut ); - in.close(); - in = null; - } - finally - { - IOUtil.close( in ); } } diff --git a/src/main/java/org/codehaus/plexus/archiver/util/ResourceUtils.java b/src/main/java/org/codehaus/plexus/archiver/util/ResourceUtils.java index 397779676..cdbe26369 100644 --- a/src/main/java/org/codehaus/plexus/archiver/util/ResourceUtils.java +++ b/src/main/java/org/codehaus/plexus/archiver/util/ResourceUtils.java @@ -77,22 +77,9 @@ public static boolean isUptodate( long sourceDate, long destinationDate ) public static void copyFile( PlexusIoResource in, File outFile ) throws IOException { - InputStream input = null; - OutputStream output = null; - try + try ( InputStream input = in.getContents(); OutputStream output = new FileOutputStream( outFile ) ) { - input = in.getContents(); - output = new FileOutputStream( outFile ); IOUtil.copy( input, output ); - output.close(); - output = null; - input.close(); - input = null; - } - finally - { - IOUtil.close( input ); - IOUtil.close( output ); } } diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java b/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java index 872a3ec93..f4448386e 100755 --- a/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java @@ -45,7 +45,6 @@ import org.codehaus.plexus.components.io.functions.SymlinkDestinationSupplier; import org.codehaus.plexus.components.io.resources.PlexusIoResource; import org.codehaus.plexus.util.FileUtils; -import org.codehaus.plexus.util.IOUtil; import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream; @@ -664,10 +663,9 @@ protected boolean createEmptyZip( File zipFile ) // because it does not permit a zero-entry archive. // Must create it manually. getLogger().info( "Note: creating empty " + archiveType + " archive " + zipFile ); - OutputStream os = null; - try + + try ( OutputStream os = new FileOutputStream( zipFile ) ) { - os = new FileOutputStream( zipFile ); // Cf. PKZIP specification. byte[] empty = new byte[ 22 ]; empty[0] = 80; // P @@ -676,17 +674,11 @@ protected boolean createEmptyZip( File zipFile ) empty[3] = 6; // remainder zeros os.write( empty ); - os.close(); - os = null; } catch ( IOException ioe ) { throw new ArchiverException( "Could not create empty ZIP archive " + "(" + ioe.getMessage() + ")", ioe ); } - finally - { - IOUtil.close( os ); - } return true; } diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipUnArchiver.java index c8ff7028d..dd8e2fdf0 100644 --- a/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipUnArchiver.java @@ -27,7 +27,6 @@ import org.apache.commons.compress.archivers.zip.UnicodePathExtraField; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipFile; -import org.apache.commons.compress.utils.IOUtils; import org.codehaus.plexus.archiver.AbstractUnArchiver; import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.components.io.filemappers.FileMapper; @@ -161,11 +160,8 @@ protected void execute() throws ArchiverException { getLogger().debug( "Expanding: " + getSourceFile() + " into " + getDestDirectory() ); - org.apache.commons.compress.archivers.zip.ZipFile zf = null; - InputStream in = null; - try + try ( ZipFile zf = new ZipFile( getSourceFile(), encoding, true ) ) { - zf = new org.apache.commons.compress.archivers.zip.ZipFile( getSourceFile(), encoding, true ); final Enumeration e = zf.getEntriesInPhysicalOrder(); while ( e.hasMoreElements() ) { @@ -173,32 +169,20 @@ protected void execute() final ZipEntryFileInfo fileInfo = new ZipEntryFileInfo( zf, ze ); if ( isSelected( fileInfo.getName(), fileInfo ) ) { - in = zf.getInputStream( ze ); - - extractFileIfIncluded( getSourceFile(), getDestDirectory(), in, fileInfo.getName(), - new Date( ze.getTime() ), ze.isDirectory(), - ze.getUnixMode() != 0 ? ze.getUnixMode() : null, - resolveSymlink( zf, ze ), getFileMappers() ); - - in.close(); - in = null; + try ( InputStream in = zf.getInputStream( ze ) ) { + extractFileIfIncluded( getSourceFile(), getDestDirectory(), in, fileInfo.getName(), + new Date( ze.getTime() ), ze.isDirectory(), + ze.getUnixMode() != 0 ? ze.getUnixMode() : null, + resolveSymlink( zf, ze ), getFileMappers() ); + } } } - - zf.close(); - zf = null; - getLogger().debug( "expand complete" ); } catch ( final IOException ioe ) { throw new ArchiverException( "Error while expanding " + getSourceFile().getAbsolutePath(), ioe ); } - finally - { - IOUtils.closeQuietly( in ); - IOUtils.closeQuietly( zf ); - } } private String resolveSymlink( ZipFile zf, ZipArchiveEntry ze ) @@ -226,12 +210,8 @@ private void extractFileIfIncluded( final File sourceFile, final File destDirect protected void execute( final String path, final File outputDirectory ) throws ArchiverException { - org.apache.commons.compress.archivers.zip.ZipFile zipFile = null; - InputStream in = null; - try + try ( ZipFile zipFile = new ZipFile( getSourceFile(), encoding, true ) ) { - zipFile = new org.apache.commons.compress.archivers.zip.ZipFile( getSourceFile(), encoding, true ); - final Enumeration e = zipFile.getEntriesInPhysicalOrder(); while ( e.hasMoreElements() ) @@ -245,30 +225,20 @@ protected void execute( final String path, final File outputDirectory ) if ( ze.getName().startsWith( path ) ) { - in = zipFile.getInputStream( ze ); - - extractFileIfIncluded( getSourceFile(), outputDirectory, in, - ze.getName(), new Date( ze.getTime() ), ze.isDirectory(), - ze.getUnixMode() != 0 ? ze.getUnixMode() : null, - resolveSymlink( zipFile, ze ), getFileMappers() ); - - in.close(); - in = null; + try ( InputStream in = zipFile.getInputStream( ze ) ) + { + extractFileIfIncluded( getSourceFile(), outputDirectory, in, + ze.getName(), new Date( ze.getTime() ), ze.isDirectory(), + ze.getUnixMode() != 0 ? ze.getUnixMode() : null, + resolveSymlink( zipFile, ze ), getFileMappers() ); + } } } - - zipFile.close(); - zipFile = null; } catch ( final IOException ioe ) { throw new ArchiverException( "Error while expanding " + getSourceFile().getAbsolutePath(), ioe ); } - finally - { - IOUtils.closeQuietly( in ); - IOUtils.closeQuietly( zipFile ); - } } } diff --git a/src/test/java/org/codehaus/plexus/archiver/jar/JdkManifestFactoryTest.java b/src/test/java/org/codehaus/plexus/archiver/jar/JdkManifestFactoryTest.java index 6ac1c24aa..0e2120767 100644 --- a/src/test/java/org/codehaus/plexus/archiver/jar/JdkManifestFactoryTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/jar/JdkManifestFactoryTest.java @@ -97,16 +97,10 @@ public void testDualClassPath() private java.util.jar.Manifest getManifest( String filename ) throws IOException, ManifestException { - InputStream r = Streams.fileInputStream( getTestFile( filename ) ); - - try + try ( InputStream r = Streams.fileInputStream( getTestFile( filename ) ) ) { return new Manifest( r ); } - finally - { - r.close(); - } } } diff --git a/src/test/java/org/codehaus/plexus/archiver/jar/ManifestTest.java b/src/test/java/org/codehaus/plexus/archiver/jar/ManifestTest.java index dc33d8ef3..cf21f5312 100644 --- a/src/test/java/org/codehaus/plexus/archiver/jar/ManifestTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/jar/ManifestTest.java @@ -348,16 +348,10 @@ public void testAddConfiguredSectionPlexusManifest() private Manifest getManifest( String filename ) throws IOException, ManifestException { - InputStream is = new FileInputStream( getTestFile( filename ) ); - - try + try ( InputStream is = new FileInputStream( getTestFile( filename ) ) ) { return new Manifest( is ); } - finally - { - is.close(); - } } } diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java index 84bb1fa9c..5bef23c24 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java @@ -260,23 +260,15 @@ private void writeFile( File dir, String fname, int mode ) throws IOException, ArchiverException { File file = new File( dir, fname ); - FileWriter writer = null; - try + if ( file.getParentFile() != null ) { - if ( file.getParentFile() != null ) - { - file.getParentFile().mkdirs(); - } - - writer = new FileWriter( file ); - writer.write( "This is a test file." ); - writer.close(); - writer = null; + file.getParentFile().mkdirs(); } - finally + + try ( FileWriter writer = new FileWriter( file ) ) { - IOUtil.close( writer ); + writer.write( "This is a test file." ); } ArchiveEntryUtils.chmod( file, mode ); diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarFileAttributesTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarFileAttributesTest.java index 1e7ddf03f..d93f413e5 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarFileAttributesTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarFileAttributesTest.java @@ -12,7 +12,6 @@ import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributeUtils; import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes; import org.codehaus.plexus.util.FileUtils; -import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.Os; @SuppressWarnings( "ResultOfMethodCallIgnored" ) @@ -83,17 +82,9 @@ public void testUseAttributesFromTarArchiveInputInTarArchiverOutput() File tempFile = File.createTempFile( "tar-file-attributes.", ".tmp" ); toDelete.add( tempFile ); - FileWriter writer = null; - try + try (FileWriter writer = new FileWriter( tempFile )) { - writer = new FileWriter( tempFile ); writer.write( "This is a test file." ); - writer.close(); - writer = null; - } - finally - { - IOUtil.close( writer ); } int result = Runtime.getRuntime().exec( "chmod 440 " + tempFile.getAbsolutePath() ).waitFor(); @@ -157,17 +148,9 @@ public void testUseDetectedFileAttributes() File tempFile = File.createTempFile( "tar-file-attributes.", ".tmp" ); toDelete.add( tempFile ); - FileWriter writer = null; - try + try ( FileWriter writer = new FileWriter( tempFile ) ) { - writer = new FileWriter( tempFile ); writer.write( "This is a test file." ); - writer.close(); - writer = null; - } - finally - { - IOUtil.close( writer ); } int result = Runtime.getRuntime().exec( "chmod 440 " + tempFile.getAbsolutePath() ).waitFor(); @@ -226,17 +209,9 @@ public void testOverrideDetectedFileAttributes() File tempFile = File.createTempFile( "tar-file-attributes.", ".tmp" ); toDelete.add( tempFile ); - FileWriter writer = null; - try + try ( FileWriter writer = new FileWriter( tempFile ) ) { - writer = new FileWriter( tempFile ); writer.write( "This is a test file." ); - writer.close(); - writer = null; - } - finally - { - IOUtil.close( writer ); } int result = Runtime.getRuntime().exec( "chmod 440 " + tempFile.getAbsolutePath() ).waitFor(); @@ -292,17 +267,9 @@ public void testOverrideDetectedFileAttributesUsingFileMode() File tempFile = File.createTempFile( "tar-file-attributes.", ".tmp" ); toDelete.add( tempFile ); - FileWriter writer = null; - try + try ( FileWriter writer = new FileWriter( tempFile ) ) { - writer = new FileWriter( tempFile ); writer.write( "This is a test file." ); - writer.close(); - writer = null; - } - finally - { - IOUtil.close( writer ); } int result = Runtime.getRuntime().exec( "chmod 440 " + tempFile.getAbsolutePath() ).waitFor(); diff --git a/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java index 3db076c54..f6b560657 100644 --- a/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java @@ -336,23 +336,15 @@ private void writeFile( File dir, String fname, int mode ) throws IOException, ArchiverException { File file = new File( dir, fname ); - FileWriter writer = null; - try + if ( file.getParentFile() != null ) { - if ( file.getParentFile() != null ) - { - file.getParentFile().mkdirs(); - } - - writer = new FileWriter( file ); - writer.write( "This is a test file." ); - writer.close(); - writer = null; + file.getParentFile().mkdirs(); } - finally + + try ( FileWriter writer = new FileWriter( file ) ) { - IOUtil.close( writer ); + writer.write( "This is a test file." ); } ArchiveEntryUtils.chmod( file, mode );