Update of
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-hibernate/src/main/java/org/xdoclet/plugin/hibernate
In directory
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22116/src/main/java/org/xdoclet/plugin/hibernate
Modified Files:
Class.jelly HibernateMappingPlugin.java Subclass.jelly
Added Files:
UnionSubclass.jelly
Log Message:
(XDP-49) Added support of 'union-subclass'
--- NEW FILE: UnionSubclass.jelly ---
<?xml version="1.0" encoding="UTF-8"?>
<j:jelly xmlns:j="jelly:core" xmlns:x="jelly:xml">
<j:set var="class" value="${unionSubclass}"/>
<j:set var="unionSubclassTag"
value="${class.getTagByName('hibernate.union-subclass')}"/>
<union-subclass
name="${plugin.getFirstNonEmptyValue(unionSubclassTag.name_,
class.fullyQualifiedName)}"
entity-name="${unionSubclassTag.entityName}"
proxy="${unionSubclassTag.proxy}"
table="${unionSubclassTag.table}"
schema="${unionSubclassTag.schema}"
catalog="${unionSubclassTag.catalog}"
subselect="${unionSubclassTag.subselect}"
dynamic-update="${unionSubclassTag.dynamicUpdate}"
dynamic-insert="${unionSubclassTag.dynamicInsert}"
select-before-update="${unionSubclassTag.selectBeforeUpdate}"
extends="${unionSubclassTag.extends}"
lazy="${unionSubclassTag.lazy}"
abstract="${unionSubclassTag.abstract}"
persister="${unionSubclassTag.persister}"
check="${unionSubclassTag.check}"
batch-size="${unionSubclassTag.batchSize}"
node="${unionSubclassTag.node}">
<!-- process meta elements on class level -->
<j:forEach var="metaTag"
items="${class.getTagsByName('hibernate.meta')}">
<j:import uri="org/xdoclet/plugin/hibernate/Meta.jelly"
inherit="true"/>
</j:forEach>
<!-- process properties -->
<j:forEach var="property"
items="${plugin.getSubclassProperties(class)}">
<j:import
uri="org/xdoclet/plugin/hibernate/HibernateProperties.jelly" inherit="true"/>
</j:forEach>
<!-- union subclasses -->
<j:forEach var="unionSubclass"
items="${plugin.getJoinedSubclasses(class)}">
<j:import uri="org/xdoclet/plugin/hibernate/JoinedSubclass.jelly"
inherit="true"/>
</j:forEach>
<!-- process subselect -->
<j:set var="subselectTag"
value="${class.getTagByName('hibernate.subselect')}"/>
<j:if test="${subselectTag != null}">
<j:import uri="org/xdoclet/plugin/hibernate/Subselect.jelly"
inherit="true"/>
</j:if>
<!-- process synchronize -->
<j:forEach var="synchronizeTag"
items="${class.getTagsByName('hibernate.synchronize')}">
<j:import uri="org/xdoclet/plugin/hibernate/Synchronize.jelly"
inherit="true"/>
</j:forEach>
<!-- process loader -->
<j:set var="loaderTag"
value="${class.getTagByName('hibernate.loader')}"/>
<j:if test="${loaderTag != null}">
<j:import uri="org/xdoclet/plugin/hibernate/Loader.jelly"
inherit="true"/>
</j:if>
<j:set var="sqlOperationEntity" value="${class}"/>
<j:import uri="org/xdoclet/plugin/hibernate/SqlOperations.jelly"
inherit="true"/>
<j:import uri="org/xdoclet/plugin/hibernate/SqlDeleteAll.jelly"
inherit="true"/>
</union-subclass>
</j:jelly>
Index: HibernateMappingPlugin.java
===================================================================
RCS file:
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-hibernate/src/main/java/org/xdoclet/plugin/hibernate/HibernateMappingPlugin.java,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -d -r1.35 -r1.36
*** HibernateMappingPlugin.java 6 May 2005 08:09:41 -0000 1.35
--- HibernateMappingPlugin.java 6 May 2005 16:07:59 -0000 1.36
***************
*** 66,69 ****
--- 66,70 ----
HIERARCHY_STOP_TAGS.add("hibernate.subclass");
HIERARCHY_STOP_TAGS.add("hibernate.joined-subclass");
+ HIERARCHY_STOP_TAGS.add("hibernate.union-subclass");
ID_TAGS.add("hibernate.id");
ID_TAGS.add("hibernate.composite-id");
***************
*** 161,174 ****
/**
- * provide list of joined subclasses for given class
- */
- public List getJoinedSubclasses(JavaClass clazz) {
- List result = new ArrayList();
- getSubclassesWithTagRecursive(result, clazz,
"hibernate.joined-subclass");
- Collections.sort(result);
- return result;
- }
-
- /**
* get property access type. "field" for fields, nothing else
*
--- 162,165 ----
***************
*** 217,223 ****
* provide list of subclasses for given class
*/
! public List getSubclasses(JavaClass clazz) {
List result = new ArrayList();
! getSubclassesWithTagRecursive(result, clazz, "hibernate.subclass");
Collections.sort(result);
return result;
--- 208,214 ----
* provide list of subclasses for given class
*/
! public List getSubclasses(JavaClass clazz, String tagName) {
List result = new ArrayList();
! getSubclassesWithTagRecursive(result, clazz, tagName);
Collections.sort(result);
return result;
***************
*** 319,325 ****
//Check if mapping up-to-date then skip generation
if (checkUpToDate) {
! File destFile = new File(getDestdirFile(),
! clazz.getPackage().replace('.', '/') + File.separator +
getDestinationFilename(metadata));
! File sourceFile = new File(clazz.getSource().getURL().getFile());
if (destFile.exists() && sourceFile.lastModified() <
destFile.lastModified()) {
--- 310,316 ----
//Check if mapping up-to-date then skip generation
if (checkUpToDate) {
! File destFile = new File(getDestdirFile(),
! clazz.getPackage().replace('.', '/') + File.separator +
getDestinationFilename(metadata));
! File sourceFile = new File(clazz.getSource().getURL().getFile());
if (destFile.exists() && sourceFile.lastModified() <
destFile.lastModified()) {
Index: Subclass.jelly
===================================================================
RCS file:
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-hibernate/src/main/java/org/xdoclet/plugin/hibernate/Subclass.jelly,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Subclass.jelly 4 May 2005 09:48:40 -0000 1.7
--- Subclass.jelly 6 May 2005 16:07:59 -0000 1.8
***************
*** 38,42 ****
<!-- subclasses -->
! <j:forEach var="subclass" items="${plugin.getSubclasses(class)}">
<j:import uri="org/xdoclet/plugin/hibernate/Subclass.jelly"
inherit="true"/>
</j:forEach>
--- 38,42 ----
<!-- subclasses -->
! <j:forEach var="subclass"
items="${plugin.getSubclasses(class,'hibernate.subclass')}">
<j:import uri="org/xdoclet/plugin/hibernate/Subclass.jelly"
inherit="true"/>
</j:forEach>
Index: Class.jelly
===================================================================
RCS file:
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-hibernate/src/main/java/org/xdoclet/plugin/hibernate/Class.jelly,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** Class.jelly 4 May 2005 09:48:40 -0000 1.15
--- Class.jelly 6 May 2005 16:07:52 -0000 1.16
***************
*** 138,148 ****
<!-- subclasses -->
! <j:forEach var="subclass" items="${plugin.getSubclasses(metadata)}">
<j:import uri="org/xdoclet/plugin/hibernate/Subclass.jelly"
inherit="true"/>
</j:forEach>
<!-- joined subclasses -->
! <j:forEach var="joinedSubclass"
items="${plugin.getJoinedSubclasses(metadata)}">
<j:import uri="org/xdoclet/plugin/hibernate/JoinedSubclass.jelly"
inherit="true"/>
</j:forEach>
<!-- process loader -->
--- 138,152 ----
<!-- subclasses -->
! <j:forEach var="subclass"
items="${plugin.getSubclasses(metadata,'hibernate.subclass')}">
<j:import uri="org/xdoclet/plugin/hibernate/Subclass.jelly"
inherit="true"/>
</j:forEach>
<!-- joined subclasses -->
! <j:forEach var="joinedSubclass"
items="${plugin.getSubclasses(metadata,'hibernate.joined-subclass')}">
<j:import uri="org/xdoclet/plugin/hibernate/JoinedSubclass.jelly"
inherit="true"/>
</j:forEach>
+ <!-- union subclasses -->
+ <j:forEach var="unionSubclass"
items="${plugin.getSubclasses(metadata,'hibernate.union-subclass')}">
+ <j:import uri="org/xdoclet/plugin/hibernate/UnionSubclass.jelly"
inherit="true"/>
+ </j:forEach>
<!-- process loader -->
***************
*** 161,174 ****
</class>
! <!-- queries -->
<j:forEach var="query"
items="${metadata.getTagsByName('hibernate.query',true)}">
<query name="${query.name_}"><![CDATA[${query.query}]]></query>
</j:forEach>
! <j:forEach var="subclass" items="${plugin.getSubclasses(metadata)}">
<j:forEach var="query"
items="${subclass.getTagsByName('hibernate.query',false)}">
<query
name="${query.name_}"><![CDATA[${query.query}]]></query>
</j:forEach>
</j:forEach>
! <j:forEach var="subclass" items="${plugin.getJoinedSubclasses(metadata)}">
<j:forEach var="query"
items="${subclass.getTagsByName('hibernate.query',false)}">
<query
name="${query.name_}"><![CDATA[${query.query}]]></query>
--- 165,183 ----
</class>
! <!-- queries todo: refactor it -->
<j:forEach var="query"
items="${metadata.getTagsByName('hibernate.query',true)}">
<query name="${query.name_}"><![CDATA[${query.query}]]></query>
</j:forEach>
! <j:forEach var="subclass"
items="${plugin.getSubclasses(metadata,'hibernate.subclass')}">
<j:forEach var="query"
items="${subclass.getTagsByName('hibernate.query',false)}">
<query
name="${query.name_}"><![CDATA[${query.query}]]></query>
</j:forEach>
</j:forEach>
! <j:forEach var="subclass"
items="${plugin.getSubclasses(metadata,'hibernate.joined-subclass')}">
! <j:forEach var="query"
items="${subclass.getTagsByName('hibernate.query',false)}">
! <query
name="${query.name_}"><![CDATA[${query.query}]]></query>
! </j:forEach>
! </j:forEach>
! <j:forEach var="subclass"
items="${plugin.getSubclasses(metadata,'hibernate.union-subclass')}">
<j:forEach var="query"
items="${subclass.getTagsByName('hibernate.query',false)}">
<query
name="${query.name_}"><![CDATA[${query.query}]]></query>
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
xdoclet-plugins-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xdoclet-plugins-commits