Author: sebb Date: Mon Mar 13 10:59:40 2006 New Revision: 385618 URL: http://svn.apache.org/viewcvs?rev=385618&view=rev Log: Initial stubs for additional BeanShell test elements Note: they do nothing except fail at present
Added: 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 Added: 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/BeanShellExtractor.java?rev=385618&view=auto ============================================================================== --- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractor.java (added) +++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractor.java Mon Mar 13 10:59:40 2006 @@ -0,0 +1,88 @@ +/* + * Copyright 2006 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy + * of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + */ + +package org.apache.jmeter.extractor; + +import java.io.Serializable; + +import org.apache.jmeter.processor.PostProcessor; +import org.apache.jmeter.testbeans.TestBean; +import org.apache.jmeter.testelement.AbstractTestElement; +import org.apache.jmeter.threads.JMeterContext; +import org.apache.jmeter.threads.JMeterContextService; +import org.apache.jmeter.threads.JMeterVariables; +import org.apache.jmeter.util.BeanShellInterpreter; +import org.apache.jmeter.util.JMeterUtils; +import org.apache.jorphan.logging.LoggingManager; +import org.apache.jorphan.util.JMeterException; +import org.apache.log.Logger; + +public class BeanShellExtractor extends AbstractTestElement implements PostProcessor, Serializable, TestBean { + private static final Logger log = LoggingManager.getLoggerForClass(); + + private static final long serialVersionUID = 2; + + private String script; + + transient private BeanShellInterpreter bshInterpreter = null; + + // can be specified in jmeter.properties + private static final String INIT_FILE = "beanshell.timer.init"; //$NON-NLS-1$ + + public BeanShellExtractor() throws ClassNotFoundException { + super(); + bshInterpreter = new BeanShellInterpreter(JMeterUtils.getProperty(INIT_FILE),log); + } + + /* + * (non-Javadoc) + * + * @see org.apache.jmeter.timers.Timer#delay() + */ + long xdelay() { + String ret=""; + 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(); + } catch (JMeterException e) { + log.warn("Problem in BeanShell script "+e); + } + return Long.decode(ret).longValue(); + } + + public Object clone() { + BeanShellExtractor o = (BeanShellExtractor) super.clone(); + o.script = script; + return o; + } + + public String getScript(){ + return script; + } + + public void setScript(String s){ + script=s; + } + + public void process() { + throw new Error("Not yet implemented"); + } +} Added: 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/BeanShellExtractorBeanInfo.java?rev=385618&view=auto ============================================================================== --- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorBeanInfo.java (added) +++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorBeanInfo.java Mon Mar 13 10:59:40 2006 @@ -0,0 +1,39 @@ +/* + * Copyright 2006 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy + * of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + */ + +package org.apache.jmeter.extractor; + +import java.beans.PropertyDescriptor; + +import org.apache.jmeter.testbeans.BeanInfoSupport; + +public class BeanShellExtractorBeanInfo extends BeanInfoSupport { + + /** + * @param beanClass + */ + public BeanShellExtractorBeanInfo() { + super(BeanShellExtractor.class); + + createPropertyGroup("scripting", new String[] { "script" }); + + PropertyDescriptor p = property("script"); + p.setValue(NOT_UNDEFINED, Boolean.TRUE); + p.setValue(DEFAULT, ""); + } + +} Added: 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/BeanShellExtractorResources.properties?rev=385618&view=auto ============================================================================== --- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorResources.properties (added) +++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/BeanShellExtractorResources.properties Mon Mar 13 10:59:40 2006 @@ -0,0 +1,4 @@ +displayName=BeanShell PostProcessor +scripting.displayName=BeanShell +script.displayName=Script +script.shortDescription=Beanshell script \ No newline at end of file Added: 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/BeanShellModifier.java?rev=385618&view=auto ============================================================================== --- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifier.java (added) +++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifier.java Mon Mar 13 10:59:40 2006 @@ -0,0 +1,89 @@ +/* + * Copyright 2006 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy + * of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + */ + +package org.apache.jmeter.modifiers; + +import java.io.Serializable; + +import org.apache.jmeter.processor.PreProcessor; +import org.apache.jmeter.testbeans.TestBean; +import org.apache.jmeter.testelement.AbstractTestElement; +import org.apache.jmeter.threads.JMeterContext; +import org.apache.jmeter.threads.JMeterContextService; +import org.apache.jmeter.threads.JMeterVariables; +import org.apache.jmeter.util.BeanShellInterpreter; +import org.apache.jmeter.util.JMeterUtils; +import org.apache.jorphan.logging.LoggingManager; +import org.apache.jorphan.util.JMeterException; +import org.apache.log.Logger; + +public class BeanShellModifier extends AbstractTestElement implements PreProcessor, Serializable, TestBean { + private static final Logger log = LoggingManager.getLoggerForClass(); + + private static final long serialVersionUID = 2; + + private String script; + + transient private BeanShellInterpreter bshInterpreter = null; + + // can be specified in jmeter.properties + private static final String INIT_FILE = "beanshell.timer.init"; //$NON-NLS-1$ + + public BeanShellModifier() throws ClassNotFoundException { + super(); + bshInterpreter = new BeanShellInterpreter(JMeterUtils.getProperty(INIT_FILE),log); + } + + /* + * (non-Javadoc) + * + * @see org.apache.jmeter.timers.Timer#delay() + */ + long xdelay() { + String ret=""; + 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(); + } catch (JMeterException e) { + log.warn("Problem in BeanShell script "+e); + } + return Long.decode(ret).longValue(); + } + + public Object clone() { + BeanShellModifier o = (BeanShellModifier) super.clone(); + o.script = script; + return o; + } + + public String getScript(){ + return script; + } + + public void setScript(String s){ + script=s; + } + + public void process() { + // TODO Auto-generated method stub + throw new Error("Not yet implemented"); + } +} Added: 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/BeanShellModifierBeanInfo.java?rev=385618&view=auto ============================================================================== --- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierBeanInfo.java (added) +++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierBeanInfo.java Mon Mar 13 10:59:40 2006 @@ -0,0 +1,39 @@ +/* + * Copyright 2006 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy + * of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + */ + +package org.apache.jmeter.modifiers; + +import java.beans.PropertyDescriptor; + +import org.apache.jmeter.testbeans.BeanInfoSupport; + +public class BeanShellModifierBeanInfo extends BeanInfoSupport { + + /** + * @param beanClass + */ + public BeanShellModifierBeanInfo() { + super(BeanShellModifier.class); + + createPropertyGroup("scripting", new String[] { "script" }); + + PropertyDescriptor p = property("script"); + p.setValue(NOT_UNDEFINED, Boolean.TRUE); + p.setValue(DEFAULT, ""); + } + +} Added: 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/BeanShellModifierResources.properties?rev=385618&view=auto ============================================================================== --- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierResources.properties (added) +++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/modifiers/BeanShellModifierResources.properties Mon Mar 13 10:59:40 2006 @@ -0,0 +1,4 @@ +displayName=BeanShell Pre-Processor +scripting.displayName=BeanShell +script.displayName=Script +script.shortDescription=Beanshell script to generate delay \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]