> > Hi Roberto, > > I'm currently working on a patch for generating hbm files in > a user-specified way (e.g. separate files for subclasses, > everything in one large file, or any combination of this) ... > I'd be interested to see what you've done, can you send it to me? > > Paul
These are the differences, could someone apply them to the repository? Thanx in advance! Paul, if you need full files instead of diff files, I can supply them to you. I tested my patch with JBossIDE and they seems to work correctly on my projects without interferring with anything. --- xdoclet\modules\hibernate\src\META-INF\xtags.xml 2005-11-01 09.36.28.000000000 +-0100 +++ xdoclet\modules\hibernate\src\META-INF\xtags.xml 2006-03-09 17.55.44.000000000 +-0100 @@ -5223,12 +5223,23 @@ <mandatory>true</mandatory> </parameter> </tag> <tag> <level>class</level> + <name>hibernate.ext-subclass</name> + <usage-description> + Declare the current class as a subclass to be processed in an external mapping file: to be used in conjution with joined-subclass or union-subclass tags + </usage-description> + <unique>true</unique> + <condition-description>Hibernate</condition-description> + <condition type="class" /> + </tag> + + <tag> + <level>class</level> <name>hibernate.subclass</name> <usage-description> Declare the current class as subclass </usage-description> <unique>true</unique> <condition-description>Hibernate</condition-description> --- xdoclet\modules\hibernate\src\xdoclet\modules\hibernate\resources\hibernate- class.xdt 2005-09-29 15.02.38.000000000 +-0100 +++ xdoclet\modules\hibernate\src\xdoclet\modules\hibernate\resources\hibernate- class.xdt 2006-03-11 18.06.37.000000000 +-0100 @@ -58,12 +58,16 @@ persister="<XDtClass:classTagValue tagName="hibernate.class" paramName="persister" />" </XDtClass:ifHasClassTag> <XDtClass:ifHasClassTag tagName="hibernate.class" paramName="batch-size" superclasses="false"> batch-size="<XDtClass:classTagValue tagName="hibernate.class" paramName="batch-size" />" </XDtClass:ifHasClassTag> + + <XDtClass:ifHasClassTag tagName="hibernate.class" paramName="abstract" superclasses="false"> + abstract="<XDtClass:classTagValue tagName="hibernate.class" paramName="abstract" />" + </XDtClass:ifHasClassTag> > <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-meta$class.xdt"></XDtMer ge:merge> <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-subselect$class.xdt"></X DtMerge:merge> <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-cache$class.xdt"></XDtMe rge:merge> @@ -108,6 +112,8 @@ <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-join$method.xdt"></XDtMe rge:merge> <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-subclasses.xdt"></XDtMer ge:merge> </class> </XDtClass:ifHasClassTag> + +<XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-ext-subclass.xdt"></XDtM erge:merge> --- xdoclet\modules\hibernate\src\xdoclet\modules\hibernate\resources\hibernate- composite-element.xdt 2005-06-06 12.02.42.000000000 +-0100 +++ xdoclet\modules\hibernate\src\xdoclet\modules\hibernate\resources\hibernate- composite-element.xdt 2006-03-07 23.45.00.000000000 +-0100 @@ -14,13 +14,13 @@ <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-any.xdt"></XDtMerge:merg e> <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-nested-composite-element .xdt"></XDtMerge:merge> </XDtMethod:forAllMethods> </XDtClass:pushClass> </composite-element> </XDtMethod:ifHasMethodTag> -<XDtMethod:ifDoesntHaveMethodTag tagName="hibernate.collection-composite-element"> +<XDtMethod:ifDoesntHaveMethodTag tagName="hibernate.composite-element"> <XDtMethod:ifHasMethodTag tagName="hibernate.collection-composite-element"> <!-- @hibernate.collection-composite-element tag is deprecated, use @hibernate.composite-element instead --> <composite-element class="<XDtMethod:methodTagValue tagName="hibernate.collection-composite-element" paramName="class" />" > <XDtClass:pushClass value="<XDtMethod:methodTagValue tagName='hibernate.collection-composite-element' paramName='class' />"> --- +++ xdoclet\modules\hibernate\src\xdoclet\modules\hibernate\resources\hibernate- ext-subclass.xdt 2006-03-11 18.17.24.000000000 +-0100 @@ -0,0 +1,9 @@ +<XDtClass:ifHasClassTag tagName="hibernate.ext-subclass" superclasses="false"> + <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-joined-subclass.xdt"></X DtMerge:merge> + <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-union-subclass.xdt"></XD tMerge:merge> + <XDtClass:ifDoesntHaveClassTag tagName="hibernate.joined-subclass"> + <XDtClass:ifDoesntHaveClassTag tagName="hibernate.union-subclass"> + <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-ext-subclass.xdt"></XDtM erge:merge> + </XDtClass:ifDoesntHaveClassTag> + </XDtClass:ifDoesntHaveClassTag> +</XDtClass:ifHasClassTag> --- xdoclet\modules\hibernate\src\xdoclet\modules\hibernate\resources\hibernate- param.xdt 2005-07-21 08.20.00.000000000 +-0100 +++ xdoclet\modules\hibernate\src\xdoclet\modules\hibernate\resources\hibernate- param.xdt 2006-03-09 16.28.02.000000000 +-0100 @@ -10,17 +10,13 @@ <!-- The generator-param tag is deprecated, use the @hibernate.generator and @hibernate.param tags instead --> <param <XDtConfig:ifConfigParamGreaterOrEquals paramName="version" value="2.0"> name="<XDtMethod:methodTagValue tagName="hibernate.generator-param" paramName="name" />" </XDtConfig:ifConfigParamGreaterOrEquals> - > - - <XDtMethod:methodTagValue tagName="hibernate.generator-param" paramName="value" /> - - </param> + ><XDtMethod:methodTagValue tagName="hibernate.generator-param" paramName="value" /></param> </XDtMethod:forAllMethodTags> <XDtMethod:ifHasMethodTag tagName="hibernate.id" paramName="generator-parameter-1"> <!-- The generator-parameter-1 attribute of @hibernate.id is deprecated, use the @hibernate.generator and @hibernate.param tags instead --> <param> --- xdoclet\modules\hibernate\src\xdoclet\modules\hibernate\resources\hibernate- subclasses.xdt 2005-09-29 15.02.38.000000000 +-0100 +++ xdoclet\modules\hibernate\src\xdoclet\modules\hibernate\resources\hibernate- subclasses.xdt 2006-03-11 18.18.50.000000000 +-0100 @@ -1,12 +1,14 @@ <XDtHibernate:forAllSubclasses> - <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-subclass.xdt"></XDtMerge :merge> - <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-joined-subclass.xdt"></X DtMerge:merge> - <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-union-subclass.xdt"></XD tMerge:merge> - <XDtClass:ifDoesntHaveClassTag tagName="hibernate.subclass"> - <XDtClass:ifDoesntHaveClassTag tagName="hibernate.joined-subclass"> - <XDtClass:ifDoesntHaveClassTag tagName="hibernate.union-subclass"> - <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-subclasses.xdt"></XDtMer ge:merge> + <XDtClass:ifDoesntHaveClassTag tagName="hibernate.ext-subclass"> + <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-subclass.xdt"></XDtMerge :merge> + <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-joined-subclass.xdt"></X DtMerge:merge> + <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-union-subclass.xdt"></XD tMerge:merge> + <XDtClass:ifDoesntHaveClassTag tagName="hibernate.subclass"> + <XDtClass:ifDoesntHaveClassTag tagName="hibernate.joined-subclass"> + <XDtClass:ifDoesntHaveClassTag tagName="hibernate.union-subclass"> + <XDtMerge:merge file="xdoclet/modules/hibernate/resources/hibernate-subclasses.xdt"></XDtMer ge:merge> + </XDtClass:ifDoesntHaveClassTag> </XDtClass:ifDoesntHaveClassTag> </XDtClass:ifDoesntHaveClassTag> </XDtClass:ifDoesntHaveClassTag> </XDtHibernate:forAllSubclasses> --- xdoclet\modules\hibernate\src\xdoclet\modules\hibernate\HibernateSubTask.jav a 2005-08-08 08.02.28.000000000 +-0100 +++ xdoclet\modules\hibernate\src\xdoclet\modules\hibernate\HibernateSubTask.jav a 2006-03-09 15.51.16.000000000 +-0100 @@ -70,13 +70,13 @@ /** * Constructor for the HibernateSubTask object. */ public HibernateSubTask() { - setHavingClassTags(new String[]{"hibernate.class", "hibernate.query"}); + setHavingClassTags(new String[]{"hibernate.class", "hibernate.ext-subclass", "hibernate.query"}); setTemplateURL(getClass().getResource(DEFAULT_HIBERNATE_TEMPLATE_FILE)); setDestinationFile(GENERATED_HIBERNATE_FILE_NAME); setXmlPrettified(false); } public String getGeneratedFileName(XClass clazz) throws XDocletException -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.375 / Virus Database: 268.2.1/279 - Release Date: 10/03/2006 ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ xdoclet-devel mailing list xdoclet-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xdoclet-devel