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;
}
}