Update of /cvsroot/httpunit/httpunit/src/com/meterware/httpunit/javascript
In directory usw-pr-cvs1:/tmp/cvs-serv32474/src/com/meterware/httpunit/javascript
Modified Files:
JavaScript.java JavaScriptEngineFactory.java
Log Message:
Force graceful degregation when Rhino is missing
Index: JavaScript.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/httpunit/javascript/JavaScript.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- JavaScript.java 19 Aug 2002 18:52:26 -0000 1.12
+++ JavaScript.java 20 Aug 2002 15:09:28 -0000 1.13
@@ -83,6 +83,8 @@
public void executeScript( String script ) {
try {
+ script = script.trim();
+ if (script.startsWith( "<!--" )) script = script.substring( 4 );
Context.getCurrentContext().evaluateString( this, script, "httpunit", 0, null );
} catch (JavaScriptException e) {
throw new RuntimeException( "Script '" + script + "' failed: " + e );
Index: JavaScriptEngineFactory.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/src/com/meterware/httpunit/javascript/JavaScriptEngineFactory.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JavaScriptEngineFactory.java 19 Aug 2002 18:52:26 -0000 1.3
+++ JavaScriptEngineFactory.java 20 Aug 2002 15:09:28 -0000 1.4
@@ -19,24 +19,26 @@
* DEALINGS IN THE SOFTWARE.
*
*******************************************************************************************************************/
-import com.meterware.httpunit.scripting.ScriptingEngineFactory;
import com.meterware.httpunit.WebResponse;
+import com.meterware.httpunit.scripting.ScriptingEngineFactory;
-import java.lang.reflect.InvocationTargetException;
-import java.io.FileWriter;
-import java.io.PrintWriter;
-
-import org.mozilla.javascript.ClassDefinitionException;
-import org.mozilla.javascript.NotAFunctionException;
-import org.mozilla.javascript.PropertyException;
-import org.mozilla.javascript.JavaScriptException;
-import org.xml.sax.SAXException;
/**
*
* @author <a href="mailto:rus...@ac...">Russell Gold</a>
**/
public class JavaScriptEngineFactory implements ScriptingEngineFactory {
+
+ public boolean isEnabled() {
+ try {
+ Class.forName( "org.mozilla.javascript.Context" );
+ return true;
+ } catch (Exception e) {
+ System.err.println( "Rhino classes (js.jar) not found - Javascript disabled" );
+ return false;
+ }
+ }
+
public void associate( WebResponse response ) {
try {
|