You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "peter royal (JIRA)" <co...@jakarta.apache.org> on 2005/08/26 14:31:26 UTC

[jira] Closed: (JELLY-219) Fix for JELLY-214 broke attribute behaviour of define:tag

     [ http://issues.apache.org/jira/browse/JELLY-219?page=all ]
     
peter royal closed JELLY-219:
-----------------------------

    Fix Version: 1.1-beta-1
     Resolution: Fixed

Fixed! Thanks!

> Fix for JELLY-214 broke attribute behaviour of define:tag
> ---------------------------------------------------------
>
>          Key: JELLY-219
>          URL: http://issues.apache.org/jira/browse/JELLY-219
>      Project: jelly
>         Type: Bug
>   Components: core / taglib.core, taglib.define
>     Versions: 1.0-beta-4, 1.1-beta-1, 1.0-beta-5
>  Environment: Window XP, JDK1.5, Ant 1.6.5
>     Reporter: Tony Robertson
>      Fix For: 1.1-beta-1

>
> When using the "tag" tag of the jelly:define taglib, the resulting tag is supposed to support attributes getting exposed as context variables. eg:
> 	<d:taglib uri="myjelly:testlib">
> 		<d:tag name="test">
> 			<j:whitespace>message attribute is ${msg}
> 			tag body is <d:invokeBody/>
> 			</j:whitespace>
> 		</d:tag>
> 	</d:taglib>
> ...
> 	<test xmlns="myjelly:testlib" msg="one">other stuff</test>
> This was broken by change to "org.apache.commons.jelly.impl.StaticTagScript" that was introduced at revision 219726 as a fix for "JELLY-214" 
> Now, if any attributes are set on the tag, you get a class-cast exception thrown when line 103 tries to cast the dynamic tag to a static tag.
> In fact, the condition on line 102 really doesn't make sense. Clearly the "tag instanceof StaticTag" should be always required. I think the || condition should probably be an &&.
> The following patch fixes this problem, but paul should probably check what the intention of that line originally was.
> - Tony
> Index: StaticTagScript.java
> ===================================================================
> --- StaticTagScript.java	(revision 233399)
> +++ StaticTagScript.java	(working copy)
> @@ -99,7 +99,7 @@
>                      value = expression.evaluate(context);
>                  }
>  
> -                if(expat.prefix!=null || expat.prefix.length()>0 && tag instanceof StaticTag)
> +                if (expat.prefix!=null && expat.prefix.length()>0 && tag instanceof StaticTag)
>                      ((StaticTag) dynaTag).setAttribute(name,expat.prefix, expat.nsURI,value);
>                  else
>                      dynaTag.setAttribute(name, value);

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


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