geirm       01/04/30 10:46:54

  Modified:    src/java/org/apache/velocity/runtime/parser/node
                        ASTReference.java
  Log:
  Should be a fix for the '#$' bug - testbed templates will follow.
  
  No mas, no mas!
  
  Revision  Changes    Path
  1.29      +29 -4     
jakarta-velocity/src/java/org/apache/velocity/runtime/parser/node/ASTReference.java
  
  Index: ASTReference.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/runtime/parser/node/ASTReference.java,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- ASTReference.java 2001/04/20 04:28:47     1.28
  +++ ASTReference.java 2001/04/30 17:46:52     1.29
  @@ -84,7 +84,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Geir Magnusson Jr.</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Christoph Reck</a>
    * @author <a href="mailto:[EMAIL PROTECTED]>Kent Johnson</a>
  - * @version $Id: ASTReference.java,v 1.28 2001/04/20 04:28:47 geirm Exp $ 
  + * @version $Id: ASTReference.java,v 1.29 2001/04/30 17:46:52 geirm Exp $ 
   */
   public class ASTReference extends SimpleNode
   {
  @@ -172,7 +172,7 @@
            */
   
           Object result = getVariableValue(context, rootString);
  -        
  +       
           if (result == null)
           {
               return null;
  @@ -636,11 +636,36 @@
           else
           {
               /*
  -             *  ex : $provider.Title
  +             * the magic <MORE> can prepend '#' and '$'
  +             * on the front of a reference - so lets clean it
  +             * and save that info as the prefix
                */
  +            String img = t.image;
  +            int loc = 0;
  +
  +            for( loc = 0; loc < img.length(); loc++)
  +            {
  +                char c = img.charAt(loc);
   
  +                if ( c != '#' && c != '$')
  +                {
  +                    break;
  +                }
  +            }
  +             
  +            /*
  +             *  if we have extra stuff, loc > 0
  +             *  ex. '#$foo' so attach that to 
  +             *  the prefix.
  +             */
  +            if( loc > 0)
  +            {
  +                prefix = prefix + img.substring(0, loc-1);
  +            }
  +
               referenceType = NORMAL_REFERENCE;
  -            return t.image.substring(1);
  +
  +            return img.substring(loc);
           }            
       }
   
  
  
  

Reply via email to