Author: sebb Date: Tue Mar 14 10:57:55 2006 New Revision: 385855 URL: http://svn.apache.org/viewcvs?rev=385855&view=rev Log: Rename BSH test elements. Include basic process() code. TODO: add file handling and script arguments
Added: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessor.java - copied, changed from r385618, jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractor.java jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorBeanInfo.java - copied, changed from r385618, jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorBeanInfo.java jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources.properties - copied, changed from r385618, jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorResources.properties jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessor.java - copied, changed from r385618, jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifier.java jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorBeanInfo.java - copied, changed from r385618, jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierBeanInfo.java jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources.properties - copied, changed from r385618, jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierResources.properties Removed: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractor.java jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorBeanInfo.java jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorResources.properties jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifier.java jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierBeanInfo.java jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierResources.properties Copied: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessor.java (from r385618, jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractor.java) URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessor.java?p2=jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessor.java&p1=jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractor.java&r1=385618&r2=385855&rev=385855&view=diff ============================================================================== --- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractor.java (original) +++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessor.java Tue Mar 14 10:57:55 2006 @@ -20,6 +20,7 @@ import java.io.Serializable; import org.apache.jmeter.processor.PostProcessor; +import org.apache.jmeter.samplers.SampleResult; import org.apache.jmeter.testbeans.TestBean; import org.apache.jmeter.testelement.AbstractTestElement; import org.apache.jmeter.threads.JMeterContext; @@ -31,7 +32,7 @@ import org.apache.jorphan.util.JMeterException; import org.apache.log.Logger; -public class BeanShellExtractor extends AbstractTestElement implements PostProcessor, Serializable, TestBean { +public class BeanShellPostProcessor extends AbstractTestElement implements PostProcessor, Serializable, TestBean { private static final Logger log = LoggingManager.getLoggerForClass(); private static final long serialVersionUID = 2; @@ -41,35 +42,36 @@ transient private BeanShellInterpreter bshInterpreter = null; // can be specified in jmeter.properties - private static final String INIT_FILE = "beanshell.timer.init"; //$NON-NLS-1$ + private static final String INIT_FILE = "beanshell.postprocessor.init"; //$NON-NLS-1$ - public BeanShellExtractor() throws ClassNotFoundException { + public BeanShellPostProcessor() throws ClassNotFoundException { super(); bshInterpreter = new BeanShellInterpreter(JMeterUtils.getProperty(INIT_FILE),log); } - /* - * (non-Javadoc) - * - * @see org.apache.jmeter.timers.Timer#delay() - */ - long xdelay() { - String ret=""; + public void process() { + JMeterContext jmctx = JMeterContextService.getContext(); + + SampleResult prev = jmctx.getPreviousResult(); + if (prev == null || prev.getResponseData() == null) { + return; + } + + JMeterVariables vars = jmctx.getVariables(); try { // Add variables for access to context and variables - JMeterContext jmctx = JMeterContextService.getContext(); - JMeterVariables vars = jmctx.getVariables(); bshInterpreter.set("ctx", jmctx);//$NON-NLS-1$ bshInterpreter.set("vars", vars);//$NON-NLS-1$ - ret = bshInterpreter.eval(script).toString(); + bshInterpreter.set("prev", prev);//$NON-NLS-1$ + bshInterpreter.set("data", prev.getResponseData());//$NON-NLS-1$ + bshInterpreter.eval(script); } catch (JMeterException e) { log.warn("Problem in BeanShell script "+e); } - return Long.decode(ret).longValue(); } public Object clone() { - BeanShellExtractor o = (BeanShellExtractor) super.clone(); + BeanShellPostProcessor o = (BeanShellPostProcessor) super.clone(); o.script = script; return o; } @@ -81,8 +83,4 @@ public void setScript(String s){ script=s; } - - public void process() { - throw new Error("Not yet implemented"); - } } Copied: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorBeanInfo.java (from r385618, jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorBeanInfo.java) URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorBeanInfo.java?p2=jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorBeanInfo.java&p1=jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorBeanInfo.java&r1=385618&r2=385855&rev=385855&view=diff ============================================================================== --- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorBeanInfo.java (original) +++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorBeanInfo.java Tue Mar 14 10:57:55 2006 @@ -21,13 +21,13 @@ import org.apache.jmeter.testbeans.BeanInfoSupport; -public class BeanShellExtractorBeanInfo extends BeanInfoSupport { +public class BeanShellPostProcessorBeanInfo extends BeanInfoSupport { /** * @param beanClass */ - public BeanShellExtractorBeanInfo() { - super(BeanShellExtractor.class); + public BeanShellPostProcessorBeanInfo() { + super(BeanShellPostProcessor.class); createPropertyGroup("scripting", new String[] { "script" }); Copied: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources.properties (from r385618, jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorResources.properties) URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources.properties?p2=jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources.properties&p1=jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorResources.properties&r1=385618&r2=385855&rev=385855&view=diff ============================================================================== --- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorResources.properties (original) +++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources.properties Tue Mar 14 10:57:55 2006 @@ -1,4 +1,4 @@ displayName=BeanShell PostProcessor -scripting.displayName=BeanShell +scripting.displayName=BeanShell (variables: jmctx vars prev data) script.displayName=Script script.shortDescription=Beanshell script Copied: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessor.java (from r385618, jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifier.java) URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessor.java?p2=jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessor.java&p1=jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifier.java&r1=385618&r2=385855&rev=385855&view=diff ============================================================================== --- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifier.java (original) +++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessor.java Tue Mar 14 10:57:55 2006 @@ -20,6 +20,8 @@ import java.io.Serializable; import org.apache.jmeter.processor.PreProcessor; +import org.apache.jmeter.samplers.SampleResult; +import org.apache.jmeter.samplers.Sampler; import org.apache.jmeter.testbeans.TestBean; import org.apache.jmeter.testelement.AbstractTestElement; import org.apache.jmeter.threads.JMeterContext; @@ -31,7 +33,7 @@ import org.apache.jorphan.util.JMeterException; import org.apache.log.Logger; -public class BeanShellModifier extends AbstractTestElement implements PreProcessor, Serializable, TestBean { +public class BeanShellPreProcessor extends AbstractTestElement implements PreProcessor, Serializable, TestBean { private static final Logger log = LoggingManager.getLoggerForClass(); private static final long serialVersionUID = 2; @@ -41,35 +43,34 @@ transient private BeanShellInterpreter bshInterpreter = null; // can be specified in jmeter.properties - private static final String INIT_FILE = "beanshell.timer.init"; //$NON-NLS-1$ + private static final String INIT_FILE = "beanshell.preprocessor.init"; //$NON-NLS-1$ - public BeanShellModifier() throws ClassNotFoundException { + public BeanShellPreProcessor() throws ClassNotFoundException { super(); bshInterpreter = new BeanShellInterpreter(JMeterUtils.getProperty(INIT_FILE),log); } - /* - * (non-Javadoc) - * - * @see org.apache.jmeter.timers.Timer#delay() - */ - long xdelay() { - String ret=""; + + public void process(){ + JMeterContext jmctx = JMeterContextService.getContext(); + JMeterVariables vars = jmctx.getVariables(); + Sampler sam = jmctx.getCurrentSampler(); + SampleResult prev = jmctx.getPreviousResult(); try { // Add variables for access to context and variables - JMeterContext jmctx = JMeterContextService.getContext(); - JMeterVariables vars = jmctx.getVariables(); bshInterpreter.set("ctx", jmctx);//$NON-NLS-1$ bshInterpreter.set("vars", vars);//$NON-NLS-1$ - ret = bshInterpreter.eval(script).toString(); + bshInterpreter.set("sampler", sam);//$NON-NLS-1$ + bshInterpreter.set("prev", prev);//$NON-NLS-1$ + + bshInterpreter.eval(script); } catch (JMeterException e) { log.warn("Problem in BeanShell script "+e); } - return Long.decode(ret).longValue(); } public Object clone() { - BeanShellModifier o = (BeanShellModifier) super.clone(); + BeanShellPreProcessor o = (BeanShellPreProcessor) super.clone(); o.script = script; return o; } @@ -81,9 +82,4 @@ public void setScript(String s){ script=s; } - - public void process() { - // TODO Auto-generated method stub - throw new Error("Not yet implemented"); - } } Copied: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorBeanInfo.java (from r385618, jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierBeanInfo.java) URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorBeanInfo.java?p2=jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorBeanInfo.java&p1=jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierBeanInfo.java&r1=385618&r2=385855&rev=385855&view=diff ============================================================================== --- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierBeanInfo.java (original) +++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorBeanInfo.java Tue Mar 14 10:57:55 2006 @@ -21,13 +21,13 @@ import org.apache.jmeter.testbeans.BeanInfoSupport; -public class BeanShellModifierBeanInfo extends BeanInfoSupport { +public class BeanShellPreProcessorBeanInfo extends BeanInfoSupport { /** * @param beanClass */ - public BeanShellModifierBeanInfo() { - super(BeanShellModifier.class); + public BeanShellPreProcessorBeanInfo() { + super(BeanShellPreProcessor.class); createPropertyGroup("scripting", new String[] { "script" }); Copied: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources.properties (from r385618, jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierResources.properties) URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources.properties?p2=jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources.properties&p1=jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierResources.properties&r1=385618&r2=385855&rev=385855&view=diff ============================================================================== --- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierResources.properties (original) +++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources.properties Tue Mar 14 10:57:55 2006 @@ -1,4 +1,4 @@ -displayName=BeanShell Pre-Processor -scripting.displayName=BeanShell +displayName=BeanShell PreProcessor +scripting.displayName=BeanShell (variables: jmctx vars prev sampler) script.displayName=Script -script.shortDescription=Beanshell script to generate delay \ No newline at end of file +script.shortDescription=Beanshell script \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]