geirm 01/05/29 21:47:40
Modified: src/java/org/apache/velocity/runtime/parser/node
ASTAndNode.java ASTOrNode.java
Log:
Fix to problem pointed out by 'regex'.
Legal constructs such as
#set($foo = (true || false))
don't work.
Well, they do now...
Revision Changes Path
1.6 +12 -1
jakarta-velocity/src/java/org/apache/velocity/runtime/parser/node/ASTAndNode.java
Index: ASTAndNode.java
===================================================================
RCS file:
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/runtime/parser/node/ASTAndNode.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ASTAndNode.java 2001/04/03 05:05:31 1.5
+++ ASTAndNode.java 2001/05/30 04:47:38 1.6
@@ -65,7 +65,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Geir Magnusson Jr.</a>
- * @version $Id: ASTAndNode.java,v 1.5 2001/04/03 05:05:31 geirm Exp $
+ * @version $Id: ASTAndNode.java,v 1.6 2001/05/30 04:47:38 geirm Exp $
*/
public class ASTAndNode extends SimpleNode
{
@@ -83,6 +83,17 @@
public Object jjtAccept(ParserVisitor visitor, Object data)
{
return visitor.visit(this, data);
+ }
+
+ /**
+ * Returns the value of the expression.
+ * Since the value of the expression is simply the boolean
+ * result of evaluate(), lets return that.
+ */
+ public Object value(InternalContextAdapter context )
+ throws MethodInvocationException
+ {
+ return new Boolean( evaluate( context ) );
}
/**
1.5 +13 -2
jakarta-velocity/src/java/org/apache/velocity/runtime/parser/node/ASTOrNode.java
Index: ASTOrNode.java
===================================================================
RCS file:
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/runtime/parser/node/ASTOrNode.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ASTOrNode.java 2001/03/19 17:17:53 1.4
+++ ASTOrNode.java 2001/05/30 04:47:38 1.5
@@ -66,7 +66,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Geir Magnusson Jr.</a>
- * @version $Id: ASTOrNode.java,v 1.4 2001/03/19 17:17:53 geirm Exp $
+ * @version $Id: ASTOrNode.java,v 1.5 2001/05/30 04:47:38 geirm Exp $
*/
public class ASTOrNode extends SimpleNode
{
@@ -87,6 +87,17 @@
}
/**
+ * Returns the value of the expression.
+ * Since the value of the expression is simply the boolean
+ * result of evaluate(), lets return that.
+ */
+ public Object value(InternalContextAdapter context )
+ throws MethodInvocationException
+ {
+ return new Boolean( evaluate( context ) );
+ }
+
+ /**
* the logical or :
* the rule :
* left || null -> left
@@ -95,7 +106,7 @@
* left || right -> left || right
*/
public boolean evaluate( InternalContextAdapter context)
- throws MethodInvocationException
+ throws MethodInvocationException
{
Node left = jjtGetChild(0);
Node right = jjtGetChild(1);