You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by mb...@apache.org on 2007/06/27 16:08:25 UTC
svn commit: r551166 -
/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/SQLExec.java
Author: mbenson
Date: Wed Jun 27 07:08:24 2007
New Revision: 551166
URL: http://svn.apache.org/viewvc?view=rev&rev=551166
Log:
formatting; refactoring
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/SQLExec.java
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/SQLExec.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/SQLExec.java?view=diff&rev=551166&r1=551165&r2=551166
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/SQLExec.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/SQLExec.java Wed Jun 27 07:08:24 2007
@@ -15,7 +15,6 @@
* limitations under the License.
*
*/
-
package org.apache.tools.ant.taskdefs;
import org.apache.tools.ant.BuildException;
@@ -387,15 +386,15 @@
if (srcFile == null && sqlCommand.length() == 0
&& resources.size() == 0) {
if (transactions.size() == 0) {
- throw new BuildException("Source file or resource "
- + "collection, "
+ throw new BuildException("Source file or resource collection, "
+ "transactions or sql statement "
+ "must be set!", getLocation());
}
}
- if (srcFile != null && !srcFile.exists()) {
- throw new BuildException("Source file does not exist!", getLocation());
+ if (srcFile != null && !srcFile.isFile()) {
+ throw new BuildException("Source file " + srcFile
+ + " is not a file!", getLocation());
}
// deal with the resources
@@ -422,13 +421,9 @@
PrintStream out = System.out;
try {
if (output != null) {
- log("Opening PrintStream to output file " + output,
- Project.MSG_VERBOSE);
- out = new PrintStream(
- new BufferedOutputStream(
- new FileOutputStream(output
- .getAbsolutePath(),
- append)));
+ log("Opening PrintStream to output file " + output, Project.MSG_VERBOSE);
+ out = new PrintStream(new BufferedOutputStream(
+ new FileOutputStream(output.getAbsolutePath(), append)));
}
// Process all transactions
@@ -442,9 +437,7 @@
}
}
} finally {
- if (out != null && out != System.out) {
- out.close();
- }
+ FileUtils.close(out);
}
} catch (IOException e) {
closeQuietly();
@@ -457,6 +450,10 @@
if (statement != null) {
statement.close();
}
+ } catch (SQLException ex) {
+ // ignore
+ }
+ try {
if (conn != null) {
conn.close();
}
@@ -465,8 +462,7 @@
}
}
- log(goodSql + " of " + totalSql
- + " SQL statements executed successfully");
+ log(goodSql + " of " + totalSql + " SQL statements executed successfully");
} finally {
transactions = savedTransaction;
sqlCommand = savedSqlCommand;
@@ -510,29 +506,17 @@
}
}
- if (!keepformat) {
- sql.append(" ");
- sql.append(line);
- } else {
- sql.append("\n");
- sql.append(line);
- }
+ sql.append(keepformat ? "\n" : " ").append(line);
// SQL defines "--" as a comment to EOL
// and in Oracle it may contain a hint
// so we cannot just remove it, instead we must end it
- if (!keepformat) {
- if (line.indexOf("--") >= 0) {
- sql.append("\n");
- }
+ if (!keepformat && line.indexOf("--") >= 0) {
+ sql.append("\n");
}
- if ((delimiterType.equals(DelimiterType.NORMAL)
- && StringUtils.endsWith(sql, delimiter))
- ||
- (delimiterType.equals(DelimiterType.ROW)
- && line.equals(delimiter))) {
- execSQL(sql.substring(0, sql.length() - delimiter.length()),
- out);
+ if ((delimiterType.equals(DelimiterType.NORMAL) && StringUtils.endsWith(sql, delimiter))
+ || (delimiterType.equals(DelimiterType.ROW) && line.equals(delimiter))) {
+ execSQL(sql.substring(0, sql.length() - delimiter.length()), out);
sql.replace(0, sql.length(), "");
}
}
@@ -542,7 +526,6 @@
}
}
-
/**
* Exec the sql statement.
* @param sql the SQL statement to execute
@@ -571,10 +554,8 @@
if (updateCount != -1) {
updateCountTotal += updateCount;
}
- } else {
- if (print) {
- printResults(resultSet, out);
- }
+ } else if (print) {
+ printResults(resultSet, out);
}
ret = statement.getMoreResults();
if (ret) {
@@ -583,13 +564,11 @@
}
} while (ret);
- log(updateCountTotal + " rows affected",
- Project.MSG_VERBOSE);
+ log(updateCountTotal + " rows affected", Project.MSG_VERBOSE);
if (print && showtrailers) {
out.println(updateCountTotal + " rows affected");
}
-
SQLWarning warning = conn.getWarnings();
while (warning != null) {
log(warning + " sql warning", Project.MSG_VERBOSE);
@@ -605,7 +584,11 @@
log(e.toString(), Project.MSG_ERR);
} finally {
if (resultSet != null) {
- resultSet.close();
+ try {
+ resultSet.close();
+ } catch (SQLException e) {
+ //ignore
+ }
}
}
}
@@ -636,39 +619,28 @@
* @throws SQLException on SQL problems.
* @since Ant 1.6.3
*/
- protected void printResults(ResultSet rs, PrintStream out)
- throws SQLException {
+ protected void printResults(ResultSet rs, PrintStream out) throws SQLException {
if (rs != null) {
log("Processing new result set.", Project.MSG_VERBOSE);
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
- StringBuffer line = new StringBuffer();
- if (showheaders) {
- for (int col = 1; col < columnCount; col++) {
- line.append(md.getColumnName(col));
- line.append(",");
- }
- line.append(md.getColumnName(columnCount));
- out.println(line);
- line = new StringBuffer();
- }
- while (rs.next()) {
- boolean first = true;
- for (int col = 1; col <= columnCount; col++) {
- String columnValue = rs.getString(col);
- if (columnValue != null) {
- columnValue = columnValue.trim();
+ if (columnCount > 0) {
+ if (showheaders) {
+ out.print(md.getColumnName(1));
+ for (int col = 2; col <= columnCount; col++) {
+ out.write(',');
+ out.print(md.getColumnName(col));
}
-
- if (first) {
- first = false;
- } else {
- line.append(",");
+ out.println();
+ }
+ while (rs.next()) {
+ out.print(rs.getString(1));
+ for (int col = 2; col <= columnCount; col++) {
+ out.write(',');
+ out.print(rs.getString(col));
}
- line.append(columnValue);
+ out.println();
}
- out.println(line);
- line = new StringBuffer();
}
}
out.println();
@@ -774,8 +746,7 @@
Reader reader = null;
try {
is = tSrcResource.getInputStream();
- reader =
- (encoding == null) ? new InputStreamReader(is)
+ reader = (encoding == null) ? new InputStreamReader(is)
: new InputStreamReader(is, encoding);
runStatements(reader, out);
} finally {
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org