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 2009/10/23 19:53:21 UTC

svn commit: r829146 - /jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java

Author: sebb
Date: Fri Oct 23 17:53:20 2009
New Revision: 829146

URL: http://svn.apache.org/viewvc?rev=829146&view=rev
Log:
Unused imports
Ensure file is always closed
Use correct eval() method
Don't default to Groovy engine
Don't continue if implementation is not found

Modified:
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java?rev=829146&r1=829145&r2=829146&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java Fri Oct 23 17:53:20 2009
@@ -22,19 +22,14 @@
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
-import java.io.PrintStream;
 import java.io.Serializable;
 import java.util.Properties;
 
-import javax.script.ScriptContext;
 import javax.script.ScriptEngine;
 import javax.script.ScriptEngineManager;
 import javax.script.ScriptException;
 
-import org.apache.bsf.BSFEngine;
-import org.apache.bsf.BSFException;
-import org.apache.bsf.BSFManager;
-import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
 import org.apache.jmeter.samplers.SampleResult;
 import org.apache.jmeter.samplers.Sampler;
 import org.apache.jmeter.testelement.AbstractTestElement;
@@ -45,8 +40,6 @@
 import org.apache.jorphan.util.JOrphanUtils;
 import org.apache.log.Logger;
 
-import sun.security.action.GetLongAction;
-
 public abstract class JSR223TestElement extends AbstractTestElement
     implements Serializable, Cloneable
 {
@@ -81,6 +74,7 @@
         return this;
     }
 
+    @Override
     public Object clone() {
         JSR223TestElement o = (JSR223TestElement) super.clone();
         o.init();
@@ -126,22 +120,22 @@
     
     protected void processFileOrScript(ScriptEngineManager sem) throws IOException, ScriptException {
     	
-    	ScriptEngine scriptEngine = sem.getEngineByName(getScriptLanguage());
+    	final String lang = getScriptLanguage();
+        ScriptEngine scriptEngine = sem.getEngineByName(lang);
     	if (scriptEngine == null) {
-    		log.warn("Not supported scripting engine");
-    		setScriptLanguage("groovy");
-    		scriptEngine = sem.getEngineByName(getScriptLanguage());
-    	} else {
-    		System.out.println("Script engine found : " + getScriptLanguage());
+    		log.error("Unsupported scripting engine: "+lang);
+    		return;
     	}
     	
     	File scriptFile = new File(getFilename());
     	if (scriptFile.exists()) {
-    		BufferedReader fileReader = new BufferedReader(new FileReader(scriptFile));
-    		String line;
-    		while ((line = fileReader.readLine()) != null) {
-    			scriptEngine.eval(line);
-    		}
+    	    BufferedReader fileReader = null;
+    		try {
+                fileReader = new BufferedReader(new FileReader(scriptFile));
+                scriptEngine.eval(fileReader);
+            } finally {
+                IOUtils.closeQuietly(fileReader);
+            }
     	} else {
     		scriptEngine.eval(getScript());
     	}



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