User: vharcq  
  Date: 02/03/29 09:08:03

  Modified:    core/src/xdoclet XDocletTagSupport.java
  Log:
  Solve the problem of not specifying parameter in tags where there is only one 
parameter.  e.g. jboss:table-name "account"
  
  Revision  Changes    Path
  1.30      +48 -21    xdoclet/core/src/xdoclet/XDocletTagSupport.java
  
  Index: XDocletTagSupport.java
  ===================================================================
  RCS file: /cvsroot/xdoclet/xdoclet/core/src/xdoclet/XDocletTagSupport.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -w -r1.29 -r1.30
  --- XDocletTagSupport.java    28 Mar 2002 19:37:54 -0000      1.29
  +++ XDocletTagSupport.java    29 Mar 2002 17:08:02 -0000      1.30
  @@ -32,7 +32,7 @@
    *
    * @author    Dmitri Colebatch ([EMAIL PROTECTED])
    * @created   October 12, 2001
  - * @version   $Revision: 1.29 $
  + * @version   $Revision: 1.30 $
    */
   public abstract class XDocletTagSupport extends TemplateTagHandler
   {
  @@ -414,6 +414,24 @@
                        is_mandatory
                );
   
  +        // Case of jboss:table-name "abc"
  +        if (tagValue == null)
  +        {
  +            String paramNum = attributes.getProperty("paramNum");
  +            if (paramNum != null)
  +            {
  +                XProgramElement prg_elem = getPrgElem(for_type);
  +                XDoc doc = prg_elem.doc();
  +                XTag tag = doc.tag( tag_name, superclasses );
  +                if (getCurrentTag() != null)
  +                    tag = getCurrentTag();
  +                if( tag != null )
  +                    tagValue = tag.value();
  +                if (tagValue != null && tagValue.startsWith("\"")) tagValue = 
tagValue.substring(1,tagValue.length() - 1);
  +            }
  +        }
  +        // end of hack
  +
           tagValue = delimit(tagValue,attributes);
           return tagValue;
        }
  @@ -451,31 +469,14 @@
                boolean is_mandatory
        ) throws XDocletException
        {
  -             XProgramElement prg_elem = null;
  -
  -             switch ( for_type )
  -             {
  -             case FOR_CLASS:
  -                     prg_elem = getCurrentClass();
  -                     break;
  -             case FOR_METHOD:
  -                     prg_elem = getCurrentMethod();
  -                     break;
  -             case FOR_CONSTRUCTOR:
  -                     prg_elem = getCurrentConstructor();
  -                     break;
  -             case FOR_FIELD:
  -                     prg_elem = getCurrentField();
  -                     break;
  -             default:
  -                     throw new XDocletException( Translator.getString( 
"bad_tagvalue_type" ) );
  -             }
   
  +        XProgramElement prg_elem = getPrgElem(for_type);
           if (prg_elem == null) {
               return null;
                }
   
                XDoc doc = prg_elem.doc();
  +
                return getTagValue(
                        doc,
                        tag_name,
  @@ -501,7 +502,6 @@
        ) throws XDocletException
        {
                String value = null;
  -
                if( param_name == null )
           {
                        // the value of the tag is requested
  @@ -702,4 +702,31 @@
           }
           return attribute_value;
       }
  +
  +    private static XProgramElement getPrgElem(int for_type) throws XDocletException
  +    {
  +        XProgramElement prg_elem = null;
  +
  +             switch ( for_type )
  +             {
  +             case FOR_CLASS:
  +                     prg_elem = getCurrentClass();
  +                     break;
  +             case FOR_METHOD:
  +                     prg_elem = getCurrentMethod();
  +                     break;
  +             case FOR_CONSTRUCTOR:
  +                     prg_elem = getCurrentConstructor();
  +                     break;
  +             case FOR_FIELD:
  +                     prg_elem = getCurrentField();
  +                     break;
  +             default:
  +                     throw new XDocletException( Translator.getString( 
"bad_tagvalue_type" ) );
  +             }
  +        return prg_elem;
  +
  +    }
  +
  +
   }
  
  
  

_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to