IMHO it's better to make @jrun:jdbc-mapping a method level tag:
/**
* @jrun:jdbc-mapping name="load"
* action="INSERT INTO EntityDB (id,name)
VALUES (?,?)"
* source="datasource/jndi-testdb"
* @jrun:jdbc-mapping-param name="id" type="INTEGER"
* @jrun:jdbc-mapping-param name="value" type="VARCHAR"
*/
public void ejbLoad() ...
{
}
And do a forAllMethodTags for jrun:jdbc-mapping-param.
And you can also make it much easier by providing some defaults (remove
name"load" and cook it yourself).
If the above scenario is not applicable then follow what Dmitri
suggested (approach 1).
Cheers,
Ara.
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:xdoclet-devel-
> [EMAIL PROTECTED]] On Behalf Of Dan Schaffer
> Sent: Friday, February 08, 2002 2:14 AM
> To: [EMAIL PROTECTED]
> Subject: [Xdoclet-devel] writing template jrun-ejb-jar-xml.j
>
>
> I wrote a template for jrun specific ejb deployment descriptor. I'm
> having problems with one particular area of the dtd. Besides the one
area
> the template writing went pretty well. The template commands seems
pretty
> well thought out and easy to use. Information on the problem is
below.
> Let me know if anyone has any suggestions. I'm new to the template
> commands so I'm hoping there is a solution to this. Mostly I stuck
with
> XDtClass:forAllClassTags XDtClass:ifHasClassTag and XDt:classTagValue
> statements.
>
> The deployment descriptor looks like:
>
> <jdbc-mappings>
> ...
> <jdbc-mapping>
> <name>load</name>
> <statement>
> <action>INSERT INTO EntityDB (id,name) VALUES
> (?,?)</action>
> <source>datasource/jndi-testdb</source>
> <params>
> <param>
> <name>id</name>
> <type>INTEGER</type>
> </param>
> <param>
> <name>value</name>
> <type>VARCHAR</type>
> </param>
> </params>
> <fields/>
> </statement>
> </jdbc-mapping>
> <jdbc-mapping>
> </jdbc-mapping>
> <name>remove</name>
> ...(same format as above)
> </jdbc-mappings>
>
> current solution is to do:
> * @jdbc-mapping name="load" action="INSERT INTO EntityDB
> (id,name) VALUES (?,?)" source="datasource/jndi-testdb"
>
params="<param><name>id</name><type>INTEGER</type></param><param><name>v
al
> ue</name><type>VARCHAR</type></param>"
>
> something more ideal would be:
> * @jdbc-mapping name="load" action="INSERT INTO EntityDB
> (id,name) VALUES (?,?)" source="datasource/jndi-testdb" name="id"
> type="INTEGER" name="value" type="VARCHAR"
>
> The code in jrun-ejb-jar.j is:
> <XDtClass:forAllClassTags tagName="jrun:jdbc-mapping">
> <jdbc-mapping>
> <name><XDtClass:classTagValue tagName="jrun:jdbc-mapping"
> paramName="name"/></name>
> <statement>
> <action><XDtClass:classTagValue
tagName="jrun:jdbc-mapping"
> paramName="action" /></action>
> <XDtClass:ifHasClassTag tagName="jrun:jdbc-mapping"
> paramName="source">
> <source><XDtClass:classTagValue
tagName="jrun:jdbc-mapping"
> paramName="source" /></source>
> </XDtClass:ifHasClassTag>
> <XDtClass:ifHasClassTag tagName="jrun:jdbc-mapping"
> paramName="params">
> <params><XDtClass:classTagValue
tagName="jrun:jdbc-mapping"
> paramName="params" /></params>
> </XDtClass:ifHasClassTag>
> <XDtClass:ifHasClassTag tagName="jrun:jdbc-mapping"
> paramName="fields">
> <fields><XDtClass:classTagValue
tagName="jrun:jdbc-mapping"
> paramName="fields" /></fields>
> </XDtClass:ifHasClassTag>
> </statement>
> </jdbc-mapping>
> </XDtClass:forAllClassTags>
>
> _______________________________________________
> Xdoclet-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/xdoclet-devel
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel