rwaldhoff    2002/10/23 16:54:16

  Modified:    jelly/src/java/org/apache/commons/jelly/util
                        TagXMLDoclet.java
  Log:
  add nominal support for {@link} tags within the tag reference
  (better still to link these to the appropriate tag if available, but this at least 
renders correctly)
  
  Revision  Changes    Path
  1.4       +35 -27    
jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/util/TagXMLDoclet.java
  
  Index: TagXMLDoclet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/util/TagXMLDoclet.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TagXMLDoclet.java 22 Jul 2002 10:49:11 -0000      1.3
  +++ TagXMLDoclet.java 23 Oct 2002 23:54:16 -0000      1.4
  @@ -81,6 +81,7 @@
    * 
    * @author <a href="mailto:gopi@;aztecsoft.com">Gopinath M.R.</a>
    * @author <a href="mailto:jstrachan@;apache.org">James Strachan</a>
  + * @author Rodney Waldhoff
    */
   
   // #### somehow we need to handle taglib inheritence...
  @@ -276,38 +277,45 @@
        */
       private void docXML(Doc doc) throws SAXException {
           cm.startElement(xmlns, localName, "doc", emptyAtts);
  -        String commentText = doc.commentText();
  -        if (! commentText.equals("")) {
  -            parseHTML(commentText);
  -            // cm.characters(commentText.toCharArray(), 0, commentText.length());
  -        }
  -        Tag[] tags = doc.tags();
  -        for (int i = 0; i < tags.length; ++i) {
  -            javadocTagXML(tags[i]);
  -        }
  -        cm.endElement(xmlns, localName, "doc");
  -/*        
  -        String commentText = "";
  -        boolean createDoc = false;
  -        commentText = doc.commentText();
  -        if (! commentText.equals("")) {
  -            createDoc = true;
  -        }
  -        Tag[] tags = doc.tags();
  -        if (tags.length > 0) {
  -            createDoc = true;
  -        }
  -        if (createDoc) {
  -            cm.startElement(xmlns, localName, "doc", emptyAtts);
  -            if (! commentText.equals("")) {
  -                cm.characters(commentText.toCharArray(), 0, commentText.length());
  +        // handle the "comment" part, including {@link} tags
  +        {
  +            Tag[] tags = doc.inlineTags();
  +            for(int i=0;i<tags.length;i++) {
  +                // if tags[i] is an @link tag
  +                if(tags[i] instanceof SeeTag) {                    
  +                    String label = ((SeeTag)tags[i]).label();
  +                    // if the label is null or empty, use the class#member part of 
the link
  +                    if(null == label || "".equals(label)) { 
  +                        StringBuffer buf = new StringBuffer();
  +                        String className = ((SeeTag)tags[i]).referencedClassName();
  +                        if("".equals(className)) { className = null; }
  +                        String memberName = 
((SeeTag)tags[i]).referencedMemberName();
  +                        if("".equals(memberName)) { memberName = null; }
  +                        if(null != className) {
  +                            buf.append(className);
  +                            if(null != memberName) {
  +                                buf.append(".");
  +                            }
  +                        }
  +                        if(null != memberName) {
  +                            buf.append(memberName);
  +                        }
  +                        label = buf.toString();
  +                    }
  +                    parseHTML(label);
  +                } else {
  +                    parseHTML(tags[i].text());
  +                }
               }
  +        }
  +        // handle the "tags" part
  +        {
  +            Tag[] tags = doc.tags();
               for (int i = 0; i < tags.length; ++i) {
                   javadocTagXML(tags[i]);
               }
  -            cm.endElement(xmlns, localName, "doc");
           }
  -*/        
  +        cm.endElement(xmlns, localName, "doc");
       }
   
       protected void parseHTML(String text) throws SAXException {
  
  
  

--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@;jakarta.apache.org>

Reply via email to