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