r479 - trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions
Author: chatellier Date: 2011-01-06 15:30:02 +0000 (Thu, 06 Jan 2011) New Revision: 479 Log: Fix stream close on exception Modified: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/IndexAction.java trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/UploadResultAction.java Modified: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/IndexAction.java =================================================================== --- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/IndexAction.java 2011-01-06 14:26:08 UTC (rev 478) +++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/IndexAction.java 2011-01-06 15:30:02 UTC (rev 479) @@ -25,11 +25,13 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.util.Date; import java.util.Properties; import javax.servlet.http.HttpServletRequest; +import org.apache.commons.io.IOUtils; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; @@ -85,8 +87,10 @@ if (webProperties.isFile()) { // get update date Properties props = new Properties(); + InputStream stream = null; try { - props.load(new FileInputStream(webProperties)); + stream = new FileInputStream(webProperties); + props.load(stream); if (props.containsKey("updateDate")) { String date = props.getProperty("updateDate"); @@ -97,6 +101,9 @@ } catch (IOException ex) { throw new CoserWebException("Can't save properties file", ex); } + finally { + IOUtils.closeQuietly(stream); + } } if (dataUpdateDate == null) { Modified: trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/UploadResultAction.java =================================================================== --- trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/UploadResultAction.java 2011-01-06 14:26:08 UTC (rev 478) +++ trunk/coser-web/src/main/java/fr/ifremer/coser/web/actions/UploadResultAction.java 2011-01-06 15:30:02 UTC (rev 479) @@ -26,9 +26,12 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.util.Date; import java.util.Properties; +import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -64,7 +67,6 @@ private String password; public void setResultFile(File resultFile) { - System.out.println("resultFile = " + resultFile); this.resultFile = resultFile; } @@ -128,17 +130,23 @@ File webProperties = new File(config.getWebServerDirectory(), CoserWebConstants.WEB_PROPERTIES_NAME); Properties props = new Properties(); + InputStream iStream = null; + OutputStream oStream = null; try { if (webProperties.isFile()) { - props.load(new FileInputStream(webProperties)); + iStream = new FileInputStream(webProperties); + props.load(iStream); } props.setProperty("updateDate", String.valueOf(new Date().getTime())); - props.store(new FileOutputStream(webProperties), "Update data"); + oStream = new FileOutputStream(webProperties); + props.store(oStream, "Update data"); } catch (IOException ex) { throw new CoserWebException("Can't save properties file", ex); } - - + finally { + IOUtils.closeQuietly(iStream); + IOUtils.closeQuietly(oStream); + } } }
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org