That is weird. I guess Eclipse sets some more classpath than what the
build script does.

The logging can be enabled from command line as well, just make sure the
log4j.properties is found in classpath.

This does not explain why it works from Eclipse, but I would think there
is a difference in the classpath. Maybe Eclipse sets a different jdbc
driver somehow? Anyway reading relationships should work fine when running
from command line.

.eivind

On Tue, 23 Mar 2004, Ray Tayek wrote:

> Hi,I have successfully reversed 4 database using middlegen (thank you very
> much). But none of then had any relaions (using mysql 3). We put some into a
> test databse. Running the ant script (the one that cam with the middlegen
> sample that I hacked up to just do reversing - see below) works find when
> run under *eclipse* - I get a Set in my java class!
>
> But when I try to run the same script from the command line. I get the 256
> (see below). Running the ant script under eclipse also is a lot more verbose
> (see below), so maybe eclipse is doing something strange or I am forgetting
> to define some property from the command line. Can't figure out how to turn
> on debug or verbose from inside ant so I'm sorta lost. Maybe someone else
> has experienced something similar?
>
> Any pointer will be appreciated.
>
> Thanks
>
> Ant output from command line with -verbose and -debug (fails with a 256):
>
> Detected Java version: 1.3 in: /usr/local/jdk1.3.1_04/jre
> Detected OS: Linux
> parsing buildfile build.xml with URI =
> file:/Z/Users/ray/projects/mg1/middlegen-2.0-vo/samples/build.xml
> Project base dir set to: /Z/Users/ray/projects/mg1/middlegen-2.0-vo/samples
>  [property] Loading
> /Z/Users/ray/projects/mg1/middlegen-2.0-vo/samples/build.properties
>  [property] Unable to find property file:
> /Z/Users/ray/projects/mg1/middlegen-2.0-vo/samples/build.properties
> resolving systemId: file:./config/database/mysql.xml
> Build sequence for target `hbm2java' is [init, fail-if-no-xdoclet-1.2,
> check-driver-present, panic-if-driver-not-present, middlegen, hbm2java]
> Complete build sequence is [init, fail-if-no-xdoclet-1.2,
> check-driver-present, panic-if-driver-not-present, middlegen, hbm2java,
> setproxy, download-deps, clean, jdodoclet, all, compile-jdo]
>
> init:
>      [echo] /Z/Users/ray/projects/mg1/middlegen-2.0-vo/samples/lib
>
> fail-if-no-xdoclet-1.2:
> Skipped because property 'xdoclet1.2+' set.
>
> check-driver-present:
> [available] Found file: lib/mysql-connector-java-3.0.0-beta-bin.jar
>
> panic-if-driver-not-present:
> Skipped because property 'driver.present' set.
>
> middlegen:
> Property ${gui} has not been set
> [middlegen] Database URL:jdbc:mysql://204.1.213.186/fkey_test
> Property ${java.naming.factory.initial} has not been set
> Property ${java.naming.provider.url} has not been set
> [middlegen] No <table> elements specified. Reading all tables. This might
> take a while...
> [middlegen] (middlegen.MiddlegenPopulator        256 ) WARNING: Middlegen
> couldn't find any relations between any tables. This may be intentional from
> the design of the database, but it may also be because you have incorrectly
> defined the relationships. It could also be because the JDBC driver you're
> using doesn't correctly implement DatabaseMetaData. See the samples (for an
> example on how to define relationships) and verify that your driver
> correctly implements DatabaseMetaData.
> [middlegen] Updated preferences in
> /Z/Users/ray/projects/mg1/middlegen-2.0-vo/samples/src/fkey_test-prefs.prope
> rties
>
> hbm2java:
>  [hbm2java] Processing 2 files.
>  [hbm2java] Building hibernate objects
>
> BUILD SUCCESSFUL
> Total time: 5 seconds
>
> Ant output when run from eclipse (works fine):
>
> Buildfile: U:\projects\mg1\middlegen-2.0-vo\samples\build.xml
>
> init:
>         [echo] U:\projects\mg1\middlegen-2.0-vo\samples/lib
>
> fail-if-no-xdoclet-1.2:
>
> check-driver-present:
>
> panic-if-driver-not-present:
>
> middlegen:
>        [mkdir] Created dir:
> U:\projects\mg1\middlegen-2.0-vo\samples\build\gen-src
>    [middlegen] (middlegen.Middlegen                 352 ) Registering plugin
> simple->middlegen.Plugin
>    [middlegen] (middlegen.Middlegen                 352 ) Registering plugin
> java->middlegen.javax.JavaPlugin
>    [middlegen] (middlegen.Middlegen                 352 ) Registering plugin
> plugin->middlegen.Plugin
>    [middlegen] (middlegen.Middlegen                 352 ) Registering plugin
> bmp20->middlegen.plugins.entitybean.BMP20Plugin
>    [middlegen] (middlegen.Middlegen                 352 ) Registering plugin
> cmp20->middlegen.plugins.entitybean.CMP20Plugin
>    [middlegen] (middlegen.Middlegen                 352 ) Registering plugin
> hibernate->middlegen.plugins.hibernate.HibernatePlugin
>    [middlegen] (middlegen.Middlegen                 352 ) Registering plugin
> html->middlegen.plugins.html.HTMLReportPlugin
>    [middlegen] (middlegen.Middlegen                 352 ) Registering plugin
> sunjdo10->middlegen.plugins.jdo.sun.SunJDO10Plugin
>    [middlegen] (middlegen.Middlegen                 352 ) Registering plugin
> servlet->middlegen.plugins.servlet.ServletPlugin
>    [middlegen] (middlegen.Middlegen                 352 ) Registering plugin
> struts->middlegen.plugins.struts.StrutsPlugin
>    [middlegen] (middlegen.Middlegen                 352 ) Registering plugin
> jsp->middlegen.plugins.struts.JspPlugin
>    [middlegen] Database URL:jdbc:mysql://204.1.213.186/fkey_test
>    [middlegen] No <table> elements specified. Reading all tables. This might
> take a while...
>    [middlegen] (middlegen.Middlegen                 396 ) Validating html
>    [middlegen] (middlegen.Middlegen                 396 ) Validating
> hibernate
>    [middlegen] (middlegen.Middlegen                 414 ) Invoking plugin
> html
>    [middlegen] (middlegen.FileProducer              404 ) Generating
> U:\projects\mg1\middlegen-2.0-vo\samples\build\html\index.html using
> template from
> jar:file:U:\projects\mg1\middlegen-2.0-vo\middlegen-html-plugin-2.0-vo.jar!/
> middlegen/plugins/html/index.vm
>    [middlegen] (middlegen.FileProducer              404 ) Generating
> U:\projects\mg1\middlegen-2.0-vo\samples\build\html\tables\child.html using
> template from
> jar:file:U:\projects\mg1\middlegen-2.0-vo\middlegen-html-plugin-2.0-vo.jar!/
> middlegen/plugins/html/single-table.vm
>    [middlegen] (middlegen.FileProducer              404 ) Generating
> U:\projects\mg1\middlegen-2.0-vo\samples\build\html\tables\parent.html using
> template from
> jar:file:U:\projects\mg1\middlegen-2.0-vo\middlegen-html-plugin-2.0-vo.jar!/
> middlegen/plugins/html/single-table.vm
>    [middlegen] (middlegen.FileProducer              404 ) Generating
> U:\projects\mg1\middlegen-2.0-vo\samples\build\html\toc.html using template
> from
> jar:file:U:\projects\mg1\middlegen-2.0-vo\middlegen-html-plugin-2.0-vo.jar!/
> middlegen/plugins/html/toc.vm
>    [middlegen] (middlegen.FileProducer              404 ) Generating
> U:\projects\mg1\middlegen-2.0-vo\samples\build\html\all-tables.html using
> template from
> jar:file:U:\projects\mg1\middlegen-2.0-vo\middlegen-html-plugin-2.0-vo.jar!/
> middlegen/plugins/html/all-tables.vm
>    [middlegen] (middlegen.FileProducer              404 ) Generating
> U:\projects\mg1\middlegen-2.0-vo\samples\build\html\tables\child.txt using
> template from
> jar:file:U:\projects\mg1\middlegen-2.0-vo\middlegen-html-plugin-2.0-vo.jar!/
> middlegen/plugins/html/single-table-txt.vm
>    [middlegen] (middlegen.FileProducer              404 ) Generating
> U:\projects\mg1\middlegen-2.0-vo\samples\build\html\tables\parent.txt using
> template from
> jar:file:U:\projects\mg1\middlegen-2.0-vo\middlegen-html-plugin-2.0-vo.jar!/
> middlegen/plugins/html/single-table-txt.vm
>    [middlegen] (middlegen.Middlegen                 414 ) Invoking plugin
> hibernate
>    [middlegen] (middlegen.FileProducer              404 ) Generating
> U:\projects\mg1\middlegen-2.0-vo\samples\build\gen-src\fkey_test\hibernate\C
> hild.hbm.xml using template from
> jar:file:U:\projects\mg1\middlegen-2.0-vo\middlegen-hibernate-plugin-2.0-vo.
> jar!/middlegen/plugins/hibernate/hibernate.vm
>    [middlegen] (middlegen.FileProducer              404 ) Generating
> U:\projects\mg1\middlegen-2.0-vo\samples\build\gen-src\fkey_test\hibernate\P
> arent.hbm.xml using template from
> jar:file:U:\projects\mg1\middlegen-2.0-vo\middlegen-hibernate-plugin-2.0-vo.
> jar!/middlegen/plugins/hibernate/hibernate.vm
>    [middlegen] Updated preferences in
> U:\projects\mg1\middlegen-2.0-vo\samples\src\fkey_test-prefs.properties
>        [mkdir] Created dir:
> U:\projects\mg1\middlegen-2.0-vo\samples\build\classes
>
> hbm2java:
>     [hbm2java] Processing 2 files.
>     [hbm2java] Building hibernate objects
> BUILD SUCCESSFUL
> Total time: 20 seconds
>
>
> Hacked up ant script to just do reversing (mostly I just removed stuff that
> appeared to have nothing to do with reversing):
>
> <?xml version="1.0"?>
> <!DOCTYPE project [
>     <!ENTITY database SYSTEM "file:./config/database/mysql.xml">
> ]>
> <!-- this is a hacked up copy of the original build file
>       it should reverse a database when you build the hbm2java target
> -->
> <project name="mg1" default="all" basedir=".">
>    <property file="${basedir}/build.properties"/>
>    <property name="name"                           value="fkey_test"/>
>    <property name="unique.name"                    value="${name}.uniq"/>
>    <property name="appxml.src.file"
> value="${basedir}/src/application.xml"/>
>    <property name="lib.dir"                        value="${basedir}/lib"/>
>    <property name="src.dir"                        value="${basedir}/src"/>
>    <property name="java.src.dir"                   value="${src.dir}/java"/>
>    <property name="web.src.dir"                    value="${src.dir}/web"/>
>    <property name="build.dir"
> value="${basedir}/build"/>
>    <property name="build.java.dir"
> value="${build.dir}/java"/>
>    <property name="build.gen-src.dir"
> value="${build.dir}/gen-src"/>
>    <property name="build.gen-webui.dir"
> value="${build.dir}/gen-webui"/>
>    <property name="build.classes.dir"
> value="${build.dir}/classes"/>
>    <property name="build.ejb-meta.dir"
> value="${build.dir}/ejb-meta"/>
>    <property name="build.web-meta.dir"
> value="${build.dir}/web-meta"/>
>
>    <property name="build.html.dir"
> value="${build.dir}/html"/>
>    <property name="build.jdo.dir"
> value="${build.dir}/jdo"/>
>    <property name="build.xmi.dir"
> value="${build.dir}/xmi"/>
>
>    &database;
>
>    <!-- define the datasource.jndi.name in case the imported ejb file
> doesn't -->
>    <property name="datasource.jndi.name"
> value="${name}/datasource"/>
>
>    <path id="lib.class.path">
>       <pathelement path="${database.driver.classpath}"/>
>       <fileset dir="${lib.dir}">
>          <include name="*.jar"/>
>       </fileset>
>       <!-- The middlegen jars -->
>       <fileset dir="${basedir}/..">
>          <include name="*.jar"/>
>       </fileset>
>    </path>
>
>    <target name="init">
>               <echo message="${lib.dir}"/>
>       <available property="xdoclet1.2+"
> classname="xdoclet.modules.ejb.EjbDocletTask"
> classpathref="lib.class.path"/>
>    </target>
>
>    <!-- ===================================================================
> -->
>    <!-- Fails if XDoclet 1.2.x is not on classpath
> -->
>    <!-- ===================================================================
> -->
>    <target name="fail-if-no-xdoclet-1.2" unless="xdoclet1.2+">
>       <fail>
>       You must download several jar files before you can build Middlegen.
>       Execute the "download-deps" target. Then try to build again.
>
>       If you are behind a proxy, you should define the properties
>       http.proxyHost and http.proxyPort. Example:
>
>       ant -Dhttp.proxyHost=foo -Dhttp.proxyPort=bar
>
>       It's also possible to download the jars manually.
>       </fail>
>    </target>
>
>    <target name="download-deps" depends="setproxy">
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-1.2b2.jar";
> dest="${lib.dir}/xdoclet-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-apache-module-1.2b2.j
> ar" dest="${lib.dir}/xdoclet-apache-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-bea-module-1.2b2.jar";
> dest="${lib.dir}/xdoclet-bea-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-ejb-module-1.2b2.jar";
> dest="${lib.dir}/xdoclet-ejb-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-hibernate-module-1.2b
> 2.jar" dest="${lib.dir}/xdoclet-hibernate-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-jboss-module-1.2b2.ja
> r" dest="${lib.dir}/xdoclet-jboss-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-jdo-module-1.2b2.jar";
> dest="${lib.dir}/xdoclet-jdo-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-jmx-module-1.2b2.jar";
> dest="${lib.dir}/xdoclet-jmx-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-libelis-module-1.2b2.
> jar" dest="${lib.dir}/xdoclet-libelis-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-mvcsoft-module-1.2b2.
> jar" dest="${lib.dir}/xdoclet-mvcsoft-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-solarmetric-module-1.
> 2b2.jar" dest="${lib.dir}/xdoclet-solarmetric-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-tjdo-module-1.2b2.jar
> " dest="${lib.dir}/xdoclet-tjdo-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-web-module-1.2b2.jar";
> dest="${lib.dir}/xdoclet-web-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-xdoclet-module-1.2b2.
> jar" dest="${lib.dir}/xdoclet-xdoclet-module-1.2b2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/xdoclet/jars/xdoclet-xjavadoc-1.2b2.jar";
> dest="${lib.dir}/xdoclet-xjavadoc-1.2b2.jar"/>
>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/commons-collections/jars/commons-collectio
> ns-2.1.jar" dest="${lib.dir}/commons-collections-2.1.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.1-d
> ev.jar" dest="${lib.dir}/commons-logging-1.1-dev.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/ejb/jars/ejb-2.0.jar";
> dest="${lib.dir}/ejb-2.0.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/hsqldb/jars/hsqldb-1.7.1.jar";
> dest="${lib.dir}/hsqldb-1.7.1.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/jdbc/jars/jdbc-2.0.jar";
> dest="${lib.dir}/jdbc-2.0.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/jdo/jars/jdo-1.0.jar";
> dest="${lib.dir}/jdo-1.0.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/log4j/jars/log4j-1.2.7.jar";
> dest="${lib.dir}/log4j-1.2.7.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/servletapi/jars/servletapi-2.3.jar";
> dest="${lib.dir}/servletapi-2.3.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/struts/jars/struts-1.0.2.jar";
> dest="${lib.dir}/struts-1.0.2.jar"/>
>       <get usetimestamp="true" ignoreerrors="true"
> src="http://www.ibiblio.org/maven/velocity/jars/velocity-1.4-dev.jar";
> dest="${lib.dir}/velocity-1.4-dev.jar"/>
>
>    </target>
>
>    <target name="setproxy" if="http.proxyHost">
>       <setproxy proxyHost="http.proxyHost" proxyPort="http.proxyPort"/>
>    </target>
>    <target name="check-driver-present">
>       <available file="${database.driver.file}" type="file"
> property="driver.present"/>
>    </target>
>    <target name="panic-if-driver-not-present" unless="driver.present">
>       <fail>
>       The JDBC driver you have specified by including one of the files in
> ${basedir}/config/database
>       doesn't exist. You have to download this driver separately and put it
> in ${database.driver.file}
>       Please make sure you're using a version that is equal or superior to
> the one we looked for.
>       If you name the driver jar file differently, please update the
> database.driver.file property
>       in the ${basedir}/config/database/xxx.xml file accordingly.
>       </fail>
>    </target>
>    <target
>       name="middlegen"
>       description="Run Middlegen"
>       unless="middlegen.skip"
>
> depends="init,fail-if-no-xdoclet-1.2,check-driver-present,panic-if-driver-no
> t-present">
>       <mkdir dir="${build.gen-src.dir}"/>
>       <taskdef name="middlegen" classname="middlegen.MiddlegenTask"
> classpathref="lib.class.path"/>
>       <middlegen appname="${name}" prefsdir="${src.dir}" gui="${gui}"
> databaseurl="${database.url}"
> initialContextFactory="${java.naming.factory.initial}"
> providerURL="${java.naming.provider.url}"
> datasourceJNDIName="${datasource.jndi.name}" driver="${database.driver}"
> username="${database.userid}" password="${database.password}"
> schema="${database.schema}"         catalog="${database.catalog}">
>          <!--sunjdo10 destination="${build.gen-src.dir}"
> package="${name}.jdo"/-->
>          <html destination="${build.html.dir}">
>             <!--fileproducer
>                id="single-table"
>                template="${basedir}/src/templates/single-table.vm"
>             /-->
>          </html>
>
>          <!--
>          This illustrates the use of custom templates without the need to
> write
>          a custom plugin. Just use the <plugin> task directly and specify as
> many
>          <fileproducers> as you like. If the filename attribute contains a
> {0},
>          one file will be generated per table, and the {0} will be
> substituted by
>          the table name in the generated files. If there is no {0}, only one
> file
>          will be generated. You can also narrow down the number of tables by
>          explicitly specifying nested <table> elements. If you don't specify
>          nested <table> elements, all tables will be used.
>          -->
>          <!--simple destination="${basedir}">
>             <fileproducer destination="${basedir}/build"
> filename="toto-{0}.txt" template="${basedir}/src/templates/simple.vm">
>                <table name="RESERVATIONS"/>
>                <table name="PERSONS"/>
>             </fileproducer>
>          </simple-->
>          <hibernate
>             destination="${build.gen-src.dir}"
>             package="${name}.hibernate"
>          />
>       </middlegen>
>       <mkdir dir="${build.classes.dir}"/>
>    </target>
>    <target name="jdodoclet" depends="middlegen">
>       <mkdir dir="${build.jdo.dir}/META-INF"/>
>       <taskdef name="jdodoclet"
> classname="xdoclet.modules.jdo.JdoDocletTask"
> classpathref="lib.class.path"/>
>       <jdodoclet destdir="${build.classes.dir}"
> excludedtags="@version,@author">
>          <fileset dir="${build.gen-src.dir}">
>             <include name="**/jdo/**/*.java" />
>          </fileset>
>          <jdometadata jdospec="1.0" generation="class"/>
>          <lido version="1.3"/>
>          <kodo version="2.3"/>
>       </jdodoclet>
>    </target>
>    <target name="compile-jdo" depends="jdodoclet" description="Compile
> business logic (jdo)">
>       <javac
>          srcdir="${build.gen-src.dir}"
>          destdir="${build.classes.dir}"
>          classpathref="lib.class.path"
>       >
>          <include name="**/jdo/**/*"/>
>       </javac>
>    </target>
>    <target name="all" description="Build everything" depends="init"/>
>    <target name="clean" description="Clean all generated stuff">
>       <delete dir="${build.dir}"/>
>    </target>
>       <target name="hbm2java" depends="middlegen" description="Generate
> .java from .hbm files.">
>       <taskdef
>          name="hbm2java"
>          classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"
>          classpathref="lib.class.path"
>       />
>
>               <hbm2java output="${build.gen-src.dir}">
>


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
middlegen-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/middlegen-user

Reply via email to