[ https://issues.apache.org/jira/browse/OODT-576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13611552#comment-13611552 ]
Chris A. Mattmann commented on OODT-576: ---------------------------------------- +1 commit away Ross! > BufferedReader needs to be closed after use in loadScript method in SqlScript > class > ----------------------------------------------------------------------------------- > > Key: OODT-576 > URL: https://issues.apache.org/jira/browse/OODT-576 > Project: OODT > Issue Type: Bug > Components: commons > Affects Versions: 0.6 > Reporter: Ross Laidlaw > Assignee: Ross Laidlaw > Priority: Minor > Fix For: 0.6 > > Attachments: OODT-576.rlaidlaw.2013-03-15.patch.txt > > > The loadScript method in the org.apache.oodt.commons.database.SqlScript class > uses a BufferedReader resource as follows: > {code:title=SqlScript.java|borderStyle=solid} > public void loadScript() throws IOException, SQLException { > BufferedReader reader = new BufferedReader(new FileReader(script)); > String line; > StringBuffer query = new StringBuffer(); > boolean queryEnds = false; > while ((line = reader.readLine()) != null) { > if (isComment(line)) > continue; > queryEnds = checkStatementEnds(line); > query.append(line); > if (queryEnds) { > statementList.add(query.toString()); > query.setLength(0); > } > } > } > {code} > The reader should be closed after use, for example using try...finally as > shown below. Additionally, we can also remove 'throws SQLException' as the > code in this method won't cause this type of exception to be thrown. > {code:title=SqlScript.java|borderStyle=solid} > public void loadScript() throws IOException { > BufferedReader reader = new BufferedReader(new FileReader(script)); > try { > String line = null; > StringBuffer query = new StringBuffer(); > boolean queryEnds = false; > while ((line = reader.readLine()) != null) { > if (isComment(line)) > continue; > queryEnds = checkStatementEnds(line); > query.append(line); > if (queryEnds) { > statementList.add(query.toString()); > query.setLength(0); > } > } > } > finally { > reader.close(); > } > } > {code} > If OODT is upgraded to use Java 7 at some point in the future, we could look > into using a > [try-with-resources|http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html] > statement to replace the above try...finally combination. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira