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 2005/11/10 23:17:10 UTC

svn commit: r332386 - in /jakarta/jmeter/branches/rel-2-1: src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java xdocs/usermanual/component_reference.xml

Author: sebb
Date: Thu Nov 10 14:17:01 2005
New Revision: 332386

URL: http://svn.apache.org/viewcvs?rev=332386&view=rev
Log:
Allow Sampler to set Response Data directly

Modified:
    jakarta/jmeter/branches/rel-2-1/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java
    jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml

Modified: jakarta/jmeter/branches/rel-2-1/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java?rev=332386&r1=332385&r2=332386&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java Thu Nov 10 14:17:01 2005
@@ -130,7 +130,9 @@
 			bshInterpreter.set("ctx", jmctx);//$NON-NLS-1$
 			bshInterpreter.set("vars", vars);//$NON-NLS-1$
 
-			Object bshOut;
+            res.setDataType(SampleResult.TEXT); // assume text output - script can override if necessary
+
+            Object bshOut;
 
 			if (fileName.length() == 0) {
 				bshOut = bshInterpreter.eval(request);
@@ -138,14 +140,12 @@
 				bshOut = bshInterpreter.source(fileName);
 			}
 
-			String out;
-			if (bshOut == null) {// Script did not return anything...
-				out = "";
-			} else {
-				out = bshOut.toString();
+			if (bshOut != null) {// Set response data
+                String out = bshOut.toString();
+                res.setResponseData(out.getBytes());
 			}
-			res.setResponseData(out.getBytes());
-			res.setDataType(SampleResult.TEXT);
+            // script can also use setResponseData() so long as it returns null
+            
 			res.setResponseCode(bshInterpreter.get("ResponseCode").toString());//$NON-NLS-1$
 			res.setResponseMessage(bshInterpreter.get("ResponseMessage").toString());//$NON-NLS-1$
 			isSuccessful = Boolean.valueOf(bshInterpreter.get("IsSuccess") //$NON-NLS-1$

Modified: jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml?rev=332386&r1=332385&r2=332386&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml (original)
+++ jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml Thu Nov 10 14:17:01 2005
@@ -575,7 +575,12 @@
 			<li>ResponseMessage - for example "OK"</li>
 			<li>IsSuccess - true/false</li>
 			</ul>
-			<p>The Sampler ResponseData is set from the return value of the script.</p>
+			<p>The Sampler ResponseData is set from the return value of the script.
+			Since version 2.1.2, if the script returns null, it can set the response directly, by using the method 
+			SampleResponse.setResponseData(data), where data is either a String or a byte array.
+			The data type defaults to "text", but can be set to binary by using the method
+			SampleResponse.setDataType(SampleResponse.BINARY).
+			</p>
 			<p>The SampleResult variable gives the script full access to all the fields and
 				methods in the SampleResult. For example, the script has access to the methods
 				setStopThread(boolean) and setStopTest(boolean).
@@ -588,6 +593,9 @@
     SampleResult.setStopThread(true);
 }
 return "Data from sample with Label "+Label;
+//or, since version 2.1.2
+SampleResult.setResponseData("My data");
+return null;
 </pre>
 </component>
 



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