Re: Cgen task

From: Gary Jarrel (garyjarre..mail.com)
Date: Thu Feb 09 2006 - 22:29:01 EST

  • Next message: emre.yilma..r.net: "Cache problem"

    Mike,

    Thank you very much for you help, if making your working tasks
    available is not too much trouble, I would love to have a look at
    them!

    Thank you again!

    Gary

    On 2/10/06, Mike Kienenberger <mkienen..mail.com> wrote:
    > Gary,
    >
    > I've got working tasks that create interfaces.
    > I could probably make them available if you like, although they also
    > add in vertical inheritance stuff by overloading some of the multitier
    > client attributes.
    >
    > As for your specific questions, you need to use makepairs=false and
    > usepkgpath=false. You're trying to make the default behavior do
    > something it was not intended to support.
    >
    > Here's the build targets I use. "entity" creates the interfaces and
    > cayenne implementation. "stubs" creates POJO non-persisted
    > implementations.
    >
    > <target name="entity" depends="failure check"
    > description="internal:generate entity">
    > <mkdir dir="${dataMapModelPackageDir}/entity"/>
    > <cgen map="${template.datamap}"
    > additionalMaps="${additional.template.datamaps}"
    > version="1.2"
    > makepairs="false"
    > overwrite="false"
    > mode="entity"
    > destDir="${dataMapModelPackageDir}/entity"
    > superpkg="${dataMapModelPackage}.entity.cayenne.generated"
    > template="${template.subclass.interface}"
    > usepkgpath="false">
    > </cgen>
    > <mkdir dir="${dataMapModelPackageDir}/entity/generated"/>
    > <cgen map="${template.datamap}"
    > additionalMaps="${additional.template.datamaps}"
    > version="1.2"
    > makepairs="false"
    > overwrite="true"
    > mode="entity"
    > outputPattern="_*.java"
    > destDir="${dataMapModelPackageDir}/entity/generated"
    > superpkg="${dataMapModelPackage}.entity.cayenne.generated"
    > template="${template.superclass.interface}"
    > usepkgpath="false">
    > </cgen>
    > <mkdir dir="${dataMapModelPackageDir}/entity/cayenne"/>
    > <cgen map="${template.datamap}"
    > additionalMaps="${additional.template.datamaps}"
    > version="1.2"
    > makepairs="false"
    > overwrite="false"
    > mode="entity"
    > destDir="${dataMapModelPackageDir}/entity/cayenne"
    > superpkg="${dataMapModelPackage}.entity.cayenne.generated"
    > template="${template.subclass}"
    > usepkgpath="false">
    > </cgen>
    > <mkdir dir="${dataMapModelPackageDir}/entity/cayenne/generated"/>
    > <cgen map="${template.datamap}"
    > additionalMaps="${additional.template.datamaps}"
    > version="1.2"
    > makepairs="false"
    > overwrite="true"
    > mode="entity"
    > outputPattern="_*Impl.java"
    > destDir="${dataMapModelPackageDir}/entity/cayenne/generated"
    > superpkg="${dataMapModelPackage}.entity.cayenne.generated"
    > template="${template.superclass}"
    > usepkgpath="false">
    > </cgen>
    > </target>
    >
    > <target name="entity stub" depends="failure check"
    > description="internal:generate entity">
    > <mkdir dir="${dataMapModelPackageDir}/entity/stub/generated"/>
    > <cgen map="${template.datamap}"
    > additionalMaps="${additional.template.datamaps}"
    > version="1.2"
    > makepairs="false"
    > overwrite="true"
    > mode="entity"
    > outputPattern="_*StubImpl.java"
    > destDir="${dataMapModelPackageDir}/entity/stub/generated"
    > superpkg="${dataMapModelPackage}.entity.cayenne.generated"
    > template="${template.superclass.stub}"
    > usepkgpath="false">
    > </cgen>
    > <mkdir dir="${dataMapModelPackageDir}/entity/stub"/>
    > <cgen map="${template.datamap}"
    > additionalMaps="${additional.template.datamaps}"
    > version="1.2"
    > makepairs="false"
    > overwrite="false"
    > mode="entity"
    > outputPattern="*StubImpl.java"
    > destDir="${dataMapModelPackageDir}/entity/stub"
    > superpkg="${dataMapModelPackage}.entity.cayenne.generated"
    > template="${template.subclass.stub}"
    > usepkgpath="false">
    > </cgen>
    > </target>
    >
    > On 2/9/06, Gary Jarrel <garyjarre..mail.com> wrote:
    > > Hi All!
    > >
    > > I'm using the cgen ant task to generate interfaces using the map for a
    > > particular cayenne project.
    > >
    > > I'm generating a pair of interface (as I've seen discussed on this
    > > list) i.e IFooInterface and I_FooInterface. Hence I'm using the
    > > makepairs=true and usepkgpath=true. I'm also setting a custom package
    > > for the super interface using superpkg. This custom package and hence
    > > custom directory is different to that used by the generated cayenne
    > > super classes
    > >
    > > The problem is sub interface get generated into the same folder as the
    > > standard cayenne sub classes, and I can't see an easy way to modify
    > > the directory into which these interface are generated, as it appears
    > > cgen reads the package name from the map file, and builds the
    > > directory structure accordingly. Is there a way to modify this
    > > behaviour?
    > >
    > > Thankyou for you help!
    > >
    > > Gary
    > >
    >



    This archive was generated by hypermail 2.0.0 : Thu Feb 09 2006 - 22:29:03 EST