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 2006/04/05 20:57:56 UTC
svn commit: r391718 -
/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/BeanShellAssertion.java
Author: sebb
Date: Wed Apr 5 11:57:54 2006
New Revision: 391718
URL: http://svn.apache.org/viewcvs?rev=391718&view=rev
Log:
Ensure the transient object is recreated by the server
Modified:
jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/BeanShellAssertion.java
Modified: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/BeanShellAssertion.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/BeanShellAssertion.java?rev=391718&r1=391717&r2=391718&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/BeanShellAssertion.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/BeanShellAssertion.java Wed Apr 5 11:57:54 2006
@@ -1,4 +1,3 @@
-// $Header$
/*
* Copyright 2003-2004 The Apache Software Foundation.
*
@@ -39,7 +38,7 @@
* @version $Revision$ Updated on: $Date$
*/
public class BeanShellAssertion extends AbstractTestElement implements Serializable, Assertion {
- private static Logger log = LoggingManager.getLoggerForClass();
+ private static final Logger log = LoggingManager.getLoggerForClass();
public static final String FILENAME = "BeanShellAssertion.filename"; //$NON-NLS-1$
@@ -47,12 +46,23 @@
public static final String PARAMETERS = "BeanShellAssertion.parameters"; //$NON-NLS-1$
+ // Not serialised - recreated as needed
transient private BeanShellInterpreter bshInterpreter = null;
// can be specified in jmeter.properties
public static final String INIT_FILE = "beanshell.assertion.init"; //$NON-NLS-1$
public BeanShellAssertion() {
+ init();
+ }
+
+ // Ensure deserialisation works in server
+ private Object readResolve(){
+ init();
+ return this;
+ }
+
+ private void init(){
try {
bshInterpreter = new BeanShellInterpreter();
String init = JMeterUtils.getProperty(INIT_FILE);
@@ -65,9 +75,8 @@
}
} catch (ClassNotFoundException e) {
log.error("Could not establish BeanShellInterpreter: " + e);
- }
+ }
}
-
public String getScript() {
return getPropertyAsString(SCRIPT);
}
@@ -99,19 +108,14 @@
String fileName = getFilename();
bshInterpreter.set("FileName", getFilename());//$NON-NLS-1$
- bshInterpreter.set("Parameters", getParameters());// as a single
- // line
- // $NON-NLS-1$
+ // Set params as a single line
+ bshInterpreter.set("Parameters", getParameters()); // $NON-NLS-1$
bshInterpreter.set("bsh.args",//$NON-NLS-1$
JOrphanUtils.split(getParameters(), " "));//$NON-NLS-1$
// Add SamplerData for consistency with BeanShell Sampler
- bshInterpreter.set("SampleResult", response);// Raw access to the
- // response
- // //$NON-NLS-1$
- bshInterpreter.set("Response", response);// Raw access to the
- // response
- // //$NON-NLS-1$
+ bshInterpreter.set("SampleResult", response); //$NON-NLS-1$
+ bshInterpreter.set("Response", response); //$NON-NLS-1$
bshInterpreter.set("ResponseData", response.getResponseData());//$NON-NLS-1$
bshInterpreter.set("ResponseCode", response.getResponseCode());//$NON-NLS-1$
bshInterpreter.set("ResponseMessage", response.getResponseMessage());//$NON-NLS-1$
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org