You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by droo <dr...@bund.com.au> on 2007/08/22 16:51:59 UTC
Bug in SchemaToolTask
Greetings,
There appears to be a bug in
org.apache.openjpa.jdbc.ant.SchemaToolTask which prevents ant users
from using the action "reflect".
My ant target is as follows:
<target name="genschema">
<taskdef name="schematool"
classname="org.apache.openjpa.jdbc.ant.SchemaToolTask"
classpathref="cp"/>
<schematool action="reflect" file="schema.xml">
<classpath refid="cp"/>
<config propertiesFile="kodo.properties"/>
</schematool>
</target>
The problem is that SchemaToolTask requires a fileset, but schematool
itself requires that there NOT be a fileset, when performing action
"reflect". This makes it impossible to execute the reflect action
from the ant task.
The offending code in SchemaToolTask is the assertFiles() call,
marked below:
---
protected void executeOn(String[] files)
throws Exception {
assertFiles(files); // OFFENDING CODE
ClassLoader loader = getClassLoader();
flags.writer = Files.getWriter(file, loader);
if (!SchemaTool.run((JDBCConfiguration) getConfiguration(), files,
flags, loader))
throw new BuildException(_loc.get("bad-conf", "SchemaToolTask")
.getMessage());
}
---
Note that when SchemaTool.run(...) is called for action "reflect", it
checks the passed in files[] array, and if it is non-empty, then
returns an error condition.
Hopefully this can be fixed soon, thanks.
Drew