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 2007/06/10 23:22:04 UTC
svn commit: r545944 -
/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/BeanShellInterpreter.java
Author: sebb
Date: Sun Jun 10 14:22:03 2007
New Revision: 545944
URL: http://svn.apache.org/viewvc?view=rev&rev=545944
Log:
Tidy logging; add evalNoLog() method for use by listener callbacks
Modified:
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/BeanShellInterpreter.java
Modified: jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/BeanShellInterpreter.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/BeanShellInterpreter.java?view=diff&rev=545944&r1=545943&r2=545944
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/BeanShellInterpreter.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/BeanShellInterpreter.java Sun Jun 10 14:22:03 2007
@@ -151,20 +151,32 @@
}
private Object bshInvoke(Method m, String s) throws JMeterException {
+ return bshInvoke(m, s, true);
+ }
+
+ private Object bshInvoke(Method m, String s, boolean shouldLog) throws JMeterException {
Object r = null;
+ final String errorString = "Error invoking bsh method: ";
try {
r = m.invoke(bshInstance, new Object[] { s });
} catch (IllegalArgumentException e) { // Programming error
- log.error("Error invoking bsh method " + m.getName() + "\n", e);
- throw new JMeterError("Error invoking bsh method " + m.getName(), e);
+ log.error(errorString + m.getName());
+ throw new JMeterError(errorString + m.getName(), e);
} catch (IllegalAccessException e) { // Also programming error
- log.error("Error invoking bsh method " + m.getName() + "\n", e);
- throw new JMeterError("Error invoking bsh method " + m.getName(), e);
+ log.error(errorString + m.getName());
+ throw new JMeterError(errorString + m.getName(), e);
} catch (InvocationTargetException e) { // Can occur at run-time
// could be caused by the bsh Exceptions:
// EvalError, ParseException or TargetError
- log.error("Error invoking bsh method " + m.getName() + "\n", e);
- throw new JMeterException("Error invoking bsh method " + m.getName(), e);
+ if (shouldLog) {
+ Throwable cause = e.getCause();
+ if (cause != null) {
+ log.error(errorString + m.getName() + "\t" + cause.getLocalizedMessage());
+ } else {
+ log.error(errorString + m.getName());
+ }
+ }
+ throw new JMeterException(errorString + m.getName(), e);
}
return r;
}
@@ -190,6 +202,10 @@
public Object eval(String s) throws JMeterException {
return bshInvoke(bshEval, s);
+ }
+
+ public Object evalNoLog(String s) throws JMeterException {
+ return bshInvoke(bshEval, s, false);
}
public Object set(String s, Object o) throws JMeterException {
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org