[ http://jira.codehaus.org/browse/XDP-177?page=all ] Konstantin Pribluda closed XDP-177: -----------------------------------
snapshots deployed > @qtags.once doesn't work as expected > ------------------------------------ > > Key: XDP-177 > URL: http://jira.codehaus.org/browse/XDP-177 > Project: XDoclet 2 Plugins > Type: Bug > Components: qtags > Versions: 1.0.4, 1.0.3 > Reporter: Diogo Bacelar Quintela > Assignee: Konstantin Pribluda > Priority: Critical > Attachments: xdoclet-plugins-duplicate-tags-patch.txt > > Original Estimate: 30 minutes > Remaining: 30 minutes > > Tags marked as unique through the use of @qtags.once don't work as expected. > The duplicate check is called at validateLocation inherited from XdocletTag > that is called at constructor level. It checks for the context (the qdox-java > element where the tag bellongs [class, method, field, etc]) for the existence > of other tags with the same name. The problem is that qdox's ModelBuilder > only add all the found tags after it processes them all, so the check at > validateLocation allways finds 0 (zero) references to tags with same name. > -- start snip --- > private void addJavaDoc(AbstractJavaEntity entity) { > if (lastComment == null) return; > entity.setComment(lastComment); > > Iterator tagDefIterator = lastTagSet.iterator(); > List tagList = new ArrayList(); > while (tagDefIterator.hasNext()) { > TagDef tagDef = (TagDef) tagDefIterator.next(); > tagList.add( > docletTagFactory.createDocletTag( > tagDef.name, tagDef.text, > entity, tagDef.lineNumber > ) > ); > } > entity.setTags(tagList); > > lastComment = null; > } > -- end snip --- > This patch is an interproject patch: xdoclet2 and xdoclet-plugins (qtags > module); > at xdoclet2, in QDoxMetadataProvider at method getMetadata i've encapsulated > the DocletTagFactory used with a simple > delegating factory that captures all XdocletTags. > In the end of metadata gathering it envokes for each XdocletTag an method > validateModel. At that time the context already has all the tags added, so > the same check described above will work. > In xdoclet-plugins (qtags module) we override that validateModel method, and > we make there the condition check. > This patch could maybe be prepared at qdox level, but that is an almost a > dead project atm :|, while xdoclet2 and xdoclet-plugins are not. > So xdoclet2 devs, please take some minutes to give your opinion. > Regards > Diogo > Check XDOCLET-47 for xdoclet2 patch -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ xdoclet-plugins-interest mailing list xdoclet-plugins-interest@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xdoclet-plugins-interest