commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vishal Goenka" <vgoe...@apache.org>
Subject [JEXL] - Block statements aren't parsed
Date Wed, 03 Sep 2008 17:11:28 GMT
The ExpressionFactory throws an exception when parsing a block statement
such as:

 

{ a='b'; c='d'; }

 

I traced it down to a missing check for ASTBlock in the ExpressionFactory.
The patch is attached although it was generated against a local checkin of
this file in my local svn, hence version numbers are different. The patch is
simple, so I decided to attach it as is, rather than generating it against
the apache-commons svn trunk. To apply this patch, you will need to manually
edit the code and add the two lines added.

 

- Vishal

 

 

Index:
C:/source/trunk/ext-modules/commons-jexl/src/java/org/apache/commons/jexl/Ex
pressionFactory.java

===================================================================

---
C:/source/trunk/ext-modules/commons-jexl/src/java/org/apache/commons/jexl/Ex
pressionFactory.java      (revision 9800)

+++
C:/source/trunk/ext-modules/commons-jexl/src/java/org/apache/commons/jexl/Ex
pressionFactory.java      (revision 10465)

@@ -18,6 +18,7 @@

 

 import java.io.StringReader;

 

+import org.apache.commons.jexl.parser.ASTBlock;

 import org.apache.commons.jexl.parser.ASTExpressionExpression;

 import org.apache.commons.jexl.parser.ASTForeachStatement;

 import org.apache.commons.jexl.parser.ASTIfStatement;

@@ -155,6 +156,7 @@

             || node instanceof ASTIfStatement

             || node instanceof ASTWhileStatement

             || node instanceof ASTForeachStatement

+            || node instanceof ASTBlock

             ) {

             return new ExpressionImpl(expression, node);

         }

 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message