jvanzyl     00/10/09 08:09:17

  Modified:    src/java/org/apache/velocity Template.java
               src/java/org/apache/velocity/servlet VelocityServlet.java
               src/java/org/apache/velocity/test TestProvider.java
               src/java/org/apache/velocity/util ClassUtils.java
  Log:
  - update for the new node structure, and the init() phase.
  
  Revision  Changes    Path
  1.2       +25 -7     jakarta-velocity/src/java/org/apache/velocity/Template.java
  
  Index: Template.java
  ===================================================================
  RCS file: /home/cvs/jakarta-velocity/src/java/org/apache/velocity/Template.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Template.java     2000/09/30 17:04:21     1.1
  +++ Template.java     2000/10/09 15:09:10     1.2
  @@ -82,34 +82,52 @@
    * template.merge(context, writer);
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
  - * @version $Id: Template.java,v 1.1 2000/09/30 17:04:21 jvanzyl Exp $
  + * @version $Id: Template.java,v 1.2 2000/10/09 15:09:10 jvanzyl Exp $
    */
   public class Template
   {
       /** Template processor */
       //private Processor processor;
       private SimpleNode document;
  +    private boolean initialized = false;
   
       // So now, after a template is constructed all the
       // initial processing is done.
   
       //public Template(InputStream inputStream, Processor processor)
  -    public Template(InputStream inputStream)
  -        throws Exception
  +    public Template(InputStream inputStream) throws Exception
       {
  -        //this.processor = processor;
           parse(inputStream);
       }
   
  -    public synchronized void parse(InputStream inputStream) throws Exception
  +    public void parse(InputStream inputStream) throws Exception
       {
  -        //document = processor.parse(inputStream);
           document = Runtime.parse(inputStream);
       }
   
  -    public synchronized void merge(Context context, Writer writer)
  +    public void merge(Context context, Writer writer)
           throws IOException
       {
  +        synchronized(this)
  +        {
  +            if (!initialized) 
  +                init(context);
  +        }                
  +        
           document.render(context, writer);
  +    }
  +
  +    private void init(Context context)
  +    {
  +        try
  +        {
  +            System.out.println("initializing!");
  +            document.init(context, null);
  +            initialized = true;
  +        }
  +        catch (Exception e)
  +        {
  +            Runtime.error(e);
  +        }
       }
   }
  
  
  
  1.2       +1 -3      
jakarta-velocity/src/java/org/apache/velocity/servlet/VelocityServlet.java
  
  Index: VelocityServlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/servlet/VelocityServlet.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- VelocityServlet.java      2000/09/30 17:04:29     1.1
  +++ VelocityServlet.java      2000/10/09 15:09:11     1.2
  @@ -71,16 +71,13 @@
   
   import org.apache.velocity.io.FastWriter;
   
  -//import org.apache.velocity.runtime.TemplateLoader;
  -//import org.apache.velocity.runtime.TemplateFactory;
  -
   /**
    * Base class to use Velocity with Servlets.
    * Simply extend this class, override the handleRequest method
    * and add your data to the context. Then call getTemplate("mytemplate.wm")
    * 
    * @author Dave Bryson
  - * $Revision: 1.1 $
  + * $Revision: 1.2 $
    */
   public abstract class VelocityServlet extends HttpServlet
   {
  @@ -152,6 +149,7 @@
           writer = new FastWriter(response.getOutputStream(), encoding);
           writer.setAsciiHack(asciiHack);
           template.merge( context, writer );
  +        writer.flush();
       }
       
       /**
  
  
  
  1.2       +21 -1     
jakarta-velocity/src/java/org/apache/velocity/test/TestProvider.java
  
  Index: TestProvider.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/test/TestProvider.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TestProvider.java 2000/09/30 17:04:21     1.1
  +++ TestProvider.java 2000/10/09 15:09:15     1.2
  @@ -62,7 +62,7 @@
    * is traversed and dynamic content generated.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
  - * @version $Id: TestProvider.java,v 1.1 2000/09/30 17:04:21 jvanzyl Exp $
  + * @version $Id: TestProvider.java,v 1.2 2000/10/09 15:09:15 jvanzyl Exp $
    */
   public class TestProvider
   {
  @@ -138,6 +138,16 @@
           return list;
       }
   
  +    public Object me()
  +    {
  +        return this;
  +    }        
  +
  +    public String toString()
  +    {
  +        return ("test provider");
  +    }        
  +
       public Vector getVector()
       {
           Vector list = new Vector();
  @@ -185,6 +195,16 @@
           
           return result;
       }
  +
  +    public String parse(String a, Object o, String c, String d)
  +    {
  +        return a + o.toString() + c + d;
  +    }
  +
  +    public String concat(String a, String b)
  +    {
  +        return a + b;
  +    }        
   
       /*
        * This can't have the signature
  
  
  
  1.2       +3 -1      
jakarta-velocity/src/java/org/apache/velocity/util/ClassUtils.java
  
  Index: ClassUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/util/ClassUtils.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ClassUtils.java   2000/09/30 17:04:29     1.1
  +++ ClassUtils.java   2000/10/09 15:09:16     1.2
  @@ -62,7 +62,7 @@
    * invoking methods in objects
    *
    *  @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
  - *  @version $Id: ClassUtils.java,v 1.1 2000/09/30 17:04:29 jvanzyl Exp $
  + *  @version $Id: ClassUtils.java,v 1.2 2000/10/09 15:09:16 jvanzyl Exp $
    */
   public class ClassUtils
   {
  @@ -86,6 +86,8 @@
               for (int i = 0; i < size; i++)
               {
                   paramTypes[i] = args[i].getClass();
  +                if (paramTypes[i] != String.class)
  +                    paramTypes[i] = Object.class;
               }                
           }            
   
  
  
  

Reply via email to