You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2008/05/13 14:53:40 UTC

svn commit: r655843 - in /jakarta/jmeter/trunk: docs/ docs/usermanual/ src/functions/org/apache/jmeter/functions/ xdocs/ xdocs/usermanual/

Author: sebb
Date: Tue May 13 05:53:39 2008
New Revision: 655843

URL: http://svn.apache.org/viewvc?rev=655843&view=rev
Log:
Give BeanShell, Javascript and Jexl functions access to JMeter properties via the "props" object

Modified:
    jakarta/jmeter/trunk/docs/changes.html
    jakarta/jmeter/trunk/docs/usermanual/functions.html
    jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/BeanShell.java
    jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JavaScript.java
    jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java
    jakarta/jmeter/trunk/xdocs/changes.xml
    jakarta/jmeter/trunk/xdocs/usermanual/functions.xml

Modified: jakarta/jmeter/trunk/docs/changes.html
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/changes.html?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/docs/changes.html (original)
+++ jakarta/jmeter/trunk/docs/changes.html Tue May 13 05:53:39 2008
@@ -663,6 +663,11 @@
 						</li>
 									
 
+												<li	>
+								Give BeanShell, Javascript and Jexl functions access to JMeter properties via the "props" object
+						</li>
+									
+
 						</ul>
 							  									 				<h4	>
 								Non-functional changes

Modified: jakarta/jmeter/trunk/docs/usermanual/functions.html
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/usermanual/functions.html?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/docs/usermanual/functions.html (original)
+++ jakarta/jmeter/trunk/docs/usermanual/functions.html Tue May 13 05:53:39 2008
@@ -1577,7 +1577,7 @@
 
 												<p	>
 								
-Versions of JMeter after 2.3 make the following variables available to the script:
+The following variables are made available to the script:
 
 						</p>
 									
@@ -1610,6 +1610,11 @@
 						</li>
 									
 
+												<li	>
+								props - JMeter Properties object
+						</li>
+									
+
 						</ul>
 									
 
@@ -2288,6 +2293,11 @@
 									
 
 												<li	>
+								props - JMeter Properties object
+						</li>
+									
+
+												<li	>
 								threadName - the threadName
 						</li>
 									
@@ -2772,7 +2782,7 @@
 	</p>
 							  									 				<p	>
 								
-JMeter 2.3 (and later versions) make the following variables available to the script:
+The following variables are made available to the script:
 
 						</p>
 							  									 				<ul	>
@@ -2789,6 +2799,11 @@
 									
 
 												<li	>
+								props - JMeter Properties object
+						</li>
+									
+
+												<li	>
 								threadName - String
 						</li>
 									

Modified: jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/BeanShell.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/BeanShell.java?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/BeanShell.java (original)
+++ jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/BeanShell.java Tue May 13 05:53:39 2008
@@ -106,6 +106,7 @@
 			// Allow access to context and variables directly
 			bshInterpreter.set("ctx", jmctx); //$NON-NLS-1$
 			bshInterpreter.set("vars", vars); //$NON-NLS-1$
+            bshInterpreter.set("props", JMeterUtils.getJMeterProperties()); //$NON-NLS-1$
 			bshInterpreter.set("threadName", Thread.currentThread().getName()); //$NON-NLS-1$
 
 			// Execute the script

Modified: jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JavaScript.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JavaScript.java?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JavaScript.java (original)
+++ jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JavaScript.java Tue May 13 05:53:39 2008
@@ -86,6 +86,7 @@
 			// Set up some objects for the script to play with
 			scope.put("ctx", scope, jmctx); //$NON-NLS-1$
 			scope.put("vars", scope, vars); //$NON-NLS-1$
+			scope.put("props", scope, JMeterUtils.getJMeterProperties()); //$NON-NLS-1$
 			scope.put("theadName", scope, Thread.currentThread().getName()); //$NON-NLS-1$
 			scope.put("sampler", scope, currentSampler); //$NON-NLS-1$
 			scope.put("sampleResult", scope, previousResult); //$NON-NLS-1$

Modified: jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java (original)
+++ jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java Tue May 13 05:53:39 2008
@@ -20,6 +20,7 @@
 import java.util.Collection;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.commons.jexl.Expression;
 import org.apache.commons.jexl.ExpressionFactory;
@@ -77,11 +78,13 @@
         {
             Expression e = ExpressionFactory.createExpression(exp);
             JexlContext jc = JexlHelper.createContext();
-            jc.getVars().put("ctx", jmctx); //$NON-NLS-1$                
-            jc.getVars().put("vars", vars); //$NON-NLS-1$
-            jc.getVars().put("theadName", Thread.currentThread().getName()); //$NON-NLS-1$
-            jc.getVars().put("sampler", currentSampler); //$NON-NLS-1$ (may be null)
-            jc.getVars().put("sampleResult", previousResult); //$NON-NLS-1$ (may be null)
+            final Map jexlVars = jc.getVars();
+            jexlVars.put("ctx", jmctx); //$NON-NLS-1$                
+            jexlVars.put("vars", vars); //$NON-NLS-1$
+            jexlVars.put("props", JMeterUtils.getJMeterProperties()); //$NON-NLS-1$
+            jexlVars.put("theadName", Thread.currentThread().getName()); //$NON-NLS-1$
+            jexlVars.put("sampler", currentSampler); //$NON-NLS-1$ (may be null)
+            jexlVars.put("sampleResult", previousResult); //$NON-NLS-1$ (may be null)
 
             // Now evaluate the expression, getting the result
             Object o = e.evaluate(jc);

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Tue May 13 05:53:39 2008
@@ -199,6 +199,7 @@
 <li>Bug 19128 - Added multiple file POST support to HTTP Samplers</li>
 <li>Allow use of special name LAST to mean the last test run; applies to -t, -l, -j flags</li>
 <li>Bug 44418/42178 - CSV Dataset file handling improvements</li>
+<li>Give BeanShell, Javascript and Jexl functions access to JMeter properties via the "props" object</li>
 </ul>
 
 <h4>Non-functional changes</h4>

Modified: jakarta/jmeter/trunk/xdocs/usermanual/functions.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/functions.xml?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/usermanual/functions.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/functions.xml Tue May 13 05:53:39 2008
@@ -460,7 +460,7 @@
 For details of the language, please see <a href="http://www.mozilla.org/rhino/overview.html">Mozilla Rhino Overview</a>
 </p>
 <p>
-Versions of JMeter after 2.3 make the following variables available to the script:
+The following variables are made available to the script:
 </p>
 <ul>
 <li>ctx - JMeterContext object</li>
@@ -468,6 +468,7 @@
 <li>threadName - String</li>
 <li>sampler - current Sampler object (if any)</li>
 <li>sampleResult - previous SampleResult object (if any)</li>
+<li>props - JMeter Properties object</li>
 </ul>
 <note>
 JMeter is not a browser, and does not interpret the JavaScript in downloaded pages.
@@ -704,6 +705,7 @@
 <li>log - the logger for the BeanShell function (*)</li>
 <li>ctx - the current JMeter context variable</li>
 <li>vars - the current JMeter variables</li>
+<li>props - JMeter Properties object</li>
 <li>threadName - the threadName</li>
 <li>Sampler the current Sampler, if any</li>
 <li>SampleResult - the current SampleResult, if any</li>
@@ -865,11 +867,12 @@
         <property name="Name of variable" required="No">The name of the variable to set.</property>
 </properties>
 <p>
-JMeter 2.3 (and later versions) make the following variables available to the script:
+The following variables are made available to the script:
 </p>
 <ul>
 <li>ctx - JMeterContext object</li>
 <li>vars - JMeterVariables object</li>
+<li>props - JMeter Properties object</li>
 <li>threadName - String</li>
 <li>sampler - current Sampler object (if any)</li>
 <li>sampleResult - previous SampleResult object (if any)</li>



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org