Author: oheger Date: Sat Jun 2 12:54:37 2007 New Revision: 543777 URL: http://svn.apache.org/viewvc?view=rev&rev=543777 Log: Changed AbstractFileConfiguration.save(URL) to always close the output stream
Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractFileConfiguration.java Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractFileConfiguration.java URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractFileConfiguration.java?view=diff&rev=543777&r1=543776&r2=543777 ============================================================================== --- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractFileConfiguration.java (original) +++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractFileConfiguration.java Sat Jun 2 12:54:37 2007 @@ -431,6 +431,7 @@ else { // for non file URLs save through an URLConnection + OutputStream out = null; try { URLConnection connection = url.openConnection(); @@ -443,7 +444,8 @@ conn.setRequestMethod("PUT"); } - save(connection.getOutputStream()); + out = connection.getOutputStream(); + save(out); // check the response code for http URLs and throw an exception if an error occured if (connection instanceof HttpURLConnection) @@ -459,6 +461,10 @@ { throw new ConfigurationException("Could not save to URL " + url, e); } + finally + { + closeSilent(out); + } } } @@ -488,18 +494,7 @@ } finally { - // close the output stream - try - { - if (out != null) - { - out.close(); - } - } - catch (IOException e) - { - getLogger().warn("Could not close output stream", e); - } + closeSilent(out); } } @@ -999,5 +994,27 @@ private void initReloadingStrategy() { setReloadingStrategy(new InvariantReloadingStrategy()); + } + + /** + * A helper method for closing an output stream. Occurring exceptions will + * be ignored. + * + * @param out the output stream to be closed (may be <b>null</b>) + * @since 1.5 + */ + private void closeSilent(OutputStream out) + { + try + { + if (out != null) + { + out.close(); + } + } + catch (IOException e) + { + getLogger().warn("Could not close output stream", e); + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]