You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by nb...@apache.org on 2008/07/26 01:32:56 UTC
svn commit: r679929 - in
/velocity/engine/trunk/src/java/org/apache/velocity/runtime: ./ directive/
parser/node/
Author: nbubna
Date: Fri Jul 25 16:32:56 2008
New Revision: 679929
URL: http://svn.apache.org/viewvc?rev=679929&view=rev
Log:
BufferedReaders are rather pointless with StringReaders
Modified:
velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeInstance.java
velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeServices.java
velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroManager.java
velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/Evaluate.java
velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/VMProxyArg.java
velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/VelocimacroProxy.java
velocity/engine/trunk/src/java/org/apache/velocity/runtime/parser/node/ASTStringLiteral.java
Modified: velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeInstance.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeInstance.java?rev=679929&r1=679928&r2=679929&view=diff
==============================================================================
--- velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeInstance.java (original)
+++ velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeInstance.java Fri Jul 25 16:32:56 2008
@@ -1001,6 +1001,29 @@
* PARSER_POOL_SIZE property appropriately for their
* application. We will revisit this.
*
+ * @param string String to be parsed
+ * @param templateName name of the template being parsed
+ * @return A root node representing the template as an AST tree.
+ * @throws ParseException When the string could not be parsed as a template.
+ */
+ public SimpleNode parse(String string, String templateName)
+ throws ParseException
+ {
+ return parse(new StringReader(string), templateName);
+ }
+
+ /**
+ * Parse the input and return the root of
+ * AST node structure.
+ * <br><br>
+ * In the event that it runs out of parsers in the
+ * pool, it will create and let them be GC'd
+ * dynamically, logging that it has to do that. This
+ * is considered an exceptional condition. It is
+ * expected that the user will set the
+ * PARSER_POOL_SIZE property appropriately for their
+ * application. We will revisit this.
+ *
* @param reader Reader retrieved by a resource loader
* @param templateName name of the template being parsed
* @return A root node representing the template as an AST tree.
@@ -1091,8 +1114,7 @@
public boolean evaluate(Context context, Writer out,
String logTag, String instring) throws IOException
{
- return evaluate(context, out, logTag,
- new BufferedReader(new StringReader(instring)));
+ return evaluate(context, out, logTag, new StringReader(instring));
}
/**
Modified: velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeServices.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeServices.java?rev=679929&r1=679928&r2=679929&view=diff
==============================================================================
--- velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeServices.java (original)
+++ velocity/engine/trunk/src/java/org/apache/velocity/runtime/RuntimeServices.java Fri Jul 25 16:32:56 2008
@@ -150,6 +150,13 @@
public void init(String configurationFile) throws Exception;
/**
+ * Wraps the String in a StringReader and passes it off to
+ * {@link #parse(Reader,String)}.
+ */
+ public SimpleNode parse(String string, String templateName)
+ throws ParseException;
+
+ /**
* Parse the input and return the root of
* AST node structure.
* <br><br>
Modified: velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroManager.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroManager.java?rev=679929&r1=679928&r2=679929&view=diff
==============================================================================
--- velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroManager.java (original)
+++ velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroManager.java Fri Jul 25 16:32:56 2008
@@ -19,8 +19,6 @@
* under the License.
*/
-import java.io.BufferedReader;
-import java.io.StringReader;
import java.util.Hashtable;
import org.apache.velocity.context.InternalContextAdapter;
import org.apache.velocity.exception.ParseErrorException;
@@ -483,9 +481,7 @@
{
try
{
- BufferedReader br = new BufferedReader(new StringReader(macroBody));
-
- nodeTree = rsvc.parse(br, "VM:" + vmName, true);
+ nodeTree = rsvc.parse(macroBody, "VM:" + vmName);
nodeTree.init(ica, null);
}
catch (ParseException pex)
Modified: velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/Evaluate.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/Evaluate.java?rev=679929&r1=679928&r2=679929&view=diff
==============================================================================
--- velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/Evaluate.java (original)
+++ velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/Evaluate.java Fri Jul 25 16:32:56 2008
@@ -19,10 +19,7 @@
* under the License.
*/
-import java.io.BufferedReader;
import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
import java.io.Writer;
import org.apache.velocity.context.EvaluateContext;
@@ -154,14 +151,12 @@
/*
* The new string needs to be parsed since the text has been dynamically generated.
*/
-
- Reader reader = new BufferedReader(new StringReader(sourceText));
String templateName = context.getCurrentTemplateName();
SimpleNode nodeTree = null;
try
{
- nodeTree = rsvc.parse(reader, templateName);
+ nodeTree = rsvc.parse(sourceText, templateName);
}
catch (ParseException pex)
{
Modified: velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/VMProxyArg.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/VMProxyArg.java?rev=679929&r1=679928&r2=679929&view=diff
==============================================================================
--- velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/VMProxyArg.java (original)
+++ velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/VMProxyArg.java Fri Jul 25 16:32:56 2008
@@ -19,10 +19,9 @@
* under the License.
*/
-import java.io.BufferedReader;
-import java.io.StringReader;
import java.io.StringWriter;
+import org.apache.commons.lang.text.StrBuilder;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.context.InternalContextAdapter;
import org.apache.velocity.context.InternalContextAdapterImpl;
@@ -395,14 +394,12 @@
* just want the parser to consider our arg as a Directive/VM arg rather than
* as if inline in schmoo
*/
+ String buff = new StrBuilder("#include(")
+ .append(callerReference)
+ .append(")")
+ .toString();
- String buff ="#include(" + callerReference + " ) ";
-
- //ByteArrayInputStream inStream = new ByteArrayInputStream( buff.getBytes() );
-
- BufferedReader br = new BufferedReader( new StringReader( buff ) );
-
- nodeTree = rsvc.parse(br, "VMProxyArg:" + callerReference, true);
+ nodeTree = rsvc.parse(buff, "VMProxyArg:" + callerReference);
/*
* now, our tree really is the first DirectiveArg(), and only one
Modified: velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/VelocimacroProxy.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/VelocimacroProxy.java?rev=679929&r1=679928&r2=679929&view=diff
==============================================================================
--- velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/VelocimacroProxy.java (original)
+++ velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/VelocimacroProxy.java Fri Jul 25 16:32:56 2008
@@ -382,13 +382,11 @@
{
try
{
- BufferedReader br = new BufferedReader( new StringReader( macroBody ) );
-
/*
* now parse the macro - and don't dump the namespace
*/
- nodeTree = rsvc.parse( br, namespace, false );
+ nodeTree = rsvc.parse(new StringReader(macroBody), namespace, false );
/*
* now, to make null references render as proper schmoo
Modified: velocity/engine/trunk/src/java/org/apache/velocity/runtime/parser/node/ASTStringLiteral.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/java/org/apache/velocity/runtime/parser/node/ASTStringLiteral.java?rev=679929&r1=679928&r2=679929&view=diff
==============================================================================
--- velocity/engine/trunk/src/java/org/apache/velocity/runtime/parser/node/ASTStringLiteral.java (original)
+++ velocity/engine/trunk/src/java/org/apache/velocity/runtime/parser/node/ASTStringLiteral.java Fri Jul 25 16:32:56 2008
@@ -17,7 +17,6 @@
* the License.
*/
-import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
@@ -148,8 +147,7 @@
/*
* now parse and init the nodeTree
*/
- BufferedReader br = new BufferedReader(new StringReader(
- interpolateimage));
+ StringReader br = new StringReader(interpolateimage);
/*
* it's possible to not have an initialization context - or we don't