Author: jukka
Date: Mon Aug 31 04:21:04 2015
New Revision: 1700195

URL: http://svn.apache.org/r1700195
Log:
TIKA-1719: Utilize try-with-resources where it is trivial

Patch by Yaniv Kunda

Modified:
    tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
    tika/trunk/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java
    tika/trunk/tika-bundle/src/test/java/org/apache/tika/bundle/BundleIT.java
    tika/trunk/tika-core/src/main/java/org/apache/tika/Tika.java
    tika/trunk/tika-core/src/main/java/org/apache/tika/config/ServiceLoader.java
    
tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParserContainerExtractor.java
    
tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java
    tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java
    
tika/trunk/tika-core/src/main/java/org/apache/tika/io/LookaheadInputStream.java
    tika/trunk/tika-core/src/main/java/org/apache/tika/io/TikaInputStream.java
    
tika/trunk/tika-core/src/main/java/org/apache/tika/language/LanguageIdentifier.java
    tika/trunk/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java
    
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java
    
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersFactory.java
    
tika/trunk/tika-core/src/test/java/org/apache/tika/TypeDetectionBenchmark.java
    
tika/trunk/tika-core/src/test/java/org/apache/tika/io/TikaInputStreamTest.java
    
tika/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageIdentifierTest.java
    
tika/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageProfilerBuilderTest.java
    
tika/trunk/tika-example/src/main/java/org/apache/tika/example/ContentHandlerExample.java
    
tika/trunk/tika-example/src/main/java/org/apache/tika/example/EncryptedPrescriptionDetector.java
    
tika/trunk/tika-example/src/main/java/org/apache/tika/example/GrabPhoneNumbersExample.java
    
tika/trunk/tika-example/src/main/java/org/apache/tika/example/LazyTextExtractorField.java
    
tika/trunk/tika-example/src/main/java/org/apache/tika/example/LuceneIndexerExtended.java
    
tika/trunk/tika-example/src/main/java/org/apache/tika/example/MetadataAwareLuceneIndexer.java
    
tika/trunk/tika-example/src/main/java/org/apache/tika/example/ParsingExample.java
    
tika/trunk/tika-example/src/main/java/org/apache/tika/example/TIAParsingExample.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/gdal/GDALParser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlParser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/jdbc/SQLite3DBParser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/RarParser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/ZipContainerDetector.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/rtf/RTFObjDataParser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/strings/StringsParser.java
    
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/TXTParser.java
    tika/trunk/tika-parsers/src/test/java/org/apache/tika/TestParsers.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/ParsingReaderTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/chm/TestChmExtraction.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/chm/TestParameters.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/crypto/Pkcs7ParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/dif/DIFParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/dwg/DWGParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/envi/EnviHeaderParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/epub/EpubParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/executable/ExecutableParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/feed/FeedParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/font/FontParsersTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/grib/GribParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/hdf/HDFParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/html/HtmlParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/ibooks/iBooksParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/isatab/ISArchiveParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jdbc/SQLite3ParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mat/MatParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mbox/MboxParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/AbstractPOIContainerExtractionTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ExcelParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OldExcelParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/PowerPointParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ProjectParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/PublisherParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/TNEFParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/VisioParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mp4/MP4ParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/netcdf/NetCDFParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/ocr/TesseractOCRParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/odf/ODFParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ArParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/Bzip2ParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/GzipParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/RarParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/Seven7ParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/TarParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZlibParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/prt/PRTParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/rtf/RTFParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/solidworks/SolidworksParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/strings/Latin1StringsParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/strings/StringsParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/txt/CharsetDetectorTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/xml/DcXMLParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/xml/EmptyAndDuplicateElementsXMLParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/xml/FictionBookParserTest.java
    
tika/trunk/tika-parsers/src/test/java/org/apache/tika/sax/PhoneExtractingContentHandlerTest.java
    
tika/trunk/tika-server/src/main/java/org/apache/tika/server/resource/TikaResource.java
    
tika/trunk/tika-server/src/main/java/org/apache/tika/server/resource/UnpackerResource.java

Modified: tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java 
(original)
+++ tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java Mon Aug 
31 04:21:04 2015
@@ -467,12 +467,9 @@ public class TikaCLI {
             if (serverMode) {
                 new TikaServer(Integer.parseInt(arg)).start();
             } else if (arg.equals("-")) {
-                InputStream stream =
-                    TikaInputStream.get(new CloseShieldInputStream(System.in));
-                try {
+                try (InputStream stream = TikaInputStream.get(
+                        new CloseShieldInputStream(System.in))) {
                     type.process(stream, System.out, new Metadata());
-                } finally {
-                    stream.close();
                 }
             } else {
                 URL url;
@@ -486,11 +483,10 @@ public class TikaCLI {
                     handleRecursiveJson(url, System.out);
                 } else {
                     Metadata metadata = new Metadata();
-                    InputStream input = TikaInputStream.get(url, metadata);
-                    try {
+                    try (InputStream input =
+                            TikaInputStream.get(url, metadata)) {
                         type.process(input, System.out, metadata);
                     } finally {
-                        input.close();
                         System.out.flush();
                     }
                 }
@@ -500,12 +496,9 @@ public class TikaCLI {
 
     private void handleRecursiveJson(URL url, OutputStream output) throws 
IOException, SAXException, TikaException {
         Metadata metadata = new Metadata();
-        InputStream input = TikaInputStream.get(url, metadata);
         RecursiveParserWrapper wrapper = new RecursiveParserWrapper(parser, 
getContentHandlerFactory(type));
-        try {
+        try (InputStream input = TikaInputStream.get(url, metadata)) {
             wrapper.parse(input, null, metadata, context);
-        } finally {
-            input.close();
         }
         JsonMetadataList.setPrettyPrinting(prettyPrint);
         Writer writer = getOutputWriter(output, encoding);
@@ -1049,11 +1042,7 @@ public class TikaCLI {
             }
             System.out.println("Extracting '"+name+"' ("+contentType+") to " + 
outputFile);
 
-            FileOutputStream os = null;
-
-            try {
-                os = new FileOutputStream(outputFile);
-
+            try (FileOutputStream os = new FileOutputStream(outputFile)) {
                 if (inputStream instanceof TikaInputStream) {
                     TikaInputStream tin = (TikaInputStream) inputStream;
 
@@ -1079,10 +1068,6 @@ public class TikaCLI {
                 );
                 System.err.println(msg);
                 logger.warn(msg, e);
-            } finally {
-                if (os != null) {
-                    os.close();
-                }
             }
         }
 
@@ -1095,11 +1080,9 @@ public class TikaCLI {
                     copy((DirectoryEntry) entry, newDir);
                 } else {
                     // Copy entry
-                    InputStream contents = new 
DocumentInputStream((DocumentEntry) entry);
-                    try {
+                    try (InputStream contents =
+                            new DocumentInputStream((DocumentEntry) entry)) {
                         destDir.createDocument(entry.getName(), contents);
-                    } finally {
-                        contents.close();
                     }
                 }
             }

Modified: tika/trunk/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- tika/trunk/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java 
(original)
+++ tika/trunk/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java Mon Aug 
31 04:21:04 2015
@@ -304,11 +304,8 @@ public class TikaGUI extends JFrame
     public void openFile(File file) {
         try {
             Metadata metadata = new Metadata();
-            TikaInputStream stream = TikaInputStream.get(file, metadata);
-            try {
+            try (TikaInputStream stream = TikaInputStream.get(file, metadata)) 
{
                 handleStream(stream, metadata);
-            } finally {
-                stream.close();
             }
         } catch (Throwable t) {
             handleError(file.getPath(), t);
@@ -318,11 +315,8 @@ public class TikaGUI extends JFrame
     public void openURL(URL url) {
         try {
             Metadata metadata = new Metadata();
-            TikaInputStream stream = TikaInputStream.get(url, metadata);
-            try {
+            try (TikaInputStream stream = TikaInputStream.get(url, metadata)) {
                 handleStream(stream, metadata);
-            } finally {
-                stream.close();
             }
         } catch (Throwable t) {
             handleError(url.toString(), t);
@@ -477,8 +471,7 @@ public class TikaGUI extends JFrame
         if (e.getEventType() == EventType.ACTIVATED) {
             try {
                 URL url = e.getURL();
-                InputStream stream = url.openStream();
-                try {
+                try (InputStream stream = url.openStream()) {
                     JEditorPane editor =
                         new JEditorPane("text/plain", IOUtils.toString(stream, 
UTF_8));
                     editor.setEditable(false);
@@ -493,8 +486,6 @@ public class TikaGUI extends JFrame
                     dialog.add(new JScrollPane(editor));
                     dialog.pack();
                     dialog.setVisible(true);
-                } finally {
-                    stream.close();
                 }
             } catch (IOException exception) {
                 exception.printStackTrace();

Modified: 
tika/trunk/tika-bundle/src/test/java/org/apache/tika/bundle/BundleIT.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-bundle/src/test/java/org/apache/tika/bundle/BundleIT.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- tika/trunk/tika-bundle/src/test/java/org/apache/tika/bundle/BundleIT.java 
(original)
+++ tika/trunk/tika-bundle/src/test/java/org/apache/tika/bundle/BundleIT.java 
Mon Aug 31 04:21:04 2015
@@ -247,12 +247,9 @@ public class BundleIT {
         ParseContext context = new ParseContext();
         context.set(Parser.class, parser);
 
-        InputStream stream
-                = new FileInputStream("src/test/resources/test-documents.zip");
-        try {
+        try (InputStream stream =
+                new FileInputStream("src/test/resources/test-documents.zip")) {
             parser.parse(stream, handler, new Metadata(), context);
-        } finally {
-            stream.close();
         }
 
         String content = handler.toString();

Modified: tika/trunk/tika-core/src/main/java/org/apache/tika/Tika.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/Tika.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/Tika.java (original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/Tika.java Mon Aug 31 
04:21:04 2015
@@ -218,11 +218,8 @@ public class Tika {
      */
     public String detect(byte[] prefix, String name) {
         try {
-            InputStream stream = TikaInputStream.get(prefix);
-            try {
+            try (InputStream stream = TikaInputStream.get(prefix)) {
                 return detect(stream, name);
-            } finally {
-                stream.close();
             }
         } catch (IOException e) {
             throw new IllegalStateException("Unexpected IOException", e);
@@ -244,11 +241,8 @@ public class Tika {
      */
     public String detect(byte[] prefix) {
         try {
-            InputStream stream = TikaInputStream.get(prefix);
-            try {
+            try (InputStream stream = TikaInputStream.get(prefix)) {
                 return detect(stream);
-            } finally {
-                stream.close();
             }
         } catch (IOException e) {
             throw new IllegalStateException("Unexpected IOException", e);
@@ -287,11 +281,8 @@ public class Tika {
      */
     public String detect(URL url) throws IOException {
         Metadata metadata = new Metadata();
-        InputStream stream = TikaInputStream.get(url, metadata);
-        try {
+        try (InputStream stream = TikaInputStream.get(url, metadata)) {
             return detect(stream, metadata);
-        } finally {
-            stream.close();
         }
     }
 
@@ -642,17 +633,12 @@ public class Tika {
     public String toString() {
         String version = null;
 
-        try {
-            InputStream stream = Tika.class.getResourceAsStream(
-                    
"/META-INF/maven/org.apache.tika/tika-core/pom.properties");
+        try (InputStream stream = Tika.class.getResourceAsStream(
+                "/META-INF/maven/org.apache.tika/tika-core/pom.properties")) {
             if (stream != null) {
-                try {
-                    Properties properties = new Properties();
-                    properties.load(stream);
-                    version = properties.getProperty("version");
-                } finally {
-                    stream.close();
-                }
+                Properties properties = new Properties();
+                properties.load(stream);
+                version = properties.getProperty("version");
             }
         } catch (Exception ignore) {
         }

Modified: 
tika/trunk/tika-core/src/main/java/org/apache/tika/config/ServiceLoader.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/config/ServiceLoader.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/main/java/org/apache/tika/config/ServiceLoader.java 
(original)
+++ 
tika/trunk/tika-core/src/main/java/org/apache/tika/config/ServiceLoader.java 
Mon Aug 31 04:21:04 2015
@@ -343,10 +343,9 @@ public class ServiceLoader {
 
     private void collectServiceClassNames(URL resource, Collection<String> 
names)
             throws IOException {
-        InputStream stream = resource.openStream();
-        try {
+        try (InputStream stream = resource.openStream()) {
             BufferedReader reader =
-                new BufferedReader(new InputStreamReader(stream, UTF_8));
+                    new BufferedReader(new InputStreamReader(stream, UTF_8));
             String line = reader.readLine();
             while (line != null) {
                 line = COMMENT.matcher(line).replaceFirst("");
@@ -356,8 +355,6 @@ public class ServiceLoader {
                 }
                 line = reader.readLine();
             }
-        } finally {
-            stream.close();
         }
     }
 

Modified: 
tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParserContainerExtractor.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParserContainerExtractor.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParserContainerExtractor.java
 (original)
+++ 
tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParserContainerExtractor.java
 Mon Aug 31 04:21:04 2015
@@ -122,11 +122,8 @@ public class ParserContainerExtractor im
                     File file = tis.getFile();
 
                     // Let the handler process the embedded resource
-                    InputStream input = TikaInputStream.get(file);
-                    try {
+                    try (InputStream input = TikaInputStream.get(file)) {
                         handler.handle(filename, type, input);
-                    } finally {
-                        input.close();
                     }
 
                     // Recurse

Modified: 
tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java
 (original)
+++ 
tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java
 Mon Aug 31 04:21:04 2015
@@ -91,8 +91,7 @@ public class ParsingEmbeddedDocumentExtr
         }
 
         // Use the delegate parser to parse this entry
-        TemporaryResources tmp = new TemporaryResources();
-        try {
+        try (TemporaryResources tmp = new TemporaryResources()) {
             final TikaInputStream newStream = TikaInputStream.get(new 
CloseShieldInputStream(stream), tmp);
             if (stream instanceof TikaInputStream) {
                 final Object container = ((TikaInputStream) 
stream).getOpenContainer();
@@ -110,8 +109,6 @@ public class ParsingEmbeddedDocumentExtr
         } catch (TikaException e) {
             // TODO: can we log a warning somehow?
             // Could not parse the entry, just skip the content
-        } finally {
-            tmp.close();
         }
 
         if(outputHtml) {

Modified: 
tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java 
(original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/fork/ForkClient.java Mon 
Aug 31 04:21:04 2015
@@ -258,10 +258,10 @@ class ForkClient {
      * @throws IOException if the bootstrap archive could not be created
      */
     private static void fillBootstrapJar(File file) throws IOException {
-        JarOutputStream jar = new JarOutputStream(new FileOutputStream(file));
-        try {
+        try (JarOutputStream jar =
+                new JarOutputStream(new FileOutputStream(file))) {
             String manifest =
-                "Main-Class: " + ForkServer.class.getName() + "\n";
+                    "Main-Class: " + ForkServer.class.getName() + "\n";
             jar.putNextEntry(new ZipEntry("META-INF/MANIFEST.MF"));
             jar.write(manifest.getBytes(UTF_8));
 
@@ -276,16 +276,11 @@ class ForkClient {
             ClassLoader loader = ForkServer.class.getClassLoader();
             for (Class<?> klass : bootstrap) {
                 String path = klass.getName().replace('.', '/') + ".class";
-                InputStream input = loader.getResourceAsStream(path);
-                try {
+                try (InputStream input = loader.getResourceAsStream(path)) {
                     jar.putNextEntry(new JarEntry(path));
                     IOUtils.copy(input, jar);
-                } finally {
-                    input.close();
                 }
             }
-        } finally {
-            jar.close();
         }
     }
 

Modified: 
tika/trunk/tika-core/src/main/java/org/apache/tika/io/LookaheadInputStream.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/io/LookaheadInputStream.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/main/java/org/apache/tika/io/LookaheadInputStream.java 
(original)
+++ 
tika/trunk/tika-core/src/main/java/org/apache/tika/io/LookaheadInputStream.java 
Mon Aug 31 04:21:04 2015
@@ -28,11 +28,8 @@ import java.io.InputStream;
  * <p>
  * The recommended usage pattern of this class is:
  * <pre>
- *     InputStream lookahead = new LookaheadInputStream(stream, n);
- *     try {
+ *     try (InputStream lookahead = new LookaheadInputStream(stream, n)) {
  *         processStream(lookahead);
- *     } finally {
- *         lookahead.close();
  *     }
  * </pre>
  * <p>

Modified: 
tika/trunk/tika-core/src/main/java/org/apache/tika/io/TikaInputStream.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/io/TikaInputStream.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/io/TikaInputStream.java 
(original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/io/TikaInputStream.java 
Mon Aug 31 04:21:04 2015
@@ -85,19 +85,16 @@ public class TikaInputStream extends Tag
      * when you <em>don't</em> explicitly close the returned stream. The
      * recommended access pattern is:
      * <pre>
-     * TemporaryResources tmp = new TemporaryResources();
-     * try {
+     * try (TemporaryResources tmp = new TemporaryResources()) {
      *     TikaInputStream stream = TikaInputStream.get(..., tmp);
      *     // process stream but don't close it
-     * } finally {
-     *     tmp.close();
      * }
      * </pre>
      * <p>
      * The given stream instance will <em>not</em> be closed when the
-     * {@link TemporaryResources#close()} method is called. The caller
-     * is expected to explicitly close the original stream when it's no
-     * longer used.
+     * {@link TemporaryResources#close()} method is called by the
+     * try-with-resources statement. The caller is expected to explicitly
+     * close the original stream when it's no longer used.
      *
      * @since Apache Tika 0.10
      * @param stream normal input stream
@@ -131,17 +128,14 @@ public class TikaInputStream extends Tag
      * <em>do</em> explicitly close the returned stream. The recommended
      * access pattern is:
      * <pre>
-     * TikaInputStream stream = TikaInputStream.get(...);
-     * try {
+     * try (TikaInputStream stream = TikaInputStream.get(...)) {
      *     // process stream
-     * } finally {
-     *     stream.close();
      * }
      * </pre>
      * <p>
      * The given stream instance will be closed along with any other resources
      * associated with the returned TikaInputStream instance when the
-     * {@link #close()} method is called.
+     * {@link #close()} method is called by the try-with-resources statement.
      *
      * @param stream normal input stream
      * @return a TikaInputStream instance
@@ -531,11 +525,8 @@ public class TikaInputStream extends Tag
             } else {
                 // Spool the entire stream into a temporary file
                 file = tmp.createTemporaryFile();
-                OutputStream out = new FileOutputStream(file);
-                try {
+                try (OutputStream out = new FileOutputStream(file)) {
                     IOUtils.copy(in, out);
-                } finally {
-                    out.close();
                 }
 
                 // Create a new input stream and make sure it'll get closed

Modified: 
tika/trunk/tika-core/src/main/java/org/apache/tika/language/LanguageIdentifier.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/language/LanguageIdentifier.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/main/java/org/apache/tika/language/LanguageIdentifier.java
 (original)
+++ 
tika/trunk/tika-core/src/main/java/org/apache/tika/language/LanguageIdentifier.java
 Mon Aug 31 04:21:04 2015
@@ -73,9 +73,9 @@ public class LanguageIdentifier {
         try {
             LanguageProfile profile = new LanguageProfile();
 
-            InputStream stream =
-                LanguageIdentifier.class.getResourceAsStream(language + 
PROFILE_SUFFIX);
-            try {
+            try (InputStream stream =
+                    LanguageIdentifier.class.getResourceAsStream(
+                            language + PROFILE_SUFFIX)) {
                 BufferedReader reader =
                     new BufferedReader(new InputStreamReader(stream, UTF_8));
                 String line = reader.readLine();
@@ -88,8 +88,6 @@ public class LanguageIdentifier {
                     }
                     line = reader.readLine();
                 }
-            } finally {
-                stream.close();
             }
 
             addProfile(language, profile);

Modified: 
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java 
(original)
+++ 
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java 
Mon Aug 31 04:21:04 2015
@@ -78,8 +78,7 @@ public class NetworkParser extends Abstr
             Metadata metadata, ParseContext context)
             throws IOException, SAXException, TikaException {
         if ("telnet".equals(uri.getScheme())) {
-            final Socket socket = new Socket(uri.getHost(), uri.getPort());
-            try {
+            try (Socket socket = new Socket(uri.getHost(), uri.getPort())) {
                 new ParsingTask(stream, new 
FilterOutputStream(socket.getOutputStream()) {
                     @Override
                     public void close() throws IOException {
@@ -87,21 +86,16 @@ public class NetworkParser extends Abstr
                     }
                 }).parse(
                         socket.getInputStream(), handler, metadata, context);
-            } finally {
-                socket.close();
             }
         } else {
             URL url = uri.toURL();
             URLConnection connection = url.openConnection();
             connection.setDoOutput(true);
             connection.connect();
-            InputStream input = connection.getInputStream();
-            try {
+            try (InputStream input = connection.getInputStream()) {
                 new ParsingTask(stream, connection.getOutputStream()).parse(
                         new CloseShieldInputStream(input),
                         handler, metadata, context);
-            } finally {
-                input.close();
             }
         }
 

Modified: 
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java
 (original)
+++ 
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java
 Mon Aug 31 04:21:04 2015
@@ -238,8 +238,7 @@ public class ExternalParser extends Abst
      */
     private void extractOutput(InputStream stream, XHTMLContentHandler xhtml)
             throws SAXException, IOException {
-        Reader reader = new InputStreamReader(stream, UTF_8);
-        try {
+        try (Reader reader = new InputStreamReader(stream, UTF_8)) {
             xhtml.startDocument();
             xhtml.startElement("p");
             char[] buffer = new char[1024];
@@ -248,8 +247,6 @@ public class ExternalParser extends Abst
             }
             xhtml.endElement("p");
             xhtml.endDocument();
-        } finally {
-            reader.close();
         }
     }
 

Modified: 
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersFactory.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersFactory.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersFactory.java
 (original)
+++ 
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersFactory.java
 Mon Aug 31 04:21:04 2015
@@ -62,13 +62,10 @@ public class ExternalParsersFactory {
    public static List<ExternalParser> create(URL... urls) throws IOException, 
TikaException {
       List<ExternalParser> parsers = new ArrayList<ExternalParser>();
       for(URL url : urls) {
-         InputStream stream = url.openStream();
-         try {
+         try (InputStream stream = url.openStream()) {
             parsers.addAll(
                   ExternalParsersConfigReader.read(stream)
             );
-         } finally {
-            stream.close();
          }
       }
       return parsers;

Modified: 
tika/trunk/tika-core/src/test/java/org/apache/tika/TypeDetectionBenchmark.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/test/java/org/apache/tika/TypeDetectionBenchmark.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/test/java/org/apache/tika/TypeDetectionBenchmark.java 
(original)
+++ 
tika/trunk/tika-core/src/test/java/org/apache/tika/TypeDetectionBenchmark.java 
Mon Aug 31 04:21:04 2015
@@ -47,11 +47,10 @@ public class TypeDetectionBenchmark {
         if (file.isHidden()) {
             // ignore
         } else if (file.isFile()) {
-            InputStream input = new FileInputStream(file);
-            try {
+            try (InputStream input = new FileInputStream(file)) {
                 byte[] content = IOUtils.toByteArray(input);
                 String type =
-                    tika.detect(new ByteArrayInputStream(content));
+                        tika.detect(new ByteArrayInputStream(content));
                 long start = System.currentTimeMillis();
                 for (int i = 0; i < 1000; i++) {
                     tika.detect(new ByteArrayInputStream(content));
@@ -60,8 +59,6 @@ public class TypeDetectionBenchmark {
                         Locale.ROOT,
                         "%6dns per Tika.detect(%s) = %s%n",
                         System.currentTimeMillis() - start, file, type);
-            } finally {
-                input.close();
             }
         } else if (file.isDirectory()) {
             for (File child : file.listFiles()) {

Modified: 
tika/trunk/tika-core/src/test/java/org/apache/tika/io/TikaInputStreamTest.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/test/java/org/apache/tika/io/TikaInputStreamTest.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/test/java/org/apache/tika/io/TikaInputStreamTest.java 
(original)
+++ 
tika/trunk/tika-core/src/test/java/org/apache/tika/io/TikaInputStreamTest.java 
Mon Aug 31 04:21:04 2015
@@ -88,21 +88,15 @@ public class TikaInputStreamTest {
 
     private File createTempFile(String data) throws IOException {
         File file = File.createTempFile("tika-", ".tmp");
-        OutputStream stream = new FileOutputStream(file);
-        try {
+        try (OutputStream stream = new FileOutputStream(file)) {
             stream.write(data.getBytes(UTF_8));
-        } finally {
-            stream.close();
         }
         return file;
     }
 
     private String readFile(File file) throws IOException {
-        InputStream stream = new FileInputStream(file);
-        try {
+        try (InputStream stream = new FileInputStream(file)) {
             return readStream(stream);
-        } finally {
-            stream.close();
         }
     }
 

Modified: 
tika/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageIdentifierTest.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageIdentifierTest.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageIdentifierTest.java
 (original)
+++ 
tika/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageIdentifierTest.java
 Mon Aug 31 04:21:04 2015
@@ -173,12 +173,10 @@ public class LanguageIdentifierTest {
     }
 
     private void writeTo(String language, Writer writer) throws IOException {
-        InputStream stream =
-            LanguageIdentifierTest.class.getResourceAsStream(language + 
".test");
-        try {
+        try (InputStream stream =
+                LanguageIdentifierTest.class.getResourceAsStream(
+                        language + ".test")) {
             IOUtils.copy(new InputStreamReader(stream, UTF_8), writer);
-        } finally {
-            stream.close();
         }
     }
 

Modified: 
tika/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageProfilerBuilderTest.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageProfilerBuilderTest.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageProfilerBuilderTest.java
 (original)
+++ 
tika/trunk/tika-core/src/test/java/org/apache/tika/language/LanguageProfilerBuilderTest.java
 Mon Aug 31 04:21:04 2015
@@ -47,12 +47,8 @@ public class LanguageProfilerBuilderTest
 
     @Test
     public void testCreateProfile() throws TikaException, IOException, 
URISyntaxException {
-        InputStream is =
-                
LanguageProfilerBuilderTest.class.getResourceAsStream(corpusName);
-        try {
-            ngramProfile = LanguageProfilerBuilder.create(profileName, is , 
UTF_8.name());
-        } finally {
-            is.close();
+        try (InputStream is = 
LanguageProfilerBuilderTest.class.getResourceAsStream(corpusName)) {
+            ngramProfile = LanguageProfilerBuilder.create(profileName, is, 
UTF_8.name());
         }
 
         File f = new File(profileName + "." + FILE_EXTENSION);
@@ -78,9 +74,7 @@ public class LanguageProfilerBuilderTest
 
         langProfile = new LanguageProfile();
 
-        InputStream stream = new FileInputStream(new File(profileName + "."
-                + FILE_EXTENSION));
-        try {
+        try (InputStream stream = new FileInputStream(new File(profileName + 
"." + FILE_EXTENSION))) {
             BufferedReader reader = new BufferedReader(new InputStreamReader(
                     stream, UTF_8));
             String line = reader.readLine();
@@ -94,8 +88,6 @@ public class LanguageProfilerBuilderTest
                 }
                 line = reader.readLine();
             }
-        } finally {
-            stream.close();
         }
     }
 

Modified: 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/ContentHandlerExample.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-example/src/main/java/org/apache/tika/example/ContentHandlerExample.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/ContentHandlerExample.java
 (original)
+++ 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/ContentHandlerExample.java
 Mon Aug 31 04:21:04 2015
@@ -45,15 +45,12 @@ public class ContentHandlerExample {
      */
     public String parseToPlainText() throws IOException, SAXException, 
TikaException {
         BodyContentHandler handler = new BodyContentHandler();
-        
-        InputStream stream = 
ContentHandlerExample.class.getResourceAsStream("test.doc");
+
         AutoDetectParser parser = new AutoDetectParser();
         Metadata metadata = new Metadata();
-        try {
+        try (InputStream stream = 
ContentHandlerExample.class.getResourceAsStream("test.doc")) {
             parser.parse(stream, handler, metadata);
             return handler.toString();
-        } finally {
-            stream.close();
         }
     }
 
@@ -62,15 +59,12 @@ public class ContentHandlerExample {
      */
     public String parseToHTML() throws IOException, SAXException, 
TikaException {
         ContentHandler handler = new ToXMLContentHandler();
-        
-        InputStream stream = 
ContentHandlerExample.class.getResourceAsStream("test.doc");
+
         AutoDetectParser parser = new AutoDetectParser();
         Metadata metadata = new Metadata();
-        try {
+        try (InputStream stream = 
ContentHandlerExample.class.getResourceAsStream("test.doc")) {
             parser.parse(stream, handler, metadata);
             return handler.toString();
-        } finally {
-            stream.close();
         }
     }
     
@@ -81,15 +75,12 @@ public class ContentHandlerExample {
     public String parseBodyToHTML() throws IOException, SAXException, 
TikaException {
         ContentHandler handler = new BodyContentHandler(
                 new ToXMLContentHandler());
-        
-        InputStream stream = 
ContentHandlerExample.class.getResourceAsStream("test.doc");
+
         AutoDetectParser parser = new AutoDetectParser();
         Metadata metadata = new Metadata();
-        try {
+        try (InputStream stream = 
ContentHandlerExample.class.getResourceAsStream("test.doc")) {
             parser.parse(stream, handler, metadata);
             return handler.toString();
-        } finally {
-            stream.close();
         }
     }
     
@@ -104,15 +95,12 @@ public class ContentHandlerExample {
                 "/xhtml:html/xhtml:body/xhtml:div/descendant::node()");        
         ContentHandler handler = new MatchingContentHandler(
                 new ToXMLContentHandler(), divContentMatcher);
-        
-        InputStream stream = 
ContentHandlerExample.class.getResourceAsStream("test2.doc");
+
         AutoDetectParser parser = new AutoDetectParser();
         Metadata metadata = new Metadata();
-        try {
+        try (InputStream stream = 
ContentHandlerExample.class.getResourceAsStream("test2.doc")) {
             parser.parse(stream, handler, metadata);
             return handler.toString();
-        } finally {
-            stream.close();
         }
     }
     
@@ -137,15 +125,12 @@ public class ContentHandlerExample {
                 }
             }
         };
-        
-        InputStream stream = 
ContentHandlerExample.class.getResourceAsStream("test2.doc");
+
         AutoDetectParser parser = new AutoDetectParser();
         Metadata metadata = new Metadata();
-        try {
+        try (InputStream stream = 
ContentHandlerExample.class.getResourceAsStream("test2.doc")) {
             parser.parse(stream, handler, metadata);
             return chunks;
-        } finally {
-            stream.close();
         }
     }
 }

Modified: 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/EncryptedPrescriptionDetector.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-example/src/main/java/org/apache/tika/example/EncryptedPrescriptionDetector.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/EncryptedPrescriptionDetector.java
 (original)
+++ 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/EncryptedPrescriptionDetector.java
 Mon Aug 31 04:21:04 2015
@@ -38,8 +38,7 @@ public class EncryptedPrescriptionDetect
                Key key = Pharmacy.getKey();
                MediaType type = MediaType.OCTET_STREAM;
 
-               InputStream lookahead = new LookaheadInputStream(stream, 1024);
-               try {
+               try (InputStream lookahead = new LookaheadInputStream(stream, 
1024)) {
                        Cipher cipher = Cipher.getInstance("RSA");
 
                        cipher.init(Cipher.DECRYPT_MODE, key);
@@ -53,8 +52,6 @@ public class EncryptedPrescriptionDetect
                        }
                } catch (GeneralSecurityException e) {
                        // unable to decrypt, fall through
-               } finally {
-                       lookahead.close();
                }
                return type;
        }

Modified: 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/GrabPhoneNumbersExample.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-example/src/main/java/org/apache/tika/example/GrabPhoneNumbersExample.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/GrabPhoneNumbersExample.java
 (original)
+++ 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/GrabPhoneNumbersExample.java
 Mon Aug 31 04:21:04 2015
@@ -72,13 +72,9 @@ public class GrabPhoneNumbersExample {
         // The PhoneExtractingContentHandler will examine any characters for 
phone numbers before passing them
         // to the underlying Handler.
         PhoneExtractingContentHandler handler = new 
PhoneExtractingContentHandler(new BodyContentHandler(), metadata);
-        InputStream stream = new FileInputStream(file);
-        try {
+        try (InputStream stream = new FileInputStream(file)) {
             parser.parse(stream, handler, metadata, new ParseContext());
         }
-        finally {
-            stream.close();
-        }
         String[] numbers = metadata.getValues("phonenumbers");
         for (String number : numbers) {
             phoneNumbers.add(number);

Modified: 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/LazyTextExtractorField.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-example/src/main/java/org/apache/tika/example/LazyTextExtractorField.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/LazyTextExtractorField.java
 (original)
+++ 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/LazyTextExtractorField.java
 Mon Aug 31 04:21:04 2015
@@ -175,11 +175,8 @@ public class LazyTextExtractorField exte
 
                public void run() {
                        try {
-                               InputStream stream = value.getStream();
-                               try {
+                               try (InputStream stream = value.getStream()) {
                                        parser.parse(stream, handler, metadata, 
context);
-                               } finally {
-                                       stream.close();
                                }
                        } catch (LinkageError e) {
                                // Capture and ignore

Modified: 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/LuceneIndexerExtended.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-example/src/main/java/org/apache/tika/example/LuceneIndexerExtended.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/LuceneIndexerExtended.java
 (original)
+++ 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/LuceneIndexerExtended.java
 Mon Aug 31 04:21:04 2015
@@ -41,29 +41,23 @@ public class LuceneIndexerExtended {
        }
 
        public static void main(String[] args) throws Exception {
-               IndexWriter writer = new IndexWriter(new SimpleFSDirectory(new 
File(
+               try (IndexWriter writer = new IndexWriter(new 
SimpleFSDirectory(new File(
                                args[0])), new 
StandardAnalyzer(Version.LUCENE_30),
-                               MaxFieldLength.UNLIMITED);
-               try {
+                               MaxFieldLength.UNLIMITED)) {
                        LuceneIndexer indexer = new LuceneIndexer(new Tika(), 
writer);
                        for (int i = 1; i < args.length; i++) {
                                indexer.indexDocument(new File(args[i]));
                        }
-               } finally {
-                       writer.close();
                }
        }
 
        public void indexDocument(File file) throws Exception {
-               Reader fulltext = tika.parse(file);
-               try {
+               try (Reader fulltext = tika.parse(file)) {
                        Document document = new Document();
                        document.add(new Field("filename", file.getName(), 
Store.YES,
                                        Index.ANALYZED));
                        document.add(new Field("fulltext", fulltext));
                        writer.addDocument(document);
-               } finally {
-                       fulltext.close();
                }
        }
 

Modified: 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/MetadataAwareLuceneIndexer.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-example/src/main/java/org/apache/tika/example/MetadataAwareLuceneIndexer.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/MetadataAwareLuceneIndexer.java
 (original)
+++ 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/MetadataAwareLuceneIndexer.java
 Mon Aug 31 04:21:04 2015
@@ -46,8 +46,7 @@ public class MetadataAwareLuceneIndexer
 
        public void indexContentSpecificMet(File file) throws Exception {
                Metadata met = new Metadata();
-               InputStream is = new FileInputStream(file);
-               try {
+               try (InputStream is = new FileInputStream(file)) {
                        tika.parse(is, met);
                        Document document = new Document();
                        for (String key : met.names()) {
@@ -57,8 +56,6 @@ public class MetadataAwareLuceneIndexer
                                }
                                writer.addDocument(document);
                        }
-               } finally {
-                       is.close();
                }
        }
 
@@ -74,8 +71,7 @@ public class MetadataAwareLuceneIndexer
                met.add(Metadata.SUBJECT, "Metadata");
                met.set(Property.externalClosedChoise(Metadata.RIGHTS, "public",
                                "private"), "public");
-               InputStream is = new FileInputStream(file);
-               try {
+               try (InputStream is = new FileInputStream(file)) {
                        tika.parse(is, met);
                        Document document = new Document();
                        for (String key : met.names()) {
@@ -85,8 +81,6 @@ public class MetadataAwareLuceneIndexer
                                }
                                writer.addDocument(document);
                        }
-               } finally {
-                       is.close();
                }
        }
 

Modified: 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/ParsingExample.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-example/src/main/java/org/apache/tika/example/ParsingExample.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/ParsingExample.java
 (original)
+++ 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/ParsingExample.java
 Mon Aug 31 04:21:04 2015
@@ -51,12 +51,9 @@ public class ParsingExample {
      * @return The content of a file.
      */
     public String parseToStringExample() throws IOException, SAXException, 
TikaException {
-        InputStream stream = 
ParsingExample.class.getResourceAsStream("test.doc");
         Tika tika = new Tika();
-        try {
+        try (InputStream stream = 
ParsingExample.class.getResourceAsStream("test.doc")) {
             return tika.parseToString(stream);
-        } finally {
-            stream.close();
         }
     }
 
@@ -85,15 +82,12 @@ public class ParsingExample {
      * @return The content of a file.
      */
     public String parseExample() throws IOException, SAXException, 
TikaException {
-        InputStream stream = 
ParsingExample.class.getResourceAsStream("test.doc");
         AutoDetectParser parser = new AutoDetectParser();
         BodyContentHandler handler = new BodyContentHandler();
         Metadata metadata = new Metadata();
-        try {
+        try (InputStream stream = 
ParsingExample.class.getResourceAsStream("test.doc")) {
             parser.parse(stream, handler, metadata);
             return handler.toString();
-        } finally {
-            stream.close();
         }
     }
 
@@ -105,15 +99,12 @@ public class ParsingExample {
      * @return The content of a file.
      */
     public String parseNoEmbeddedExample() throws IOException, SAXException, 
TikaException {
-        InputStream stream = 
ParsingExample.class.getResourceAsStream("test_recursive_embedded.docx");
         AutoDetectParser parser = new AutoDetectParser();
         BodyContentHandler handler = new BodyContentHandler();
         Metadata metadata = new Metadata();
-        try {
+        try (InputStream stream = 
ParsingExample.class.getResourceAsStream("test_recursive_embedded.docx")) {
             parser.parse(stream, handler, metadata, new ParseContext());
             return handler.toString();
-        } finally {
-            stream.close();
         }
     }
 
@@ -128,19 +119,15 @@ public class ParsingExample {
      * @throws TikaException
      */
     public String parseEmbeddedExample() throws IOException, SAXException, 
TikaException {
-        InputStream stream = 
ParsingExample.class.getResourceAsStream("test_recursive_embedded.docx");
         AutoDetectParser parser = new AutoDetectParser();
         BodyContentHandler handler = new BodyContentHandler();
         Metadata metadata = new Metadata();
         ParseContext context = new ParseContext();
         context.set(Parser.class, parser);
-        try {
+        try (InputStream stream = 
ParsingExample.class.getResourceAsStream("test_recursive_embedded.docx")) {
             parser.parse(stream, handler, metadata, context);
             return handler.toString();
-        } finally {
-            stream.close();
         }
-
     }
 
     /**
@@ -173,15 +160,12 @@ public class ParsingExample {
                 BasicContentHandlerFactory.HANDLER_TYPE.HTML, -1);
 
         RecursiveParserWrapper wrapper = new RecursiveParserWrapper(p, 
factory);
-        InputStream stream = 
ParsingExample.class.getResourceAsStream("test_recursive_embedded.docx");
         Metadata metadata = new Metadata();
         metadata.set(Metadata.RESOURCE_NAME_KEY, 
"test_recursive_embedded.docx");
         ParseContext context = new ParseContext();
 
-        try {
+        try (InputStream stream = 
ParsingExample.class.getResourceAsStream("test_recursive_embedded.docx")) {
             wrapper.parse(stream, new DefaultHandler(), metadata, context);
-        } finally {
-            stream.close();
         }
         return wrapper.getMetadata();
     }

Modified: 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/TIAParsingExample.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-example/src/main/java/org/apache/tika/example/TIAParsingExample.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/TIAParsingExample.java
 (original)
+++ 
tika/trunk/tika-example/src/main/java/org/apache/tika/example/TIAParsingExample.java
 Mon Aug 31 04:21:04 2015
@@ -62,16 +62,13 @@ public class TIAParsingExample {
 
        public static void parseToReaderExample() throws Exception {
                File document = new File("example.doc");
-               Reader reader = new Tika().parse(document);
-               try {
+               try (Reader reader = new Tika().parse(document)) {
                        char[] buffer = new char[1000];
                        int n = reader.read(buffer);
                        while (n != -1) {
                                System.out.append(CharBuffer.wrap(buffer, 0, 
n));
                                n = reader.read(buffer);
                        }
-               } finally {
-                       reader.close();
                }
        }
 
@@ -80,11 +77,8 @@ public class TIAParsingExample {
                ContentHandler handler = new DefaultHandler();
                Metadata metadata = new Metadata();
                ParseContext context = new ParseContext();
-               InputStream stream = new FileInputStream(new File(filename));
-               try {
+               try (InputStream stream = new FileInputStream(new 
File(filename))) {
                        parser.parse(stream, handler, metadata, context);
-               } finally {
-                       stream.close();
                }
        }
 
@@ -93,11 +87,8 @@ public class TIAParsingExample {
                ContentHandler handler = new DefaultHandler();
                Metadata metadata = new Metadata();
                ParseContext context = new ParseContext();
-               InputStream stream = new GZIPInputStream(new 
URL(address).openStream());
-               try {
+               try (InputStream stream = new GZIPInputStream(new 
URL(address).openStream())) {
                        parser.parse(stream, handler, metadata, context);
-               } finally {
-                       stream.close();
                }
        }
 
@@ -106,22 +97,16 @@ public class TIAParsingExample {
                ContentHandler handler = new DefaultHandler();
                Metadata metadata = new Metadata();
                ParseContext context = new ParseContext();
-               InputStream stream = TikaInputStream.get(new File(filename));
-               try {
+               try (InputStream stream = TikaInputStream.get(new 
File(filename))) {
                        parser.parse(stream, handler, metadata, context);
-               } finally {
-                       stream.close();
                }
        }
 
        public static File tikaInputStreamGetFile(String filename) throws 
Exception {
-               InputStream stream = TikaInputStream.get(new File(filename));
-               try {
+               try (InputStream stream = TikaInputStream.get(new 
File(filename))) {
                        TikaInputStream tikaInputStream = 
TikaInputStream.get(stream);
                        File file = tikaInputStream.getFile();
                        return file;
-               } finally {
-                       stream.close();
                }
        }
 
@@ -166,13 +151,10 @@ public class TIAParsingExample {
                ParseContext context = new ParseContext();
                Parser parser = new AutoDetectParser();
                LinkContentHandler linkCollector = new LinkContentHandler();
-               OutputStream output = new FileOutputStream(new File(filename));
-               try {
+               try (OutputStream output = new FileOutputStream(new 
File(filename))) {
                        ContentHandler handler = new TeeContentHandler(
                                        new BodyContentHandler(output), 
linkCollector);
                        parser.parse(stream, handler, metadata, context);
-               } finally {
-                       output.close();
                }
        }
 

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/code/SourceCodeParser.java
 Mon Aug 31 04:21:04 2015
@@ -83,9 +83,9 @@ public class SourceCodeParser implements
   public void parse(InputStream stream, ContentHandler handler, Metadata 
metadata, ParseContext context)
       throws IOException, SAXException, TikaException {
 
-    AutoDetectReader reader = new AutoDetectReader(new 
CloseShieldInputStream(stream), metadata, context.get(ServiceLoader.class, 
LOADER));
-
-    try {
+    try (AutoDetectReader reader = new AutoDetectReader(
+            new CloseShieldInputStream(stream), metadata,
+            context.get(ServiceLoader.class, LOADER))) {
       Charset charset = reader.getCharset();
       String mediaType = metadata.get(Metadata.CONTENT_TYPE);
       String name = metadata.get(Metadata.RESOURCE_NAME_KEY);
@@ -107,9 +107,9 @@ public class SourceCodeParser implements
         }
         metadata.set("LoC", String.valueOf(nbLines));
         Renderer renderer = getRenderer(type.toString());
-        
+
         String codeAsHtml = renderer.highlight(name, out.toString(), 
charset.name(), false);
-        
+
         Schema schema = context.get(Schema.class, HTML_SCHEMA);
 
         org.ccil.cowan.tagsoup.Parser parser = new 
org.ccil.cowan.tagsoup.Parser();
@@ -117,8 +117,6 @@ public class SourceCodeParser implements
         parser.setContentHandler(handler);
         parser.parse(new InputSource(new StringReader(codeAsHtml)));
       }
-    } finally {
-      reader.close();
     }
 
   }

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java
 Mon Aug 31 04:21:04 2015
@@ -69,13 +69,10 @@ public class Pkcs7Parser extends Abstrac
                 if (content == null) {
                     throw new TikaException("cannot parse detached pkcs7 
signature (no signed data to parse)");
                 }
-                InputStream input = content.getContentStream();
-                try {
+                try (InputStream input = content.getContentStream()) {
                     Parser delegate =
                             context.get(Parser.class, EmptyParser.INSTANCE);
                     delegate.parse(input, handler, metadata, context);
-                } finally {
-                    input.close();
                 }
             } finally {
                 parser.close();

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java
 Mon Aug 31 04:21:04 2015
@@ -57,10 +57,9 @@ public class EnviHeaderParser extends Ab
 
         // The following code was taken from the TXTParser
         // Automatically detect the character encoding
-        AutoDetectReader reader = new AutoDetectReader(
-                new CloseShieldInputStream(stream), metadata);
 
-        try {
+        try (AutoDetectReader reader = new AutoDetectReader(
+                new CloseShieldInputStream(stream), metadata)) {
             Charset charset = reader.getCharset();
             MediaType type = new MediaType(MediaType.TEXT_PLAIN, charset);
             // deprecated, see TIKA-431
@@ -78,10 +77,8 @@ public class EnviHeaderParser extends Ab
                 xhtml.characters(line);
                 xhtml.endElement("p");
             }
-            
+
             xhtml.endDocument();
-        } finally {
-            reader.close();
         }
     }
 }

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/gdal/GDALParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/gdal/GDALParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/gdal/GDALParser.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/gdal/GDALParser.java
 Mon Aug 31 04:21:04 2015
@@ -384,14 +384,11 @@ public class GDALParser extends Abstract
     private String extractOutput(InputStream stream) throws SAXException,
             IOException {
         StringBuilder sb = new StringBuilder();
-        Reader reader = new InputStreamReader(stream, UTF_8);
-        try {
+        try (Reader reader = new InputStreamReader(stream, UTF_8)) {
             char[] buffer = new char[1024];
             for (int n = reader.read(buffer); n != -1; n = 
reader.read(buffer)) {
                 sb.append(buffer, 0, n);
             }
-        } finally {
-            reader.close();
         }
         return sb.toString();
     }
@@ -400,8 +397,7 @@ public class GDALParser extends Abstract
                                String output) throws SAXException, IOException 
{
         XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
         InputStream stream = new ByteArrayInputStream(output.getBytes(UTF_8));
-        Reader reader = new InputStreamReader(stream, UTF_8);
-        try {
+        try (Reader reader = new InputStreamReader(stream, UTF_8)) {
             xhtml.startDocument();
             xhtml.startElement("p");
             char[] buffer = new char[1024];
@@ -411,7 +407,6 @@ public class GDALParser extends Abstract
             xhtml.endElement("p");
 
         } finally {
-            reader.close();
             xhtml.endDocument();
         }
 

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlParser.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlParser.java
 Mon Aug 31 04:21:04 2015
@@ -78,10 +78,8 @@ public class HtmlParser extends Abstract
             Metadata metadata, ParseContext context)
             throws IOException, SAXException, TikaException {
         // Automatically detect the character encoding
-        AutoDetectReader reader = new AutoDetectReader(
-                new CloseShieldInputStream(stream), metadata,
-                context.get(ServiceLoader.class, LOADER));
-        try {
+        try (AutoDetectReader reader = new AutoDetectReader(new 
CloseShieldInputStream(stream),
+                metadata,context.get(ServiceLoader.class, LOADER))) {
             Charset charset = reader.getCharset();
             String previous = metadata.get(Metadata.CONTENT_TYPE);
             MediaType contentType = null;
@@ -122,8 +120,6 @@ public class HtmlParser extends Abstract
                     new HtmlHandler(mapper, handler, metadata)));
 
             parser.parse(reader.asInputSource());
-        } finally {
-            reader.close();
         }
     }
 

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java
 Mon Aug 31 04:21:04 2015
@@ -163,9 +163,8 @@ public class ImageParser extends Abstrac
                 if (iterator.hasNext()) {
                     ImageReader reader = iterator.next();
                     try {
-                        ImageInputStream imageStream = 
ImageIO.createImageInputStream(
-                                new CloseShieldInputStream(stream));
-                        try {
+                        try (ImageInputStream imageStream = 
ImageIO.createImageInputStream(
+                                new CloseShieldInputStream(stream))) {
                             reader.setInput(imageStream);
 
                             metadata.set(Metadata.IMAGE_WIDTH, 
Integer.toString(reader.getWidth(0)));
@@ -174,8 +173,6 @@ public class ImageParser extends Abstrac
                             metadata.set("width", 
Integer.toString(reader.getWidth(0)));
 
                             loadMetadata(reader.getImageMetadata(0), metadata);
-                        } finally {
-                            imageStream.close();
                         }
                     } finally {
                         reader.dispose();

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java
 Mon Aug 31 04:21:04 2015
@@ -62,12 +62,9 @@ public class ISATabUtils {
        
        public static void parseInvestigation(InputStream stream, 
XHTMLContentHandler handler, Metadata metadata, ParseContext context, String 
studyFileName) throws IOException, TikaException, SAXException {
                // Automatically detect the character encoding
-               AutoDetectReader reader = new AutoDetectReader(new 
CloseShieldInputStream(stream), metadata, context.get(ServiceLoader.class, 
LOADER));
-
-               try {
+               try (AutoDetectReader reader = new AutoDetectReader(new 
CloseShieldInputStream(stream),
+                               metadata, context.get(ServiceLoader.class, 
LOADER))) {
                        extractMetadata(reader, metadata, studyFileName);
-               } finally {
-                       reader.close();
                }
        }
        
@@ -78,11 +75,10 @@ public class ISATabUtils {
        public static void parseStudy(InputStream stream, XHTMLContentHandler 
xhtml, Metadata metadata, ParseContext context) throws IOException, 
TikaException, SAXException {
                TikaInputStream tis = TikaInputStream.get(stream);
                // Automatically detect the character encoding
-               AutoDetectReader reader = new AutoDetectReader(new 
CloseShieldInputStream(tis), metadata, context.get(ServiceLoader.class, 
LOADER));
-               CSVParser csvParser = null;
-               
-               try {
-                       csvParser = new CSVParser(reader, CSVFormat.TDF);
+
+               try (AutoDetectReader reader = new AutoDetectReader(new 
CloseShieldInputStream(tis),
+                               metadata, context.get(ServiceLoader.class, 
LOADER));
+                        CSVParser csvParser = new CSVParser(reader, 
CSVFormat.TDF)) {
                        Iterator<CSVRecord> iterator = csvParser.iterator();
 
                        xhtml.startElement("table");
@@ -112,10 +108,6 @@ public class ISATabUtils {
                        xhtml.endElement("tbody");
 
                        xhtml.endElement("table");
-
-               } finally {
-                       reader.close();
-                       csvParser.close();
                }
        }
        
@@ -123,16 +115,14 @@ public class ISATabUtils {
                TikaInputStream tis = TikaInputStream.get(stream);
                
                // Automatically detect the character encoding
-               AutoDetectReader reader = new AutoDetectReader(new 
CloseShieldInputStream(tis), metadata, context.get(ServiceLoader.class, 
LOADER));
-               CSVParser csvParser = null;
-               
-               try {
-                       csvParser = new CSVParser(reader, CSVFormat.TDF);
-                       
+
+               try (AutoDetectReader reader = new AutoDetectReader(new 
CloseShieldInputStream(tis),
+                               metadata, context.get(ServiceLoader.class, 
LOADER));
+                        CSVParser csvParser = new CSVParser(reader, 
CSVFormat.TDF)) {
                        xhtml.startElement("table");
-                       
+
                        Iterator<CSVRecord> iterator = csvParser.iterator();
-                       
+
                        xhtml.startElement("thead");
                        if (iterator.hasNext()) {
                                CSVRecord record = iterator.next();
@@ -143,7 +133,7 @@ public class ISATabUtils {
                                }
                        }
                        xhtml.endElement("thead");
-                       
+
                        xhtml.startElement("tbody");
                        while (iterator.hasNext()) {
                                CSVRecord record = iterator.next();
@@ -156,12 +146,8 @@ public class ISATabUtils {
                                xhtml.endElement("tr");
                        }
                        xhtml.endElement("tbody");
-                       
+
                        xhtml.endElement("table");
-                       
-               } finally {
-                       reader.close();
-                       csvParser.close();
                }
        }
        
@@ -171,25 +157,20 @@ public class ISATabUtils {
                boolean studyTarget = false;
                                
                Map<String, String> map = new HashMap<String, String>();
-               
-               CSVParser csvParser = null;
-               try {
-                       csvParser = new CSVParser(reader, CSVFormat.TDF);
-                       
+
+               try (CSVParser csvParser = new CSVParser(reader, 
CSVFormat.TDF)) {
                        Iterator<CSVRecord> iterator = csvParser.iterator();
-                       
+
                        while (iterator.hasNext()) {
                                CSVRecord record = iterator.next();
                                String field = record.get(0);
                                if 
((field.toUpperCase(Locale.ENGLISH).equals(field)) && (record.size() == 1)) {
                                        investigationSection = 
Arrays.asList(sections).contains(field);
                                        studySection = (studyFileName != null) 
&& (field.equals(studySectionField));
-                               }
-                               else {
+                               } else {
                                        if (investigationSection) {
                                                addMetadata(field, record, 
metadata);
-                                       }
-                                       else if (studySection) {
+                                       } else if (studySection) {
                                                if (studyTarget) {
                                                        break;
                                                }
@@ -200,16 +181,13 @@ public class ISATabUtils {
                                                        mapStudyToMetadata(map, 
metadata);
                                                        studySection = false;
                                                }
-                                       }
-                                       else if (studyTarget) {
+                                       } else if (studyTarget) {
                                                addMetadata(field, record, 
metadata);
                                        }
                                }
                        }
                } catch (IOException ioe) {
                        throw ioe;
-               } finally {
-                       csvParser.close();
                }
        }
        

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
 Mon Aug 31 04:21:04 2015
@@ -103,12 +103,9 @@ public class IWorkPackageParser extends
                  return null;
              }
 
-             InputStream stream = zip.getInputStream(entry);
-             try {
-                return detectType(stream);
-             } finally {
-                 stream.close();
-             }
+              try (InputStream stream = zip.getInputStream(entry)) {
+                  return detectType(stream);
+              }
           } catch (IOException e) {
              return null;
           }

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/jdbc/SQLite3DBParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/jdbc/SQLite3DBParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/jdbc/SQLite3DBParser.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/jdbc/SQLite3DBParser.java
 Mon Aug 31 04:21:04 2015
@@ -92,18 +92,13 @@ class SQLite3DBParser extends AbstractDB
                                          ParseContext context) throws 
SQLException {
         List<String> tableNames = new LinkedList<String>();
 
-        Statement st = null;
-        try {
-            st = connection.createStatement();
+        try (Statement st = connection.createStatement()) {
             String sql = "SELECT name FROM sqlite_master WHERE type='table'";
             ResultSet rs = st.executeQuery(sql);
 
             while (rs.next()) {
                 tableNames.add(rs.getString(1));
             }
-        } finally {
-            if (st != null)
-                st.close();
         }
         return tableNames;
     }

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
 Mon Aug 31 04:21:04 2015
@@ -93,8 +93,7 @@ public class MboxParser extends Abstract
         xhtml.startDocument();
 
         InputStreamReader isr = new InputStreamReader(stream, charsetName);
-        BufferedReader reader = new BufferedReader(isr);
-        try {
+        try (BufferedReader reader = new BufferedReader(isr)) {
             String curLine = reader.readLine();
             int mailItem = 0;
             do {
@@ -140,9 +139,6 @@ public class MboxParser extends Abstract
                 }
 
             } while (curLine != null && 
!Thread.currentThread().isInterrupted());
-
-        } finally {
-            reader.close();
         }
 
         xhtml.endDocument();

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java
 Mon Aug 31 04:21:04 2015
@@ -146,15 +146,12 @@ abstract class AbstractPOIFSExtractor {
             // It's OOXML (has a ZipFile):
             Entry ooxml = dir.getEntry("Package");
 
-            TikaInputStream stream = TikaInputStream.get(
-                    new DocumentInputStream((DocumentEntry) ooxml));
-            try {
+            try (TikaInputStream stream = TikaInputStream.get(
+                    new DocumentInputStream((DocumentEntry) ooxml))) {
                 ZipContainerDetector detector = new ZipContainerDetector();
                 MediaType type = detector.detect(stream, new Metadata());
                 handleEmbeddedResource(stream, null, dir.getName(), 
type.toString(), xhtml, true);
                 return;
-            } finally {
-                stream.close();
             }
         }
 

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
 Mon Aug 31 04:21:04 2015
@@ -301,9 +301,7 @@ public class HSLFExtractor extends Abstr
                     xhtml.startElement("div", attributes);
                     xhtml.endElement("div");
 
-                    TikaInputStream stream =
-                            TikaInputStream.get(data.getData());
-                    try {
+                    try (TikaInputStream stream = 
TikaInputStream.get(data.getData())) {
                         String mediaType = null;
                         if ("Excel.Chart.8".equals(oleShape.getProgID())) {
                             mediaType = "application/vnd.ms-excel";
@@ -311,8 +309,6 @@ public class HSLFExtractor extends Abstr
                         handleEmbeddedResource(
                                 stream, objID, objID,
                                 mediaType, xhtml, false);
-                    } finally {
-                        stream.close();
                     }
                 }
             }

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java
 Mon Aug 31 04:21:04 2015
@@ -290,17 +290,14 @@ public class TesseractOCRParser extends
      */
     private void extractOutput(InputStream stream, XHTMLContentHandler xhtml) 
throws SAXException, IOException {
 
-        Reader reader = new InputStreamReader(stream, UTF_8);
         xhtml.startDocument();
         xhtml.startElement("div");
-        try {
+        try (Reader reader = new InputStreamReader(stream, UTF_8)) {
             char[] buffer = new char[1024];
             for (int n = reader.read(buffer); n != -1; n = 
reader.read(buffer)) {
                 if (n > 0)
                     xhtml.characters(buffer, 0, n);
             }
-        } finally {
-            reader.close();
         }
         xhtml.endElement("div");
         xhtml.endDocument();

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/RarParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/RarParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/RarParser.java 
(original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/RarParser.java 
Mon Aug 31 04:21:04 2015
@@ -65,9 +65,8 @@ public class RarParser extends AbstractP
                 EmbeddedDocumentExtractor.class,
                 new ParsingEmbeddedDocumentExtractor(context));
 
-        TemporaryResources tmp = new TemporaryResources();
         Archive rar = null;
-        try {
+        try (TemporaryResources tmp = new TemporaryResources()) {
             TikaInputStream tis = TikaInputStream.get(stream, tmp);
             rar = new Archive(tis.getFile());
 
@@ -81,12 +80,9 @@ public class RarParser extends AbstractP
             FileHeader header = rar.nextFileHeader();
             while (header != null && !Thread.currentThread().isInterrupted()) {
                 if (!header.isDirectory()) {
-                    InputStream subFile = null;
-                    try {
-                        subFile = rar.getInputStream(header);
-
+                    try (InputStream subFile = rar.getInputStream(header)) {
                         Metadata entrydata = PackageParser.handleEntryMetadata(
-                                
"".equals(header.getFileNameW())?header.getFileNameString():header.getFileNameW(),
+                                "".equals(header.getFileNameW()) ? 
header.getFileNameString() : header.getFileNameW(),
                                 header.getCTime(), header.getMTime(),
                                 header.getFullUnpackSize(),
                                 xhtml
@@ -95,9 +91,6 @@ public class RarParser extends AbstractP
                         if (extractor.shouldParseEmbedded(entrydata)) {
                             extractor.parseEmbedded(subFile, handler, 
entrydata, true);
                         }
-                    } finally {
-                        if (subFile != null)
-                            subFile.close();
                     }
                 }
 
@@ -109,7 +102,7 @@ public class RarParser extends AbstractP
         } finally {
             if (rar != null)
                 rar.close();
-            tmp.close();
+
         }
 
         xhtml.endDocument();

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/ZipContainerDetector.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/ZipContainerDetector.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/ZipContainerDetector.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/ZipContainerDetector.java
 Mon Aug 31 04:21:04 2015
@@ -188,11 +188,8 @@ public class ZipContainerDetector implem
         try {
             ZipArchiveEntry mimetype = zip.getEntry("mimetype");
             if (mimetype != null) {
-                InputStream stream = zip.getInputStream(mimetype);
-                try {
+                try (InputStream stream = zip.getInputStream(mimetype)) {
                     return MediaType.parse(IOUtils.toString(stream, UTF_8));
-                } finally {
-                    stream.close();
                 }
             } else {
                 return null;

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/rtf/RTFObjDataParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/rtf/RTFObjDataParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/rtf/RTFObjDataParser.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/rtf/RTFObjDataParser.java
 Mon Aug 31 04:21:04 2015
@@ -126,11 +126,8 @@ class RTFObjDataParser {
                                        AtomicInteger unknownFilenameCount)
             throws IOException {
 
-        NPOIFSFileSystem fs = null;
         byte[] ret = null;
-        try {
-
-            fs = new NPOIFSFileSystem(is);
+        try (NPOIFSFileSystem fs = new NPOIFSFileSystem(is)) {
 
             DirectoryNode root = fs.getRoot();
 
@@ -166,15 +163,9 @@ class RTFObjDataParser {
                         contentsEntry = (DocumentEntry) 
root.getEntry("Contents");
                     }
 
-                    DocumentInputStream inp = null;
-                    try {
-                        inp = new DocumentInputStream(contentsEntry);
+                    try (DocumentInputStream inp = new 
DocumentInputStream(contentsEntry)) {
                         ret = new byte[contentsEntry.getSize()];
                         inp.readFully(ret);
-                    } finally {
-                        if (inp != null) {
-                            inp.close();
-                        }
                     }
                 } else {
 
@@ -186,10 +177,6 @@ class RTFObjDataParser {
                     metadata.set(Metadata.CONTENT_TYPE, 
type.getType().toString());
                 }
             }
-        } finally {
-            if (fs != null) {
-                fs.close();
-            }
         }
         return ret;
     }

Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/strings/StringsParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/strings/StringsParser.java?rev=1700195&r1=1700194&r2=1700195&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/strings/StringsParser.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/strings/StringsParser.java
 Mon Aug 31 04:21:04 2015
@@ -264,12 +264,9 @@ public class StringsParser extends Abstr
                        throws SAXException, IOException {
 
                char[] buffer = new char[1024];
-               BufferedReader reader = null;
                int totalBytes = 0;
 
-               try {
-                       reader = new BufferedReader(new 
InputStreamReader(stream, UTF_8));
-
+               try (BufferedReader reader = new BufferedReader(new 
InputStreamReader(stream, UTF_8))) {
                        int n = 0;
                        while ((n = reader.read(buffer)) != -1) {
                                if (n > 0) {
@@ -278,8 +275,6 @@ public class StringsParser extends Abstr
                                totalBytes += n;
                        }
 
-               } finally {
-                       reader.close();
                }
 
                return totalBytes;
@@ -317,18 +312,13 @@ public class StringsParser extends Abstr
 
                InputStream out = process.getInputStream();
 
-               BufferedReader reader = null;
                String fileOutput = null;
 
-               try {
-                       reader = new BufferedReader(new InputStreamReader(out, 
UTF_8));
+               try (BufferedReader reader = new BufferedReader(new 
InputStreamReader(out, UTF_8))) {
                        fileOutput = reader.readLine();
-
                } catch (IOException ioe) {
                        // file output not available!
                        fileOutput = "";
-               } finally {
-                       reader.close();
                }
 
                return fileOutput;


Reply via email to