The following issue has been updated:

    Updater: Matthias Germann (mailto:[EMAIL PROTECTED])
       Date: Thu, 23 Dec 2004 1:03 AM
    Comment:
Here is a patch which modifies the behaviour of forAllClassTags. 

Is it necessary to store the value of the matchPattern variable at the start of 
the method in a local variable and reset it at the end of the method?
    Changes:
             Attachment changed to patch.diff
    ---------------------------------------------------------------------
For a full history of the issue, see:

  http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1206?page=history

---------------------------------------------------------------------
View the issue:
  http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1206

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: XDT-1206
    Summary: classTagValueMatch / ifClassTagValueMatches do not work as 
documented
       Type: Bug

     Status: Open
   Priority: Major

 Original Estimate: Unknown
 Time Spent: Unknown
  Remaining: Unknown

    Project: XDoclet
 Components: 
             Core
   Versions:
             1.3

   Assignee: xdoclet-devel (Use for new issues)
   Reporter: Matthias Germann

    Created: Thu, 23 Dec 2004 1:00 AM
    Updated: Thu, 23 Dec 2004 1:03 AM

Description:
I tried to a combination of the tags classTagValueMatch and 
ifClassTagValueMatches of the Class tag namespace. I used the tags as follows:

<XDtClass:forAllClassTags tagName="ejb.resource-ref" >
<resource-ref-ext>
  <resource-ref href="ejb-jar.xml#<XDtId:prefixedId prefix='ResRef' 
wrapInIdEquals='false'/>"/>
<XDtClass:classTagValueMatch tagName="ejb.resource-ref" 
paramName="res-ref-name"/>
<XDtClass:forAllClassTags tagName="websphere.resource-ref" >
<XDtClass:ifClassTagValueMatches tagName="websphere.resource-ref" 
paramName="res-ref-name">
<XDtClass:ifHasClassTag tagName="websphere.resource-ref" 
paramName="transaction-isolation">
   <transaction-isolation>
...

According to the documentation, it should be possible to store a value in the 
match variable and use it anywhere else later. 

This does not work because the forAllClassTags resets the value of the match 
variable (see method forAllClassTags in class 
xdoclet.tagshandler.ClassTagsHandler). Therefore, the match value is lost and a 
"transaction-isolation" element will never be created.

I found similar code in the in the jboss module 
(modules/jboss/src/xdoclet/modules/jboss/jmx/resources/jbossmx-xml-descriptor.xdt).
I have not tested the code, but i think that it does not work because it uses 
the same pattern as i try to use.

IMHO, it is wrong that the class xdoclet.tagshandler.ClassTagsHandler resets 
the matchPattern variable in the method forAllClassTags.



---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://opensource.atlassian.com/projects/xdoclet/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
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://productguide.itmanagersjournal.com/
_______________________________________________
xdoclet-devel mailing list
xdoclet-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to