Author: pmouawad
Date: Sat Sep 24 08:31:07 2016
New Revision: 1762110
URL: http://svn.apache.org/viewvc?rev=1762110&view=rev
Log:
Bug 59945 For all JSR223 elements, if script language has not been chosen on
the UI, the script will be interpreted as a groovy script
A getXXX method should not change state, so read every time and default (slight
performance loss)
Add javadocs
Drop unused log field
Increment serialVersionId
Bugzilla Id: 59945
Modified:
jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java
jmeter/trunk/src/core/org/apache/jmeter/util/ScriptingTestElement.java
Modified: jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java?rev=1762110&r1=1762109&r2=1762110&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java
(original)
+++ jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java Sat Sep
24 08:31:07 2016
@@ -65,10 +65,8 @@ public abstract class JSR223TestElement
return LazyHolder.INSTANCE;
}
- private static final long serialVersionUID = 233L;
+ private static final long serialVersionUID = 231L;
- private static final Logger log = LoggingManager.getLoggerForClass();
-
/** If not empty then script in ScriptText will be compiled and cached */
private String cacheKey = "";
@@ -87,14 +85,11 @@ public abstract class JSR223TestElement
super();
}
+ /**
+ * @return {@link ScriptEngine} for language defaulting to groovy if
language is not set
+ */
protected ScriptEngine getScriptEngine() throws ScriptException {
- String lang = getScriptLanguage();
-
- if (StringUtils.isEmpty(lang)) {
- lang = DEFAULT_SCRIPT_LANGUAGE;
- setScriptLanguage(lang);
- }
-
+ String lang = getScriptLanguageWithDefault();
ScriptEngine scriptEngine = getInstance().getEngineByName(lang);
if (scriptEngine == null) {
throw new ScriptException("Cannot find engine named: '"+lang+"',
ensure you set language field in JSR223 Test Element: "+getName());
@@ -104,6 +99,17 @@ public abstract class JSR223TestElement
}
/**
+ * @return script language or DEFAULT_SCRIPT_LANGUAGE if none is set
+ */
+ private String getScriptLanguageWithDefault() {
+ String lang = getScriptLanguage();
+ if (!StringUtils.isNotEmpty(lang)) {
+ return lang;
+ }
+ return DEFAULT_SCRIPT_LANGUAGE;
+ }
+
+ /**
* Populate variables to be passed to scripts
* @param bindings Bindings
*/
Modified: jmeter/trunk/src/core/org/apache/jmeter/util/ScriptingTestElement.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/util/ScriptingTestElement.java?rev=1762110&r1=1762109&r2=1762110&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/util/ScriptingTestElement.java
(original)
+++ jmeter/trunk/src/core/org/apache/jmeter/util/ScriptingTestElement.java Sat
Sep 24 08:31:07 2016
@@ -26,7 +26,7 @@ import org.apache.jmeter.testelement.Abs
*/
public abstract class ScriptingTestElement extends AbstractTestElement {
- private static final long serialVersionUID = 281L;
+ private static final long serialVersionUID = 282L;
//++ For TestBean implementations only
private String parameters = ""; // passed to file or script
@@ -38,6 +38,7 @@ public abstract class ScriptingTestEleme
protected String scriptLanguage = ""; // BSF/JSR223 language to use
protected final static String DEFAULT_SCRIPT_LANGUAGE = "groovy"; // if no
language is chosen in GUI
+
//-- For TestBean implementations only
public ScriptingTestElement() {