Created
January 13, 2012 00:55
-
-
Save mattwildig/1604070 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<project default="query-to-property"> | |
<path id="hsql" > | |
<pathelement location="lib/hsqldb-2.2.6.jar" /> | |
</path> | |
<property name="db-driver" value="org.hsqldb.jdbc.JDBCDriver" /> | |
<property name="db-url" value="jdbc:hsqldb:mem:mydb" /> | |
<target name="fetch-hsqldb"> | |
<mkdir dir="lib" /> | |
<get src="http://repo1.maven.org/maven2/org/hsqldb/hsqldb/2.2.6/hsqldb-2.2.6.jar" dest="lib/" skipexisting="true" /> | |
</target> | |
<target name="compile-tasks"> | |
<mkdir dir="build" /> | |
<javac srcdir="src" destdir="build" includeantruntime="true" /> | |
</target> | |
<target name="setup-db" depends="fetch-hsqldb"> | |
<sql driver="${db-driver}" url="${db-url}" userid="" password="" classpathref="hsql"> | |
create table my_table (my_column VARCHAR(50)); | |
insert into my_table (my_column) values ('banana', 'apple'); | |
</sql> | |
</target> | |
<target name="query-to-property" depends="compile-tasks, setup-db"> | |
<taskdef name="resource-output-sql" classname="ResourceOutputSQLExec" classpath="build/" /> | |
<resource-output-sql driver="${db-driver}" url="${db-url}" userid="" password="" classpathref="hsql" | |
print="true" showheaders="false" showtrailers="false" > | |
<output> | |
<propertyresource name="column-count" /> | |
</output> | |
select count(my_column) from my_table; | |
</resource-output-sql> | |
<echo>The value of $${column-count} is ${column-count}</echo> | |
</target> | |
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import org.apache.tools.ant.taskdefs.SQLExec; | |
import org.apache.tools.ant.types.Resource; | |
public class ResourceOutputSQLExec extends SQLExec { | |
public Output createOutput() { | |
return new Output(); | |
} | |
public class Output { | |
public void add(Resource output) { | |
setOutput(output); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment