You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by mb...@apache.org on 2008/07/16 21:20:02 UTC

svn commit: r677383 - in /ant/core/trunk: WHATSNEW docs/manual/CoreTasks/sql.html src/main/org/apache/tools/ant/taskdefs/SQLExec.java

Author: mbenson
Date: Wed Jul 16 12:20:02 2008
New Revision: 677383

URL: http://svn.apache.org/viewvc?rev=677383&view=rev
Log:
<sql> "output" attribute now supports any Resource in addition to a file.

Modified:
    ant/core/trunk/WHATSNEW
    ant/core/trunk/docs/manual/CoreTasks/sql.html
    ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/SQLExec.java

Modified: ant/core/trunk/WHATSNEW
URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=677383&r1=677382&r2=677383&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Wed Jul 16 12:20:02 2008
@@ -190,6 +190,8 @@
 
  * <echo> supports an "output" Resource attribute as an alternative to "file".
 
+ * <sql> "output" attribute now supports any Resource in addition to a file.
+
 Changes from Ant 1.7.0 TO Ant 1.7.1
 =============================================
 

Modified: ant/core/trunk/docs/manual/CoreTasks/sql.html
URL: http://svn.apache.org/viewvc/ant/core/trunk/docs/manual/CoreTasks/sql.html?rev=677383&r1=677382&r2=677383&view=diff
==============================================================================
--- ant/core/trunk/docs/manual/CoreTasks/sql.html (original)
+++ ant/core/trunk/docs/manual/CoreTasks/sql.html Wed Jul 16 12:20:02 2008
@@ -117,7 +117,10 @@
 </tr>
 <tr>
   <td width="12%" valign="top">output</td>
-  <td width="78%" valign="top">Output file for result sets (defaults to System.out)</td>
+  <td width="78%" valign="top">Output file for result sets (defaults to System.out)
+    <b>Since Ant 1.8</b> can specify any Resource that supports output (see
+    <a href="../develop.html#set-magic">note</a>).
+  </td>
   <td width="10%" valign="top">No (print to System.out by default)</td>
 </tr>
   <tr>

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?rev=677383&r1=677382&r2=677383&view=diff
==============================================================================
--- 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 Jul 16 12:20:02 2008
@@ -25,10 +25,12 @@
 import org.apache.tools.ant.types.FileSet;
 import org.apache.tools.ant.types.Resource;
 import org.apache.tools.ant.types.ResourceCollection;
+import org.apache.tools.ant.types.resources.FileProvider;
 import org.apache.tools.ant.types.resources.FileResource;
 import org.apache.tools.ant.types.resources.Union;
 
 import java.io.File;
+import java.io.OutputStream;
 import java.io.PrintStream;
 import java.io.BufferedOutputStream;
 import java.io.FileOutputStream;
@@ -153,10 +155,9 @@
     private boolean showtrailers = true;
 
     /**
-     * Results Output file.
+     * Results Output Resource.
      */
-    private File output = null;
-
+    private Resource output = null;
 
     /**
      * Action to perform if an error is found
@@ -392,6 +393,15 @@
      * @param output the output file to use for logging messages.
      */
     public void setOutput(File output) {
+        setOutput(new FileResource(getProject(), output));
+    }
+
+    /**
+     * Set the output Resource;
+     * optional, defaults to the Ant log.
+     * @param output the output Resource to store results.
+     */
+    public void setOutput(Resource output) {
         this.output = output;
     }
 
@@ -556,9 +566,17 @@
                 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 Resource " + output, Project.MSG_VERBOSE);
+                        OutputStream os;
+                        if (output instanceof FileProvider) {
+                            os = new FileOutputStream(((FileProvider) output).getFile(), append);
+                        } else {
+                            os = output.getOutputStream();
+                            if (append) {
+                                log("Ignoring append=true for non-file resource " + output, Project.MSG_WARN);
+                            }
+                        }
+                        out = new PrintStream(new BufferedOutputStream(os));
                     }
 
                     // Process all transactions