Author: pmouawad
Date: Wed Jul 18 18:46:32 2018
New Revision: 1836220

URL: http://svn.apache.org/viewvc?rev=1836220&view=rev
Log:
Bug 62541: Allow __jexl3, __jexl2 function to support new syntax as 'var x;'. 
Contributed by orimarko
Bugzilla Id: 62541

Modified:
    jmeter/trunk/src/functions/org/apache/jmeter/functions/Jexl2Function.java
    jmeter/trunk/src/functions/org/apache/jmeter/functions/Jexl3Function.java
    jmeter/trunk/test/src/org/apache/jmeter/functions/TestJexl2Function.java
    jmeter/trunk/xdocs/changes.xml

Modified: 
jmeter/trunk/src/functions/org/apache/jmeter/functions/Jexl2Function.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/functions/org/apache/jmeter/functions/Jexl2Function.java?rev=1836220&r1=1836219&r2=1836220&view=diff
==============================================================================
--- jmeter/trunk/src/functions/org/apache/jmeter/functions/Jexl2Function.java 
(original)
+++ jmeter/trunk/src/functions/org/apache/jmeter/functions/Jexl2Function.java 
Wed Jul 18 18:46:32 2018
@@ -20,10 +20,10 @@ import java.util.Collection;
 import java.util.LinkedList;
 import java.util.List;
 
-import org.apache.commons.jexl2.Expression;
 import org.apache.commons.jexl2.JexlContext;
 import org.apache.commons.jexl2.JexlEngine;
 import org.apache.commons.jexl2.MapContext;
+import org.apache.commons.jexl2.Script;
 import org.apache.jmeter.engine.util.CompoundVariable;
 import org.apache.jmeter.samplers.SampleResult;
 import org.apache.jmeter.samplers.Sampler;
@@ -90,8 +90,8 @@ public class Jexl2Function extends Abstr
             jc.set("OUT", System.out);//$NON-NLS-1$
 
             // Now evaluate the script, getting the result
-            Expression e = getJexlEngine().createExpression( exp );
-            Object o = e.evaluate(jc);
+            Script e = getJexlEngine().createScript( exp );
+            Object o = e.execute(jc);
             if (o != null)
             {
                 str = o.toString();

Modified: 
jmeter/trunk/src/functions/org/apache/jmeter/functions/Jexl3Function.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/functions/org/apache/jmeter/functions/Jexl3Function.java?rev=1836220&r1=1836219&r2=1836220&view=diff
==============================================================================
--- jmeter/trunk/src/functions/org/apache/jmeter/functions/Jexl3Function.java 
(original)
+++ jmeter/trunk/src/functions/org/apache/jmeter/functions/Jexl3Function.java 
Wed Jul 18 18:46:32 2018
@@ -23,7 +23,7 @@ import java.util.List;
 import org.apache.commons.jexl3.JexlBuilder;
 import org.apache.commons.jexl3.JexlContext;
 import org.apache.commons.jexl3.JexlEngine;
-import org.apache.commons.jexl3.JexlExpression;
+import org.apache.commons.jexl3.JexlScript;
 import org.apache.commons.jexl3.MapContext;
 import org.apache.jmeter.engine.util.CompoundVariable;
 import org.apache.jmeter.samplers.SampleResult;
@@ -91,8 +91,8 @@ public class Jexl3Function extends Abstr
             jc.set("OUT", System.out);//$NON-NLS-1$
 
             // Now evaluate the script, getting the result
-            JexlExpression e = getJexlEngine().createExpression( exp );
-            Object o = e.evaluate(jc);
+            JexlScript e = getJexlEngine().createScript(exp);
+            Object o = e.execute(jc);
             if (o != null)
             {
                 str = o.toString();

Modified: 
jmeter/trunk/test/src/org/apache/jmeter/functions/TestJexl2Function.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/functions/TestJexl2Function.java?rev=1836220&r1=1836219&r2=1836220&view=diff
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/functions/TestJexl2Function.java 
(original)
+++ jmeter/trunk/test/src/org/apache/jmeter/functions/TestJexl2Function.java 
Wed Jul 18 18:46:32 2018
@@ -98,4 +98,12 @@ public class TestJexl2Function extends J
         assertEquals("/query.cgi?s1=1&s2=2&s3=3", ret);
         assertEquals(ret,vars.getObject("URL"));
     }
+
+    @Test
+    public void testSumWithVar() throws Exception {
+        params.add(new CompoundVariable("var a = 1+2+3"));
+        function.setParameters(params);
+        String ret = function.execute(result, null);
+        assertEquals("6", ret);
+    }
 }

Modified: jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1836220&r1=1836219&r2=1836220&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
+++ jmeter/trunk/xdocs/changes.xml [utf-8] Wed Jul 18 18:46:32 2018
@@ -124,6 +124,7 @@ this behaviour, set <code>httpclient.res
     <li><bug>62178</bug>Add default value to <code>__V</code> function. 
Contributed by orimarko at gmail.com</li>
     <li><bug>62178</bug>Add function <code>__threadGroupName</code> function 
to obtain ThreadGroup name. Mainly contributed by orimarko at gmail.com</li>
     <li><bug>62533</bug>Allow use epoch time as Date String value in function 
<code>__dateTimeConvert</code> </li>
+    <li><bug>62541</bug>Allow <code>__jexl3</code>,<code>__jexl2</code> 
functions to support new syntax as <code>var x;</code>. Contributed by orimarko 
at gmail.com</li>
 </ul>
 <h3>I18N</h3>
 <ul>


Reply via email to