db-torque-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Laudani - Softmasters" <a...@softmasters.net>
Subject Re: problem with om classes
Date Thu, 11 Oct 2007 21:10:31 GMT
Removing the empty interface solves the problem.
The issue is caused by devaki-nextobjects which creates a wrong
schema.xmland adds the interface="".
Thank you
Regards

On 10/11/07, Thomas Fischer <tfischer@apache.org> wrote:
>
> Hm, you have defined the foreign key twice:
> <foreign-key foreignTable="autori" onUpdate="none" onDelete="none">
>    <reference foreign="autore_id" local="autore_id"/>
>    <reference foreign="autore_id" local="autore_id"/>
> </foreign-key>
>
> perhaps removing one of the references helps ?
>
> It should not be necessary to define an interface. Can you remove the
> empty interface and see what happens ?
>
>     Thomas
>
> On Tue, 9 Oct 2007, Alex Laudani - Softmasters wrote:
>
> > Hello,
> > I have problems with generating torque classes with torque generator.
> > The generator is invoked using ant build from devaki nextobjects.
> > Below are my schema.xml file and my build.properties.
> > The generated BaseLibriPeer has the following problem:
> > at line 825 it shows:
> >
> > boolean newObject = true;
> >            for (int j = 0; j < results.size(); j++)
> >            {
> >                Libri temp_obj1 = (Libri)results.get(j);
> >                Autori temp_obj2 = (Autori)temp_obj1.get();
> >                if (temp_obj2.getPrimaryKey().equals(obj2.getPrimaryKey
> ()))
> >                {
> >                    newObject = false;
> >                    temp_obj2.addLibri(obj1);
> >                    break;
> >                }
> >            }
> >
> > The problem is that
> > Autori temp_obj2 = (Autori)temp_obj1.get();
> > should be
> > Autori temp_obj2 = (Autori)temp_obj1.getAutori();
> > and so it gives an error at compile time because the get() method does
> not
> > exist in Libri.
> > I've tried to look at om/Peer.vm template and I can see the a
> > $joinTable.Interface is involved. I think that the value for
> > $table.Interface is not defined. How can I define it?
> > Thank you
> > Regards
> >
> > schema.xml
> >
> > <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> > <database name="" defaultIdMethod="native" defaultJavaType="primitive"
> > package="org.devaki.nextobjects.models" baseClass="
> > org.apache.torque.om.BaseObject" basePeer="
> org.apache.torque.util.BasePeer"
> > defaultJavaNamingMethod="underscore" heavyIndexing="false">
> >
> >    <table name="autori" javaName="Autori" idMethod="null" baseClass="
> > org.apache.torque.om.BaseObject" basePeer="
> org.apache.torque.util.BasePeer"
> > interface="" javaNamingMethod="nochange" heavyIndexing="false"
> > description="">
> >
> >        <column name="autore_id" javaName="autoreId" primaryKey="true"
> > required="true" type="INTEGER" javaType="object"
> > javaNamingMethod="javaname"/>
> >        <column name="nome" javaName="nome" required="true"
> type="VARCHAR"
> > javaType="object" size="255" javaNamingMethod="javaname"/>
> >
> >    </table>
> >    <table name="libri" javaName="Libri" idMethod="null" baseClass="
> > org.apache.torque.om.BaseObject" basePeer="
> org.apache.torque.util.BasePeer"
> > interface="" javaNamingMethod="nochange" heavyIndexing="false"
> > description="">
> >
> >        <column name="libro_id" javaName="libroId" primaryKey="true"
> > required="true" type="INTEGER" javaType="object"
> > javaNamingMethod="javaname"/>
> >        <column name="titolo" javaName="titolo" type="VARCHAR"
> > javaType="object" size="255" javaNamingMethod="javaname"/>
> >        <column name="autore_id" javaName="autoreId" required="true"
> > type="INTEGER" javaType="object" javaNamingMethod="javaname"/>
> >
> >        <foreign-key foreignTable="autori" onUpdate="none"
> onDelete="none">
> >            <reference foreign="autore_id" local="autore_id"/>
> >            <reference foreign="autore_id" local="autore_id"/>
> >
> >        </foreign-key>
> >    </table>
> > </database>
> >
> > build.properties:
> > #--- properties for Torque build ---
> > #Tue Oct 09 01:11:11 CEST 2007
> > project=project1
> > complexObjectModel=true
> > databaseUrl=jdbc\:postgresql\://127.0.0.1/project1
> > IntakeControlTemplate=intake/Control.vm
> > ServiceControlTemplate=service/Control.vm
> > torque.database.schema=public
> > idTableControlTemplate=sql/id-table/Control.vm
> > addSaveMethod=true
> > createDatabaseUrl=jdbc\:postgresql\://127.0.0.1/template1
> > basePrefix=Base
> > addGetByNameMethod=true
> > DataSQLControlTemplate=sql/load/Control.vm
> > configDir=./config
> > databaseHost=127.0.0.1
> > databaseDriver=org.postgresql.Driver
> > OMControlTemplate=om/Control.vm
> > targetPackage=org.devaki.nextobjects.models
> > database=postgresql
> > documentationFormat=html
> > DataDumpControlTemplate=data/dump/Control.vm
> > DocControlTemplate=doc/Control.vm
> > addIntakeRetrievable=true
> > buildDatabaseUrl=jdbc\:postgresql\://127.0.0.1/project1
> > DataDTDControlTemplate=data/Control.vm
> > SQLControlTemplate=sql/base/Control.vm
> > userManagers=false
> > sameJavaName=false
> > templatePath=templates
> > torque.home=C\:\\Documents and
> Settings\\Alex\\devaki-nextobjects\\torque-
> > gen-3.1
> > databaseUser=devaki
> > addTimeStamp=true
> > outputDirectory=src
> > databasePassword=
> > schemaDirectory=schema
> >
>



-- 
------------------------
Alex Laudani

Softmasters - Technology solutions
Via Dante 2/26
16121 Genova
Italy
Phone: +390108936161
GSM: +393384531234
http://www.softmasters.net
-----------------------

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message