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