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