You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@apache.org on 2003/09/12 03:16:32 UTC

cvs commit: jakarta-commons/jelly/src/java/org/apache/commons/jelly/tags/core ArgTag.java

dion        2003/09/11 18:16:32

  Modified:    jelly/src/java/org/apache/commons/jelly/tags/core
                        ArgTag.java
  Log:
  Classes are being turned into Strings somewhere along the line :-(
  
  If I pass a class in to the arg tag using:
      <arg type="java.lang.Class" value="${object.class}"/>
  
  it comes through to the value field as a String.
  
  Revision  Changes    Path
  1.5       +17 -6     jakarta-commons/jelly/src/java/org/apache/commons/jelly/tags/core/ArgTag.java
  
  Index: ArgTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/jelly/src/java/org/apache/commons/jelly/tags/core/ArgTag.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ArgTag.java	29 Jan 2003 15:45:36 -0000	1.4
  +++ ArgTag.java	12 Sep 2003 01:16:32 -0000	1.5
  @@ -154,7 +154,18 @@
           }
   
           if(!isInstanceOf(klass,value)) {
  -            value = convert(klass,value);
  +            if (klass.equals(Class.class))
  +            {
  +                try {
  +                    value = getClassLoader().loadClass((String) value);
  +                } catch (ClassNotFoundException e) {
  +                    throw new JellyTagException(e);
  +                }
  +            }
  +            else
  +            {
  +                value = convert(klass,value);
  +            }
           }
           
           ArgTagParent parent = (ArgTagParent)findAncestorWithClass(ArgTagParent.class);