Hi,

        I'm using middlegen 2.1 to generate an EJB persistence layer, and have
been trying to separate the generated EJBs into separate packages, with
mixed success.

        I've been using multiple <cmp20/> plugins with <fileproducer/>  in the
middlegen task, which looks as follows (simplified):

      <middlegen
         appname="${name}"
         prefsdir="${build.gen-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}"
         includeViews="false"
      >

        <table name="users" generate="true" singular="User"
plural="Users"/>
        <table name="address" generate="true" singular="Address"
plural="Addresses"/>

        <cmp20
           name="contact"
           destination="${build.gen-src.dir}"
           package="${app}.contact.ejb"
           interfacepackage="${app}.contact.interfaces"
           jndiprefix="${unique.name}"
           valueobject="true"
           sessionfacade="false"
           viewtype="local"
           mergedir="${basedir}/src/middlegen"
           readonly="false"
           fkcmp="true"
           guid="false"
        >
                <fileproducer
                        template="${ifx.cmp.template}"
                        id="entity-cmp-20">
                  <table name="address"/>
                </fileproducer>
        </cmp20>

        <cmp20
           name="users"
           destination="${build.gen-src.dir}"
           package="${app}.user.ejb"
           interfacepackage="${app}.user.interfaces"
           jndiprefix="${unique.name}"
           pkclass="false"
           dataobject="false"
           valueobject="true"
           sessionfacade="false"
           viewtype="local"
           mergedir="${basedir}/src/middlegen"
           readonly="false"
           fkcmp="true"
           guid="false"
        >
                <fileproducer
                        template="${ifx.cmp.template}"
                        id="entity-cmp-20">
                  <table name="users"/>
                </fileproducer>
        </cmp20>

      </middlegen>

        'address' has a one to many relationship to 'users'

        With the above, the beans are generated
into .../user/ejb/UserBean.java, and .../contact/ejb/AddressBean.java,
but the CMR xdoclet for getAddress() markup in UserBean is looking
for .../user/interfaces/AddressLocal, and similarly getUsers() in
AddressBean refers to .../contact/interfaces/UserLocal.

        I've searched the list archives, bug list etc, but haven't come across
any solution, though I did see it crop up as an RFE about 2 years ago.

        Is there any reasonably easy way of doing this? Having looked through
the code, I'm not sure there is, but I hopefully stand to be corrected!

Thanks,

John



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
middlegen-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/middlegen-user

Reply via email to