Author: schor Date: Tue Feb 5 21:14:54 2019 New Revision: 1853037 URL: http://svn.apache.org/viewvc?rev=1853037&view=rev Log: [UIMA-5931] try-with-resources
Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/SerializationUtils.java uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/SystemEnvReader.java uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationController.java uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationDescriptor.java uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationDescriptorHandler.java uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationProcessor.java uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/LocalInstallationAgent.java uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/resource/impl/RelativePathResolver_impl.java uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/util/FileUtils.java uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngine_implTest.java uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/SerializationNoMDTest.java uima/uv3/uimaj-v3/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/Checkpoint.java uima/uv3/uimaj-v3/trunk/uimaj-ep-launcher/src/main/java/org/apache/uima/ep_launcher/RemoteLauncher.java uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/cpe/XCasWriterCasConsumer.java uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/Ecore2UimaTypeSystem.java uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/XmiCollectionReader.java uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/XmiWriterCasConsumer.java uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/tutorial/ex6/StringMapResource_impl.java uima/uv3/uimaj-v3/trunk/uimaj-json/src/test/java/org/apache/uima/json/JsonCasSerializerTest.java uima/uv3/uimaj-v3/trunk/uimaj-test-util/src/main/java/org/apache/uima/test/junit_extension/FileCompare.java uima/uv3/uimaj-v3/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XCasWriterCasConsumer.java uima/uv3/uimaj-v3/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XmiWriterCasConsumer.java Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/SerializationUtils.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/SerializationUtils.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/SerializationUtils.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/SerializationUtils.java Tue Feb 5 21:14:54 2019 @@ -58,16 +58,11 @@ public abstract class SerializationUtils return null; } - ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); - ObjectOutputStream objStream = null; - try { - objStream = new ObjectOutputStream(byteStream); + try (ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); + ObjectOutputStream objStream = new ObjectOutputStream(byteStream)) { objStream.writeObject(aObject); objStream.flush(); return byteStream.toByteArray(); - } finally { - if (objStream != null) - objStream.close(); } } @@ -90,14 +85,9 @@ public abstract class SerializationUtils return null; } - ByteArrayInputStream byteStream = new ByteArrayInputStream(aBytes); - ObjectInputStream objStream = null; - try { - objStream = new ObjectInputStream(byteStream); + try (ByteArrayInputStream byteStream = new ByteArrayInputStream(aBytes); + ObjectInputStream objStream = new ObjectInputStream(byteStream)) { return objStream.readObject(); - } finally { - if (objStream != null) - objStream.close(); } } } Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/SystemEnvReader.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/SystemEnvReader.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/SystemEnvReader.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/internal/util/SystemEnvReader.java Tue Feb 5 21:14:54 2019 @@ -49,9 +49,7 @@ public class SystemEnvReader { // our last hope, we assume Unix p = r.exec("env"); } - BufferedReader br = null; - try { - br = new BufferedReader(new InputStreamReader(p.getInputStream())); + try (BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()))) { String line; while ((line = br.readLine()) != null) { int idx = line.indexOf('='); @@ -61,15 +59,8 @@ public class SystemEnvReader { String value = (idx < line.length() - 1) ? line.substring(idx + 1) : ""; envVars.setProperty(key, value); } - } finally { - if (br != null) { - try { - br.close(); - } catch (Exception e) { - // do nothing - } - } } + // do nothing return envVars; } Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationController.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationController.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationController.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationController.java Tue Feb 5 21:14:54 2019 @@ -1754,19 +1754,9 @@ public class InstallationController { PearSpecifier pearSpec = UIMAFramework.getResourceSpecifierFactory().createPearSpecifier(); pearSpec.setPearPath(mainComponentRootPath); File outputFile = new File(mainComponentRootPath, mainComponentId + PEAR_DESC_FILE_POSTFIX); - FileOutputStream fos = null; - try - { - fos = new FileOutputStream(outputFile); - pearSpec.toXML(fos); - } - finally - { - if (fos != null) - { - fos.close(); - } + try (OutputStream fos = new FileOutputStream(outputFile)) { + pearSpec.toXML(fos); } } @@ -1779,9 +1769,7 @@ public class InstallationController { */ protected synchronized void generateSetEnvFile() throws IOException { File setEnvFile = new File(_mainComponentRoot, SET_ENV_FILE); - PrintWriter fWriter = null; - try { - fWriter = new PrintWriter(new FileWriter(setEnvFile)); + try (PrintWriter fWriter = new PrintWriter(new FileWriter(setEnvFile))) { fWriter.println("### Add the following environment variables"); fWriter.println("### to appropriate existing environment variables"); fWriter.println("### to run the " + _mainComponentId + " component"); @@ -1802,18 +1790,10 @@ public class InstallationController { String varValue = envVarTable.getProperty(varName); // add env.var. setting if (varName.length() > 0 && varValue.length() > 0 - && !varName.equalsIgnoreCase(CLASSPATH_VAR) && !varName.equalsIgnoreCase(PATH_VAR)) { + && !varName.equalsIgnoreCase(CLASSPATH_VAR) && !varName.equalsIgnoreCase(PATH_VAR)) { fWriter.println(varName + "=" + varValue); } } - } finally { - if (fWriter != null) { - try { - fWriter.close(); - } catch (Exception e) { - // ignore close exception - } - } } } @@ -1829,18 +1809,8 @@ public class InstallationController { File packageConfigFile = new File(_mainComponentRoot, PACKAGE_CONFIG_FILE); if (packageConfigFile.exists()) { // loading existing pear config file - InputStream iStream = null; - try { - iStream = new FileInputStream(packageConfigFile); + try (InputStream iStream = new FileInputStream(packageConfigFile)) { packageConfig.load(iStream); - } finally { - if (iStream != null) { - try { - iStream.close(); - } catch (Exception e) { - // ignore close exception - } - } } } // set local config params @@ -1854,19 +1824,9 @@ public class InstallationController { packageConfig.setProperty(idRoot, _installationTable.get(id).replace('\\', '/')); } // save pear config file - OutputStream oStream = null; - try { + try (OutputStream oStream = new FileOutputStream(packageConfigFile)) { String header = _mainComponentId; - oStream = new FileOutputStream(packageConfigFile); packageConfig.store(oStream, header); - } finally { - if (oStream != null) { - try { - oStream.close(); - } catch (Exception e) { - // ignore close exception - } - } } } Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationDescriptor.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationDescriptor.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationDescriptor.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationDescriptor.java Tue Feb 5 21:14:54 2019 @@ -1106,19 +1106,10 @@ public class InstallationDescriptor impl */ public String toString() { StringWriter sWriter = new StringWriter(); - PrintWriter oWriter = null; - try { - oWriter = new PrintWriter(sWriter); + try (PrintWriter oWriter = new PrintWriter(sWriter)) { InstallationDescriptorHandler.printInstallationDescriptor(this, oWriter); oWriter.flush(); } catch (Exception exc) { - } finally { - if (oWriter != null) { - try { - oWriter.close(); - } catch (Exception e) { - } - } } return sWriter.toString(); } Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationDescriptorHandler.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationDescriptorHandler.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationDescriptorHandler.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationDescriptorHandler.java Tue Feb 5 21:14:54 2019 @@ -398,21 +398,14 @@ public class InstallationDescriptorHandl */ public static void saveInstallationDescriptor(InstallationDescriptor insdObject, File xmlFile) throws IOException { - PrintWriter oWriter = null; - try { - oWriter = new PrintWriter(new OutputStreamWriter(new FileOutputStream(xmlFile), StandardCharsets.UTF_8)); + try (PrintWriter oWriter = new PrintWriter( + new OutputStreamWriter( + new FileOutputStream(xmlFile), StandardCharsets.UTF_8))) { oWriter.println(XML_HEADER); printInstallationDescriptor(insdObject, oWriter); } catch (IOException exc) { throw exc; - } finally { - if (oWriter != null) { - try { - oWriter.close(); - } catch (Exception e) { - } - } - } + } } /** Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationProcessor.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationProcessor.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationProcessor.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/InstallationProcessor.java Tue Feb 5 21:14:54 2019 @@ -122,19 +122,9 @@ public class InstallationProcessor { public static void generateVSDescriptor(InstallationDescriptor insdObject, File mainRootDir) throws IOException { File vsDescriptorFile = new File(mainRootDir, VS_DESCRIPTOR_PATH); - PrintWriter oWriter = null; - try { - oWriter = new PrintWriter(new FileWriter(vsDescriptorFile)); + try (PrintWriter oWriter = new PrintWriter(new FileWriter(vsDescriptorFile))) { String xmlContent = generateVSDescriptorContent(insdObject); oWriter.println(xmlContent); - oWriter.close(); - } finally { - if (oWriter != null) { - try { - oWriter.close(); - } catch (Exception e) { - } - } } } Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/LocalInstallationAgent.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/LocalInstallationAgent.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/LocalInstallationAgent.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/tools/LocalInstallationAgent.java Tue Feb 5 21:14:54 2019 @@ -287,21 +287,13 @@ public class LocalInstallationAgent { System.out.println("[LocalInstallationAgent]: " + "loaded installation descriptor"); // load PEAR configuration File packageConfigFile = new File(_mainRootDir, InstallationController.PACKAGE_CONFIG_FILE); - InputStream iStream = null; - try { - iStream = new FileInputStream(packageConfigFile); + try (InputStream iStream = new FileInputStream(packageConfigFile)) { _packageConfig.load(iStream); - iStream.close(); - System.out.println("[LocalInstallationAgent]: " + "loaded PEAR configuration"); - } finally { - if (iStream != null) { - try { - iStream.close(); - } catch (Exception e) { - //ignore close exception - } - } } + + System.out.println("[LocalInstallationAgent]: " + "loaded PEAR configuration"); + + //ignore close exception // check that package configuration has required properties if (checkPackageConfig(_packageConfig, _insdObject)) { // localize files in conf and desc dirs Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java Tue Feb 5 21:14:54 2019 @@ -388,35 +388,15 @@ public class FileUtil { */ @Deprecated public static boolean copyFile(File source, File destination) throws IOException { - boolean completed; - BufferedInputStream iStream = null; - BufferedOutputStream oStream = null; - try { - iStream = new BufferedInputStream(new FileInputStream(source)); - oStream = new BufferedOutputStream(new FileOutputStream(destination)); + try (BufferedInputStream iStream = new BufferedInputStream(new FileInputStream(source)); + BufferedOutputStream oStream = new BufferedOutputStream(new FileOutputStream(destination))) { byte[] block = new byte[4096]; int bCount = 0; while ((bCount = iStream.read(block)) > 0) { oStream.write(block, 0, bCount); } - iStream.close(); - oStream.close(); - completed = true; - } finally { - if (iStream != null) { - try { - iStream.close(); - } catch (Exception e) { - } - } - if (oStream != null) { - try { - oStream.close(); - } catch (Exception e) { - } - } } - return completed; + return true; } /** @@ -434,35 +414,15 @@ public class FileUtil { */ @Deprecated public static boolean copyFile(URL sourceUrl, File destination) throws IOException { - boolean completed = false; - BufferedInputStream iStream = null; - BufferedOutputStream oStream = null; - try { - iStream = new BufferedInputStream(sourceUrl.openStream()); - oStream = new BufferedOutputStream(new FileOutputStream(destination)); + try (BufferedInputStream iStream = new BufferedInputStream(sourceUrl.openStream()); + BufferedOutputStream oStream = new BufferedOutputStream(new FileOutputStream(destination))) { byte[] block = new byte[4096]; int bCount = 0; while ((bCount = iStream.read(block)) > 0) { oStream.write(block, 0, bCount); } - iStream.close(); - oStream.close(); - completed = true; - } finally { - if (iStream != null) { - try { - iStream.close(); - } catch (Exception e) { - } - } - if (oStream != null) { - try { - oStream.close(); - } catch (Exception e) { - } - } } - return completed; + return true; } /** @@ -776,32 +736,13 @@ public class FileUtil { File dir = file.getParentFile(); if (!dir.exists() && !dir.mkdirs()) throw new IOException("could not create directory " + dir.getAbsolutePath()); - BufferedInputStream iStream = null; - BufferedOutputStream oStream = null; - try { - iStream = new BufferedInputStream(jarFile.getInputStream(jarEntry)); - oStream = new BufferedOutputStream(new FileOutputStream(file)); + try (BufferedInputStream iStream = new BufferedInputStream(jarFile.getInputStream(jarEntry)); + BufferedOutputStream oStream = new BufferedOutputStream(new FileOutputStream(file))) { int bCount = 0; while ((bCount = iStream.read(block)) > 0) { totalBytes += bCount; oStream.write(block, 0, bCount); } - iStream.close(); - oStream.close(); - } finally { - // close streams - if (iStream != null) { - try { - iStream.close(); - } catch (Exception e) { - } - } - if (oStream != null) { - try { - oStream.close(); - } catch (Exception e) { - } - } } } } @@ -1027,20 +968,9 @@ public class FileUtil { */ @Deprecated public static String[] loadListOfStrings(File textFile) throws IOException { - BufferedReader iStream = null; - String[] outputArray = null; - try { - iStream = new BufferedReader(new InputStreamReader(new FileInputStream(textFile))); + String[] outputArray; + try (BufferedReader iStream = new BufferedReader(new InputStreamReader(new FileInputStream(textFile)))) { outputArray = loadListOfStrings(iStream); - } catch (IOException exc) { - throw exc; - } finally { - if (iStream != null) { - try { - iStream.close(); - } catch (Exception e) { - } - } } return (outputArray != null) ? outputArray : Constants.EMPTY_STRING_ARRAY; } @@ -1058,20 +988,9 @@ public class FileUtil { URLConnection urlConnection = textFileURL.openConnection(); // See https://issues.apache.org/jira/browse/UIMA-1746 urlConnection.setUseCaches(false); - BufferedReader iStream = null; - String[] outputArray = null; - try { - iStream = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); + String[] outputArray; + try (BufferedReader iStream = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()))) { outputArray = loadListOfStrings(iStream); - } catch (IOException exc) { - throw exc; - } finally { - if (iStream != null) { - try { - iStream.close(); - } catch (Exception e) { - } - } } return (outputArray != null) ? outputArray : Constants.EMPTY_STRING_ARRAY; } @@ -1094,18 +1013,9 @@ public class FileUtil { String name = propFilePath.replace('\\', '/'); JarEntry jarEntry = jarFile.getJarEntry(name); if (jarEntry != null) { - InputStream iStream = null; - try { - iStream = jarFile.getInputStream(jarEntry); + try (InputStream iStream = jarFile.getInputStream(jarEntry)) { properties = new Properties(); properties.load(iStream); - } finally { - if (iStream != null) { - try { - iStream.close(); - } catch (Exception e) { - } - } } } return properties; @@ -1157,20 +1067,9 @@ public class FileUtil { */ @Deprecated public static String loadTextFile(File textFile) throws IOException { - BufferedReader iStream = null; - String content = null; - try { - iStream = new BufferedReader(new FileReader(textFile)); + String content; + try (BufferedReader iStream = new BufferedReader(new FileReader(textFile))) { content = loadTextFile(iStream); - } catch (IOException exc) { - throw exc; - } finally { - if (iStream != null) { - try { - iStream.close(); - } catch (Exception e) { - } - } } return content; } @@ -1191,22 +1090,9 @@ public class FileUtil { */ @Deprecated public static String loadTextFile(File textFile, String encoding) throws IOException { - BufferedReader iStream = null; - String content = null; - try { - iStream = new BufferedReader(new InputStreamReader(new FileInputStream(textFile), encoding)); - content = loadTextFile(iStream); - } catch (IOException exc) { - throw exc; - } finally { - if (iStream != null) { - try { - iStream.close(); - } catch (Exception e) { - } - } + try (BufferedReader iStream = new BufferedReader(new InputStreamReader(new FileInputStream(textFile), encoding))) { + return loadTextFile(iStream); } - return content; } /** @@ -1235,24 +1121,11 @@ public class FileUtil { * If any I/O exception occurs. */ public static String loadTextFile(URLConnection urlConnection) throws IOException { - BufferedReader iStream = null; - String content = null; // See https://issues.apache.org/jira/browse/UIMA-1746 - urlConnection.setUseCaches(false); - try { - iStream = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); - content = loadTextFile(iStream); - } catch (IOException exc) { - throw exc; - } finally { - if (iStream != null) { - try { - iStream.close(); - } catch (Exception e) { - } - } + urlConnection.setUseCaches(false); + try (BufferedReader iStream = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()))) { + return loadTextFile(iStream); } - return content; } /** @@ -1272,17 +1145,8 @@ public class FileUtil { String name = filePath.replace('\\', '/'); JarEntry jarEntry = jarFile.getJarEntry(name); if (jarEntry != null) { - BufferedReader iStream = null; - try { - iStream = new BufferedReader(new InputStreamReader(jarFile.getInputStream(jarEntry))); + try (BufferedReader iStream = new BufferedReader(new InputStreamReader(jarFile.getInputStream(jarEntry)))) { content = loadTextFile(iStream); - } finally { - if (iStream != null) { - try { - iStream.close(); - } catch (Exception e) { - } - } } } return content; @@ -1473,21 +1337,12 @@ public class FileUtil { * If any I/O exception occurred. */ public static File zipDirectory(File dir2zip, File zippedFile) throws IOException { - ZipOutputStream zoStream = null; - try { + try (ZipOutputStream zoStream = new ZipOutputStream(new FileOutputStream(zippedFile))) { // open compressed output stream - zoStream = new ZipOutputStream(new FileOutputStream(zippedFile)); // add output zip file to exclusions File[] excludeFiles = new File[1]; excludeFiles[0] = zippedFile; zipDirectory(dir2zip, zoStream, dir2zip, excludeFiles); - } finally { - if (zoStream != null) { - try { - zoStream.close(); - } catch (Exception e) { - } - } } return zippedFile; } Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/resource/impl/RelativePathResolver_impl.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/resource/impl/RelativePathResolver_impl.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/resource/impl/RelativePathResolver_impl.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/resource/impl/RelativePathResolver_impl.java Tue Feb 5 21:14:54 2019 @@ -165,19 +165,10 @@ public class RelativePathResolver_impl i * Utility method that checks to see if a file exists at the specified URL. */ protected boolean fileExistsAtUrl(URL aUrl) { - InputStream testStream = null; - try { - testStream = aUrl.openStream(); + try (InputStream testStream = aUrl.openStream()) { return true; } catch (IOException e) { return false; - } finally { - if (testStream != null) { - try { - testStream.close(); - } catch (IOException e) { - } - } } } Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/util/FileUtils.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/util/FileUtils.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/util/FileUtils.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/util/FileUtils.java Tue Feb 5 21:14:54 2019 @@ -187,15 +187,9 @@ public class FileUtils { * If for any reason the file can't be written. */ public static void saveString2File(String s, File file, String encoding) throws IOException { - BufferedWriter writer = null; - try { - writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), encoding)); + try (BufferedWriter writer = new BufferedWriter( + new OutputStreamWriter(new FileOutputStream(file), encoding))) { writer.write(s); - writer.close(); - } finally { - if (writer != null) { - writer.close(); - } } } @@ -354,11 +348,8 @@ public class FileUtils { throw new IOException("Can't write output file: " + outFile); } byte[] bytes = new byte[(int) file.length()]; - FileInputStream is = null; - FileOutputStream os = null; - try { - is = new FileInputStream(file); - os = new FileOutputStream(outFile); + try (FileInputStream is = new FileInputStream(file); + FileOutputStream os = new FileOutputStream(outFile)) { while (true) { int count = is.read(bytes); @@ -367,13 +358,6 @@ public class FileUtils { } os.write(bytes, 0, count); } - } finally { - if (null != is) { - is.close(); - } - if (null != os) { - os.close(); - } } } Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngine_implTest.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngine_implTest.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngine_implTest.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngine_implTest.java Tue Feb 5 21:14:54 2019 @@ -366,9 +366,9 @@ public class AnalysisEngine_implTest ext desc = UIMAFramework.getXMLParser().parseAnalysisEngineDescription(in); Map<String,Object> additionalParams = new HashMap<>(); Settings extSettings = UIMAFramework.getResourceSpecifierFactory().createSettings(); - FileInputStream fis = new FileInputStream(new File(resDir,"testExternalOverride2.settings")); - extSettings.load(fis); - fis.close(); + try (FileInputStream fis = new FileInputStream(new File(resDir,"testExternalOverride2.settings"))) { + extSettings.load(fis); + } additionalParams.put(Resource.PARAM_EXTERNAL_OVERRIDE_SETTINGS, extSettings); UIMAFramework.produceAnalysisEngine(desc, additionalParams); System.clearProperty("UimaExternalOverrides"); @@ -1642,19 +1642,19 @@ public class AnalysisEngine_implTest ext // Write out descriptor File cloneFile = new File(inFile.getParentFile(), "CopyOfAggregateWithManyDelegates.xml"); - BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(cloneFile)); - XMLSerializer xmlSerializer = new XMLSerializer(false); - xmlSerializer.setOutputStream(os); - // set the amount to a value which will show up if used - // indent should not be used because we're using a parser mode which preserves - // comments and ignorable white space. - // NOTE: Saxon appears to force the indent to be 3 - which is what the input file now uses. - xmlSerializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); - ContentHandler contentHandler = xmlSerializer.getContentHandler(); - contentHandler.startDocument(); - desc.toXML(contentHandler, true); - contentHandler.endDocument(); - os.close(); + try (BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(cloneFile))) { + XMLSerializer xmlSerializer = new XMLSerializer(false); + xmlSerializer.setOutputStream(os); + // set the amount to a value which will show up if used + // indent should not be used because we're using a parser mode which preserves + // comments and ignorable white space. + // NOTE: Saxon appears to force the indent to be 3 - which is what the input file now uses. + xmlSerializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); + ContentHandler contentHandler = xmlSerializer.getContentHandler(); + contentHandler.startDocument(); + desc.toXML(contentHandler, true); + contentHandler.endDocument(); + } String inXml = FileCompare.file2String(inFile); String cloneXml = FileCompare.file2String(cloneFile); Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/SerializationNoMDTest.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/SerializationNoMDTest.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/SerializationNoMDTest.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/SerializationNoMDTest.java Tue Feb 5 21:14:54 2019 @@ -21,13 +21,14 @@ package org.apache.uima.cas.test; import java.io.BufferedReader; import java.io.File; -import java.io.FileReader; import java.io.IOException; import java.io.StringReader; +import java.nio.file.Files; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import junit.framework.TestCase; import org.apache.uima.cas.CAS; import org.apache.uima.cas.CASException; import org.apache.uima.cas.FSIndex; @@ -50,8 +51,6 @@ import org.apache.uima.resource.metadata import org.apache.uima.test.junit_extension.JUnitExtension; import org.apache.uima.util.CasCreationUtils; -import junit.framework.TestCase; - /** * Class comment for TokenizerTest.java goes here. * @@ -374,26 +373,7 @@ public class SerializationNoMDTest exten * Various I/O errors. */ public static String file2String(File file) throws IOException { - // Read the file into a string using a char buffer. - FileReader reader = null; - int bufSize = (int) file.length(); // length in bytes >= length in chars due to encoding - char[] buf = new char[bufSize]; - int read_so_far = 0; - try { - reader = new FileReader(file); - while (read_so_far < bufSize) { - int count = reader.read(buf, read_so_far, bufSize - read_so_far); - if (count < 0) { - break; - } - read_so_far += count; - } - - } finally { - if (null != reader) - reader.close(); - } - return new String(buf, 0, read_so_far); + return new String(Files.readAllBytes(file.toPath())); } /** Modified: uima/uv3/uimaj-v3/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/Checkpoint.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/Checkpoint.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/Checkpoint.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/Checkpoint.java Tue Feb 5 21:14:54 2019 @@ -200,14 +200,11 @@ public class Checkpoint implements Runna rename(fileName); rename(synchPointFileName); // This stream is for the ProcessTrace part of the Checkppoint - FileOutputStream out = null; // This stream is for the SynchPoint part of the Checkpoint - FileOutputStream synchPointOut = null; ObjectOutputStream s = null; - try { - out = new FileOutputStream(fileName); - synchPointOut = new FileOutputStream(synchPointFileName); + try (FileOutputStream out = new FileOutputStream(fileName); + FileOutputStream synchPointOut = new FileOutputStream(synchPointFileName)) { s = new ObjectOutputStream(out); SynchPoint synchPoint = cpm.getSynchPoint(); @@ -217,17 +214,17 @@ public class Checkpoint implements Runna if (synchPoint != null) { if (UIMAFramework.getLogger().isLoggable(Level.FINEST)) { UIMAFramework.getLogger(this.getClass()).logrb(Level.FINEST, - this.getClass().getName(), "process", CPMUtils.CPM_LOG_RESOURCE_BUNDLE, - "UIMA_CPM_checkpoint_with_synchpoint__FINEST", - new Object[] { Thread.currentThread().getName() }); + this.getClass().getName(), "process", CPMUtils.CPM_LOG_RESOURCE_BUNDLE, + "UIMA_CPM_checkpoint_with_synchpoint__FINEST", + new Object[] {Thread.currentThread().getName()}); } targetToSave = new CheckpointData(pTrace, synchPoint); } else { if (UIMAFramework.getLogger().isLoggable(Level.FINEST)) { UIMAFramework.getLogger(this.getClass()).logrb(Level.FINEST, - this.getClass().getName(), "process", CPMUtils.CPM_LOG_RESOURCE_BUNDLE, - "UIMA_CPM_checkpoint_with_pt__FINEST", - new Object[] { Thread.currentThread().getName() }); + this.getClass().getName(), "process", CPMUtils.CPM_LOG_RESOURCE_BUNDLE, + "UIMA_CPM_checkpoint_with_pt__FINEST", + new Object[] {Thread.currentThread().getName()}); } targetToSave = new CheckpointData(pTrace); } @@ -243,24 +240,9 @@ public class Checkpoint implements Runna } } catch (Exception e) { UIMAFramework.getLogger(this.getClass()).logrb(Level.FINEST, this.getClass().getName(), - "process", CPMUtils.CPM_LOG_RESOURCE_BUNDLE, - "UIMA_CPM_exception_when_checkpointing__FINEST", - new Object[] { Thread.currentThread().getName(), e.getMessage() }); - } finally { - if (out != null) { - try { - out.close(); - s.close(); - - } catch (Exception e) { - } - } - if (synchPointOut != null) { - try { - synchPointOut.close(); - } catch (Exception e) { - } - } + "process", CPMUtils.CPM_LOG_RESOURCE_BUNDLE, + "UIMA_CPM_exception_when_checkpointing__FINEST", + new Object[] {Thread.currentThread().getName(), e.getMessage()}); } } catch (Exception e) { Modified: uima/uv3/uimaj-v3/trunk/uimaj-ep-launcher/src/main/java/org/apache/uima/ep_launcher/RemoteLauncher.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-ep-launcher/src/main/java/org/apache/uima/ep_launcher/RemoteLauncher.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-ep-launcher/src/main/java/org/apache/uima/ep_launcher/RemoteLauncher.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-ep-launcher/src/main/java/org/apache/uima/ep_launcher/RemoteLauncher.java Tue Feb 5 21:14:54 2019 @@ -163,23 +163,17 @@ public class RemoteLauncher { } else if (InputFormat.CAS.equals(format)) { if (inputFile.getName().endsWith(".xmi")) { - FileInputStream inputStream = new FileInputStream(inputFile); - try { + try (FileInputStream inputStream = new FileInputStream(inputFile)) { XmiCasDeserializer.deserialize(inputStream, aCAS, true); } catch (SAXException e) { throw new IOException(e.getMessage()); - } finally { - inputStream.close(); } } else if (inputFile.getName().endsWith(".xcas")) { - FileInputStream inputStream = new FileInputStream(inputFile); - try { + try (FileInputStream inputStream = new FileInputStream(inputFile)) { XCASDeserializer.deserialize(inputStream, aCAS, true); } catch (SAXException e) { throw new IOException(e.getMessage()); - } finally { - inputStream.close(); } } } @@ -224,10 +218,8 @@ public class RemoteLauncher { if (!outputFile.getParentFile().exists()) { outputFile.getParentFile().mkdirs(); } - - FileOutputStream out = new FileOutputStream(outputFile); - - try { + + try (FileOutputStream out = new FileOutputStream(outputFile)) { // write XMI XmiCasSerializer ser = new XmiCasSerializer(aCAS.getTypeSystem()); XMLSerializer xmlSer = new XMLSerializer(out, false); @@ -236,10 +228,6 @@ public class RemoteLauncher { } catch (SAXException e) { throw new IOException(e.getMessage()); } - } finally { - if (out != null) { - out.close(); - } } } Modified: uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/cpe/XCasWriterCasConsumer.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/cpe/XCasWriterCasConsumer.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/cpe/XCasWriterCasConsumer.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/cpe/XCasWriterCasConsumer.java Tue Feb 5 21:14:54 2019 @@ -31,9 +31,11 @@ package org.apache.uima.examples.cpe; * which uses the current XMI format for XML externalizations of the CAS ******************************************************************************************* */ + import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.net.MalformedURLException; import java.net.URL; @@ -144,18 +146,11 @@ public class XCasWriterCasConsumer exten * @throws SAXException if an error occurs generating the XML text */ private void writeXCas(CAS aCas, File name) throws IOException, SAXException { - FileOutputStream out = null; - try { - out = new FileOutputStream(name); + try (OutputStream out = new FileOutputStream(name)) { XCASSerializer ser = new XCASSerializer(aCas.getTypeSystem()); XMLSerializer xmlSer = new XMLSerializer(out, false); ser.serialize(aCas, xmlSer.getContentHandler()); - } finally { - if (out != null) { - out.close(); - } } } - } Modified: uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/Ecore2UimaTypeSystem.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/Ecore2UimaTypeSystem.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/Ecore2UimaTypeSystem.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/Ecore2UimaTypeSystem.java Tue Feb 5 21:14:54 2019 @@ -571,11 +571,8 @@ public class Ecore2UimaTypeSystem { // options.put(OPTION_GENERATE_UIMA_LIST_TYPES, Boolean.TRUE); TypeSystemDescription tsDesc = ecore2UimaTypeSystem(args[0], options); - FileOutputStream os = new FileOutputStream(args[1]); - try { + try (FileOutputStream os = new FileOutputStream(args[1])) { tsDesc.toXML(os); - } finally { - os.close(); } // test creating a CAS Modified: uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/XmiCollectionReader.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/XmiCollectionReader.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/XmiCollectionReader.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/XmiCollectionReader.java Tue Feb 5 21:14:54 2019 @@ -22,6 +22,7 @@ package org.apache.uima.examples.xmi; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import org.apache.uima.cas.CAS; @@ -95,13 +96,10 @@ public class XmiCollectionReader extends */ public void getNext(CAS aCAS) throws IOException, CollectionException { File currentFile = (File) mFiles.get(mCurrentIndex++); - FileInputStream inputStream = new FileInputStream(currentFile); - try { - XmiCasDeserializer.deserialize(inputStream, aCAS, ! mFailOnUnknownType); + try (InputStream inputStream = new FileInputStream(currentFile)) { + XmiCasDeserializer.deserialize(inputStream, aCAS, !mFailOnUnknownType); } catch (SAXException e) { throw new CollectionException(e); - } finally { - inputStream.close(); } } Modified: uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/XmiWriterCasConsumer.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/XmiWriterCasConsumer.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/XmiWriterCasConsumer.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/examples/xmi/XmiWriterCasConsumer.java Tue Feb 5 21:14:54 2019 @@ -22,6 +22,7 @@ package org.apache.uima.examples.xmi; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.net.MalformedURLException; import java.net.URL; @@ -131,18 +132,12 @@ public class XmiWriterCasConsumer extend * @throws ResourceProcessException - */ private void writeXmi(CAS aCas, File name, String modelFileName) throws IOException, SAXException { - FileOutputStream out = null; - try { + try (OutputStream out = new FileOutputStream(name)) { // write XMI - out = new FileOutputStream(name); XmiCasSerializer ser = new XmiCasSerializer(aCas.getTypeSystem()); XMLSerializer xmlSer = new XMLSerializer(out, false); ser.serialize(aCas, xmlSer.getContentHandler()); - } finally { - if (out != null) { - out.close(); - } } } } Modified: uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/tutorial/ex6/StringMapResource_impl.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/tutorial/ex6/StringMapResource_impl.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/tutorial/ex6/StringMapResource_impl.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-examples/src/main/java/org/apache/uima/tutorial/ex6/StringMapResource_impl.java Tue Feb 5 21:14:54 2019 @@ -41,10 +41,8 @@ public class StringMapResource_impl impl * @see org.apache.uima.resource.SharedResourceObject#load(DataResource) */ public void load(DataResource aData) throws ResourceInitializationException { - InputStream inStr = null; - try { + try (InputStream inStr = aData.getInputStream()) { // open input stream to data - inStr = aData.getInputStream(); // read each line BufferedReader reader = new BufferedReader(new InputStreamReader(inStr)); String line; @@ -58,15 +56,7 @@ public class StringMapResource_impl impl } } catch (IOException e) { throw new ResourceInitializationException(e); - } finally { - if (inStr != null) { - try { - inStr.close(); - } catch (IOException e) { - } - } } - } /** Modified: uima/uv3/uimaj-v3/trunk/uimaj-json/src/test/java/org/apache/uima/json/JsonCasSerializerTest.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-json/src/test/java/org/apache/uima/json/JsonCasSerializerTest.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-json/src/test/java/org/apache/uima/json/JsonCasSerializerTest.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-json/src/test/java/org/apache/uima/json/JsonCasSerializerTest.java Tue Feb 5 21:14:54 2019 @@ -24,7 +24,9 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.StringWriter; +import java.io.Writer; +import junit.framework.TestCase; import org.apache.uima.UIMAFramework; import org.apache.uima.cas.CAS; import org.apache.uima.cas.CASException; @@ -57,8 +59,6 @@ import org.apache.uima.util.XMLSerialize import org.custommonkey.xmlunit.XMLAssert; import org.xml.sax.SAXException; -import junit.framework.TestCase; - public class JsonCasSerializerTest extends TestCase { /********************************************************************* * I N S T R U C T I O N S * @@ -551,9 +551,9 @@ public class JsonCasSerializerTest exten File d = new File (generateDirPlus); d.mkdirs(); File file = new File (generateDirPlus + expectedResultsName); - FileWriter writer = new FileWriter(file); - writer.write(r); - writer.close(); + try (Writer writer = new FileWriter(file)) { + writer.write(r); + } return r; } else { File expectedResultsFile = JUnitExtension.getFile("CasSerialization/expected/" + ((doJson) ? "json/" : "xmi/") + expectedResultsName); Modified: uima/uv3/uimaj-v3/trunk/uimaj-test-util/src/main/java/org/apache/uima/test/junit_extension/FileCompare.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-test-util/src/main/java/org/apache/uima/test/junit_extension/FileCompare.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-test-util/src/main/java/org/apache/uima/test/junit_extension/FileCompare.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-test-util/src/main/java/org/apache/uima/test/junit_extension/FileCompare.java Tue Feb 5 21:14:54 2019 @@ -63,19 +63,13 @@ public class FileCompare { * @throws IOException - */ public static boolean compare(String filename1, String filename2) throws IOException { - InputStream file1 = null; - InputStream file2 = null; - try { + try (InputStream file1 = new FileInputStream(filename1); + InputStream file2 = new FileInputStream(filename2)) { // create file input stream of the two bytes - file1 = new FileInputStream(filename1); - file2 = new FileInputStream(filename2); return compare(file1, file2); - } finally { - file1.close(); - file2.close(); } } @@ -91,19 +85,11 @@ public class FileCompare { * @throws IOException - */ public static boolean compare(File file1, File file2) throws IOException { - InputStream inputStream1 = null; - InputStream inputStream2 = null; - try { + try (InputStream inputStream1 = new FileInputStream(file1); + InputStream inputStream2 = new FileInputStream(file2)) { // create file input stream of the two bytes - inputStream1 = new FileInputStream(file1); - inputStream2 = new FileInputStream(file2); - return compare(inputStream1, inputStream2); - - } finally { - inputStream1.close(); - inputStream2.close(); } } @@ -121,16 +107,9 @@ public class FileCompare { * @throws IOException - */ public static boolean compare(String filename1, InputStream in) throws IOException { - InputStream file1 = null; - - try { + try (InputStream file1 = new FileInputStream(filename1)) { // create file input stream of the two bytes - file1 = new FileInputStream(filename1); - return compare(file1, in); - - } finally { - file1.close(); } } Modified: uima/uv3/uimaj-v3/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XCasWriterCasConsumer.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XCasWriterCasConsumer.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XCasWriterCasConsumer.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XCasWriterCasConsumer.java Tue Feb 5 21:14:54 2019 @@ -23,7 +23,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.net.MalformedURLException; +import java.io.OutputStream; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; @@ -150,17 +150,11 @@ public class XCasWriterCasConsumer exten * if an error occurs generating the XML text */ private void writeXCas(CAS aCas, File name) throws IOException, SAXException { - FileOutputStream out = null; - try { - out = new FileOutputStream(name); + try (OutputStream out = new FileOutputStream(name)) { XCASSerializer ser = new XCASSerializer(aCas.getTypeSystem()); XMLSerializer sax2xml = new XMLSerializer(out, false); ser.serialize(aCas, sax2xml.getContentHandler()); - } finally { - if (out != null) { - out.close(); - } } } Modified: uima/uv3/uimaj-v3/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XmiWriterCasConsumer.java URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XmiWriterCasConsumer.java?rev=1853037&r1=1853036&r2=1853037&view=diff ============================================================================== --- uima/uv3/uimaj-v3/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XmiWriterCasConsumer.java (original) +++ uima/uv3/uimaj-v3/trunk/uimaj-tools/src/main/java/org/apache/uima/tools/components/XmiWriterCasConsumer.java Tue Feb 5 21:14:54 2019 @@ -23,7 +23,6 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; @@ -144,18 +143,12 @@ public class XmiWriterCasConsumer extend * @throws ResourceProcessException - */ private void writeXmi(CAS aCas, File name, String modelFileName) throws IOException, SAXException { - FileOutputStream out = null; - try { + try (FileOutputStream out = new FileOutputStream(name)) { // write XMI - out = new FileOutputStream(name); XmiCasSerializer ser = new XmiCasSerializer(aCas.getTypeSystem()); XMLSerializer xmlSer = new XMLSerializer(out, false); ser.serialize(aCas, xmlSer.getContentHandler()); - } finally { - if (out != null) { - out.close(); - } } }