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-serv24356/src/main/java/org/xdoclet/plugin/hibernate
Modified Files:
CompositeId.jelly CompositeMapKey.jelly
HibernateMappingPlugin.java Id.jelly
Added Files:
KeyManyToOne.jelly KeyProperty.jelly
Log Message:
(XDP-55) Added support of @hibernate.composite-map-key
--- NEW FILE: KeyManyToOne.jelly ---
<j:jelly xmlns:j="jelly:core" xmlns:g="generama:core">
<j:set var="keyManyToOneTag"
value="${keyProperty.entity.getTagByName('hibernate.key-many-to-one')}"/>
<key-many-to-one name="${keyProperty.name}"
access="${keyManyToOneTag.access}"
type="${keyManyToOneTag.type}"
column="${keyManyToOneTag.column}"
length="${keyManyToOneTag.length}"
class="${keyManyToOneTag.class_}">
<j:forEach var="metaTag"
items="${keyProperty.entity.getTagsByName('hibernate.meta')}">
<j:import uri="org/xdoclet/plugin/hibernate/Meta.jelly"
inherit="true"/>
</j:forEach>
<j:forEach var="columnTag"
items="${keyProperty.entity.getTagsByName('hibernate.column')}">
<j:import uri="org/xdoclet/plugin/hibernate/Column.jelly"
inherit="true"/>
</j:forEach>
</key-many-to-one>
</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.37
retrieving revision 1.38
diff -C2 -d -r1.37 -r1.38
*** HibernateMappingPlugin.java 13 May 2005 07:50:37 -0000 1.37
--- HibernateMappingPlugin.java 16 May 2005 17:56:32 -0000 1.38
***************
*** 65,68 ****
--- 65,69 ----
PROPERTY_TAGS.add("hibernate.primitive-array");
PROPERTY_TAGS.add("hibernate.key-property");
+ PROPERTY_TAGS.add("hibernate.key-many-to-one");
PROPERTY_TAGS.add("hibernate.parent");
HIERARCHY_STOP_TAGS.add("hibernate.class");
Index: CompositeId.jelly
===================================================================
RCS file:
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-hibernate/src/main/java/org/xdoclet/plugin/hibernate/CompositeId.jelly,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** CompositeId.jelly 13 May 2005 07:50:37 -0000 1.7
--- CompositeId.jelly 16 May 2005 17:56:32 -0000 1.8
***************
*** 1,3 ****
! <j:jelly xmlns:j="jelly:core">
<j:set var="compositeIdTag"
value="${property.entity.getTagByName('hibernate.composite-id')}"/>
<composite-id
--- 1,3 ----
! <j:jelly xmlns:j="jelly:core" xmlns:g="generama:core">
<j:set var="compositeIdTag"
value="${property.entity.getTagByName('hibernate.composite-id')}"/>
<composite-id
***************
*** 15,52 ****
<j:forEach begin="1" end="${size(props)}" indexVar="propsI">
<j:forEach var="keyProperty" items="${props}">
! <j:set var="keyPropertyTag"
value="${keyProperty.entity.getTagByName('hibernate.key-property')}"/>
! <j:set var="keyManyToOne"
value="${keyProperty.entity.getTagByName('hibernate.key-many-to-one')}"/>
!
! <j:if test="${size(keyPropertyTag) > 0}">
! <j:if test="${size(keyManyToOne) > 0}">
! <j:set var="message" value="key-property and
key-many-to-one in class ${class.name} for property ${property.name}"/>
! ${plugin.assertTrue(message,false)}
! </j:if>
! </j:if>
! <j:if test="${keyPropertyTag != null}">
! <j:if test="${keyPropertyTag.position == propsI}">
! <key-property name="${keyProperty.name}"
access="${keyProperty.access}" type="${keyPropertyTag.type}"
column="${keyPropertyTag.column}" length="${keyPropertyTag.length}">
! <j:forEach var="metaTag"
items="${keyProperty.entity.getTagsByName('hibernate.meta')}">
! <j:import
uri="org/xdoclet/plugin/hibernate/Meta.jelly" inherit="true"/>
! </j:forEach>
! <j:forEach var="columnTag"
items="${keyProperty.entity.getTagsByName('hibernate.column')}">
! <j:import
uri="org/xdoclet/plugin/hibernate/Column.jelly" inherit="true"/>
! </j:forEach>
! </key-property>
! </j:if>
</j:if>
! <j:if test="${keyManyToOne != null}">
! <j:if test="${keyManyToOne.position == propsI}">
! <key-many-to-one name="${keyManyToOne.name}"
access="${keyManyToOne.access}" type="${keyManyToOne.type}"
column="${keyManyToOne.column}" length="${keyManyToOne.length}"
class="keyManyToOne.class">
! <j:forEach var="metaTag"
items="${keyManyToOne.entity.getTagsByName('hibernate.meta')}">
! <j:import
uri="org/xdoclet/plugin/hibernate/Meta.jelly" inherit="true"/>
! </j:forEach>
! <j:forEach var="columnTag"
items="${keyManyToOne.entity.getTagsByName('hibernate.column')}">
! <j:import
uri="org/xdoclet/plugin/hibernate/Column.jelly" inherit="true"/>
! </j:forEach>
! </key-many-to-one>
! </j:if>
</j:if>
</j:forEach>
--- 15,26 ----
<j:forEach begin="1" end="${size(props)}" indexVar="propsI">
<j:forEach var="keyProperty" items="${props}">
! <j:set var="elementTags"
value="${plugin.getTags(keyProperty.entity,'hibernate.key-property|hibernate.key-many-to-one')}"/>
! <j:if test="${size(elementTags) > 1}">
! <g:fail>key-property and key-many-to-one in class
${class.name} for property ${property.name}</g:fail>
</j:if>
! <j:if test="${size(elementTags) == 1 and
elementTags[0].position == propsI}">
! <j:import
uri="${plugin.dispatchTag(elementTags[0].name)}" inherit="true"/>
</j:if>
</j:forEach>
--- NEW FILE: KeyProperty.jelly ---
<j:jelly xmlns:j="jelly:core" xmlns:g="generama:core">
<j:set var="keyPropertyTag"
value="${keyProperty.entity.getTagByName('hibernate.key-property')}"/>
<key-property name="${keyProperty.name}"
access="${keyProperty.access}"
type="${keyPropertyTag.type}"
column="${keyPropertyTag.column}"
length="${keyPropertyTag.length}">
<j:forEach var="metaTag"
items="${keyProperty.entity.getTagsByName('hibernate.meta')}">
<j:import uri="org/xdoclet/plugin/hibernate/Meta.jelly"
inherit="true"/>
</j:forEach>
<j:forEach var="columnTag"
items="${keyProperty.entity.getTagsByName('hibernate.column')}">
<j:import uri="org/xdoclet/plugin/hibernate/Column.jelly"
inherit="true"/>
</j:forEach>
</key-property>
</j:jelly>
Index: CompositeMapKey.jelly
===================================================================
RCS file:
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-hibernate/src/main/java/org/xdoclet/plugin/hibernate/CompositeMapKey.jelly,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** CompositeMapKey.jelly 26 Apr 2005 07:00:07 -0000 1.1
--- CompositeMapKey.jelly 16 May 2005 17:56:32 -0000 1.2
***************
*** 1,6 ****
! <j:jelly xmlns:j="jelly:core">
<j:set var="compositeMapKeyTag"
value="${property.entity.getTagByName('hibernate.composite-map-key')}"/>
<j:if test="${compositeMapKeyTag != null}">
! ${plugin.assertTrue('@hibernate.composite-map-key is not yet
implemented',false)}
</j:if>
</j:jelly>
\ No newline at end of file
--- 1,23 ----
! <j:jelly xmlns:j="jelly:core" xmlns:g="generama:core">
<j:set var="compositeMapKeyTag"
value="${property.entity.getTagByName('hibernate.composite-map-key')}"/>
<j:if test="${compositeMapKeyTag != null}">
! <j:set var="compositeMapKeyClass"
value="${plugin.getMetadata(compositeMapKeyTag.class_)}"/>
!
! <composite-map-key class="${compositeMapKeyTag.class_}">
! <j:forEach var="keyProperty"
items="${plugin.getClassProperties(compositeMapKeyClass)}">
! <j:set var="elementTags"
value="${plugin.getTags(keyProperty.entity,'hibernate.key-property|hibernate.key-many-to-one')}"/>
!
! <j:if test="${size(elementTags) > 1}">
! <g:fail>more than one element tag deined in class
${class.name} for ${property.name}</g:fail>
! </j:if>
! <j:if test="${size(elementTags) == 0}">
! <g:fail>no element tag deined in class ${class.name} for
${property.name}</g:fail>
! </j:if>
!
! <j:if test="${size(elementTags) == 1}">
! <j:import
uri="${plugin.dispatchTag(elementTags[0].name)}" inherit="true"/>
! </j:if>
! </j:forEach>
! </composite-map-key>
</j:if>
</j:jelly>
\ No newline at end of file
Index: Id.jelly
===================================================================
RCS file:
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-hibernate/src/main/java/org/xdoclet/plugin/hibernate/Id.jelly,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Id.jelly 13 May 2005 07:50:37 -0000 1.2
--- Id.jelly 16 May 2005 17:56:33 -0000 1.3
***************
*** 1,25 ****
<j:jelly xmlns:j="jelly:core">
<!-- primitive id -->
! <j:set var="primitiveId"
value="${property.entity.getTagByName('hibernate.id')}"/>
<id name="${property.name}"
! node="${primitiveId.node}"
access="${property.access}"
! column="${primitiveId.column}"
! type="${primitiveId.type}"
! length="${primitiveId.length}"
! unsaved-value="${primitiveId.unsavedValue}">
- <!-- process meta -->
<j:forEach var="metaTag"
items="${property.entity.getTagsByName('hibernate.meta')}">
<j:import uri="org/xdoclet/plugin/hibernate/Meta.jelly"
inherit="true"/>
</j:forEach>
- <!-- process column -->
<j:forEach var="columnTag"
items="${property.entity.getTagsByName('hibernate.column')}">
<j:import uri="org/xdoclet/plugin/hibernate/Column.jelly"
inherit="true"/>
</j:forEach>
! <!-- process generator -->
! <generator class="${primitiveId.generatorClass}">
<j:forEach var="generatorParamTag"
items="${property.entity.getTagsByName('hibernate.generator-param')}">
<j:set var="paramTag" value="${generatorParamTag}"/>
--- 1,22 ----
<j:jelly xmlns:j="jelly:core">
<!-- primitive id -->
! <j:set var="idTag"
value="${property.entity.getTagByName('hibernate.id')}"/>
<id name="${property.name}"
! node="${idTag.node}"
access="${property.access}"
! column="${idTag.column}"
! type="${idTag.type}"
! length="${idTag.length}"
! unsaved-value="${idTag.unsavedValue}">
<j:forEach var="metaTag"
items="${property.entity.getTagsByName('hibernate.meta')}">
<j:import uri="org/xdoclet/plugin/hibernate/Meta.jelly"
inherit="true"/>
</j:forEach>
<j:forEach var="columnTag"
items="${property.entity.getTagsByName('hibernate.column')}">
<j:import uri="org/xdoclet/plugin/hibernate/Column.jelly"
inherit="true"/>
</j:forEach>
! <generator class="${idTag.generatorClass}">
<j:forEach var="generatorParamTag"
items="${property.entity.getTagsByName('hibernate.generator-param')}">
<j:set var="paramTag" value="${generatorParamTag}"/>
-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
_______________________________________________
xdoclet-plugins-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xdoclet-plugins-commits