sebb        2003/11/11 06:24:01

  Modified:    src/protocol/java/org/apache/jmeter/protocol/java/sampler
                        BeanShellSampler.java
  Log:
  Handle missing BeanShell jar gracefully
  
  Revision  Changes    Path
  1.3       +23 -6     
jakarta-jmeter/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java
  
  Index: BeanShellSampler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BeanShellSampler.java     6 Nov 2003 00:28:46 -0000       1.2
  +++ BeanShellSampler.java     11 Nov 2003 14:24:01 -0000      1.3
  @@ -57,7 +57,7 @@
   
   import java.io.IOException;
   
  -import bsh.EvalError;
  +//import bsh.EvalError;
   import bsh.Interpreter;
      
   import org.apache.jmeter.samplers.AbstractSampler;
  @@ -134,7 +134,7 @@
                } else {
                                res.setSamplerData(fileName);
                }
  -                     
  +
                        //TODO - set some more variables?
                        bshInterpreter.set("Label",getLabel());
                        bshInterpreter.set("FileName",getFilename());
  @@ -168,15 +168,32 @@
                isSuccessful = Boolean.valueOf(bshInterpreter.get("IsSuccess") 
//$NON-NLS-1$
                    .toString()).booleanValue();
           }
  -             catch (EvalError ex)
  +/*
  + * To avoid class loading problems when bsh,jar is missing,
  + * we don't try to catch this error separately
  + *           catch (bsh.EvalError ex)
                {
                        log.debug("",ex);
                        res.setResponseCode("500");//$NON-NLS-1$
                        res.setResponseMessage(ex.toString());
  -             }
  +             } 
  + */
  +        // but we do trap this error to make tests work better
  +        catch(NoClassDefFoundError ex){
  +                     log.error("BeanShell Jar missing? "+ex.toString());
  +                     res.setResponseCode("501");//$NON-NLS-1$
  +                     res.setResponseMessage(ex.toString());
  +                     res.setStopThread(true); // No point continuing
  +        }
                catch (IOException ex)
                {
  -                     log.debug("",ex);
  +                     log.warn(ex.toString());
  +                     res.setResponseCode("500");//$NON-NLS-1$
  +                     res.setResponseMessage(ex.toString());
  +             }
  +             catch (Exception ex) // Mainly for bsh.EvalError
  +             {
  +                     log.warn(ex.toString());
                        res.setResponseCode("500");//$NON-NLS-1$
                        res.setResponseMessage(ex.toString());
                }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to