jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: svn commit: r1406876 - in /jmeter/trunk: src/core/org/apache/jmeter/util/BSFTestElement.java src/core/org/apache/jmeter/util/JSR223TestElement.java src/core/org/apache/jmeter/util/ScriptingTestElement.java xdocs/changes.xml
Date Thu, 08 Nov 2012 10:58:20 GMT
On 8 November 2012 08:35, Philippe Mouawad <philippe.mouawad@gmail.com> wrote:
> Hello sebb,
> I see you removed in the process:
>
>    - clone
>    - readResolve
>
> Are you sure it's OK ?

I also changed the variables so that they are initialised to the empty string.

I also added a test for BSF and JSR223 sampler to the batch test
script and that runs OK, so I am pretty confident that those methods
are no longer needed.

>
> Thank you
>
> Regards
>
> Philippe
>
> On Thu, Nov 8, 2012 at 1:35 AM, <sebb@apache.org> wrote:
>
>> Author: sebb
>> Date: Thu Nov  8 00:35:23 2012
>> New Revision: 1406876
>>
>> URL: http://svn.apache.org/viewvc?rev=1406876&view=rev
>> Log:
>> BSFTestElement and JSR223TestElement should use shared super-class for
>> common fields
>> Bugzilla Id: 54110
>>
>> Added:
>>     jmeter/trunk/src/core/org/apache/jmeter/util/ScriptingTestElement.java
>>   (with props)
>> Modified:
>>     jmeter/trunk/src/core/org/apache/jmeter/util/BSFTestElement.java
>>     jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java
>>     jmeter/trunk/xdocs/changes.xml
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/util/BSFTestElement.java
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/util/BSFTestElement.java?rev=1406876&r1=1406875&r2=1406876&view=diff
>>
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/util/BSFTestElement.java
>> (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/util/BSFTestElement.java Thu
>> Nov  8 00:35:23 2012
>> @@ -30,7 +30,6 @@ import org.apache.bsf.BSFManager;
>>  import org.apache.commons.io.FileUtils;
>>  import org.apache.jmeter.samplers.SampleResult;
>>  import org.apache.jmeter.samplers.Sampler;
>> -import org.apache.jmeter.testelement.AbstractTestElement;
>>  import org.apache.jmeter.threads.JMeterContext;
>>  import org.apache.jmeter.threads.JMeterContextService;
>>  import org.apache.jmeter.threads.JMeterVariables;
>> @@ -38,7 +37,7 @@ import org.apache.jorphan.logging.Loggin
>>  import org.apache.jorphan.util.JOrphanUtils;
>>  import org.apache.log.Logger;
>>
>> -public abstract class BSFTestElement extends AbstractTestElement
>> +public abstract class BSFTestElement extends ScriptingTestElement
>>      implements Serializable, Cloneable
>>  {
>>      private static final long serialVersionUID = 233L;
>> @@ -55,38 +54,8 @@ public abstract class BSFTestElement ext
>>                  new String[]{"js"}); //$NON-NLS-1$
>>      }
>>
>> -    //++ For TestBean implementations only
>> -    private String parameters; // passed to file or script
>> -
>> -    private String filename; // file to source (overrides script)
>> -
>> -    private String script; // script (if file not provided)
>> -
>> -    private String scriptLanguage; // BSF language to use
>> -    //-- For TestBean implementations only
>> -
>>      public BSFTestElement() {
>>          super();
>> -        init();
>> -    }
>> -
>> -    private void init() {
>> -        parameters=""; // ensure variables are not null
>> -        filename="";
>> -        script="";
>> -        scriptLanguage="";
>> -    }
>> -
>> -    protected Object readResolve() {
>> -        init();
>> -        return this;
>> -    }
>> -
>> -    @Override
>> -    public Object clone() {
>> -        BSFTestElement o = (BSFTestElement) super.clone();
>> -        o.init();
>> -       return o;
>>      }
>>
>>      protected BSFManager getManager() throws BSFException {
>> @@ -157,50 +126,4 @@ public abstract class BSFTestElement ext
>>          }
>>      }
>>
>> -    /**
>> -     * Return the script (TestBean version).
>> -     * Must be overridden for subclasses that don't implement TestBean
>> -     * otherwise the clone() method won't work.
>> -     *
>> -     * @return the script to execute
>> -     */
>> -    public String getScript(){
>> -        return script;
>> -    }
>> -
>> -    /**
>> -     * Set the script (TestBean version).
>> -     * Must be overridden for subclasses that don't implement TestBean
>> -     * otherwise the clone() method won't work.
>> -     *
>> -     * @param s the script to execute (may be blank)
>> -     */
>> -    public void setScript(String s){
>> -        script=s;
>> -    }
>> -
>> -    public String getParameters() {
>> -        return parameters;
>> -    }
>> -
>> -    public void setParameters(String s) {
>> -        parameters = s;
>> -    }
>> -
>> -    public String getFilename() {
>> -        return filename;
>> -    }
>> -
>> -    public void setFilename(String s) {
>> -        filename = s;
>> -    }
>> -
>> -    public String getScriptLanguage() {
>> -        return scriptLanguage;
>> -    }
>> -
>> -    public void setScriptLanguage(String s) {
>> -        scriptLanguage = s;
>> -    }
>> -
>>  }
>>
>> Modified:
>> jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java?rev=1406876&r1=1406875&r2=1406876&view=diff
>>
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java
>> (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/util/JSR223TestElement.java
>> Thu Nov  8 00:35:23 2012
>> @@ -39,7 +39,6 @@ import org.apache.commons.io.IOUtils;
>>  import org.apache.commons.lang3.StringUtils;
>>  import org.apache.jmeter.samplers.SampleResult;
>>  import org.apache.jmeter.samplers.Sampler;
>> -import org.apache.jmeter.testelement.AbstractTestElement;
>>  import org.apache.jmeter.testelement.TestStateListener;
>>  import org.apache.jmeter.threads.JMeterContext;
>>  import org.apache.jmeter.threads.JMeterContextService;
>> @@ -48,7 +47,7 @@ import org.apache.jorphan.logging.Loggin
>>  import org.apache.jorphan.util.JOrphanUtils;
>>  import org.apache.log.Logger;
>>
>> -public abstract class JSR223TestElement extends AbstractTestElement
>> +public abstract class JSR223TestElement extends ScriptingTestElement
>>      implements Serializable, Cloneable, TestStateListener
>>  {
>>      /**
>> @@ -67,16 +66,8 @@ public abstract class JSR223TestElement
>>
>>      private static final long serialVersionUID = 233L;
>>
>> -    //++ For TestBean implementations only
>> -    private String parameters; // passed to file or script
>> -
>> -    private String filename; // file to source (overrides script)
>> -
>> -    private String script; // script (if file not provided)
>> -
>> -    private String scriptLanguage; // JSR223 language to use
>> -
>>      private String cacheKey = ""; // If not empty then script in
>> ScriptText will be compiled and cached
>> +
>>      /**
>>       * Cache of compiled scripts
>>       */
>> @@ -84,31 +75,9 @@ public abstract class JSR223TestElement
>>      private static final Map<String, CompiledScript> compiledScriptsCache
>> =
>>              Collections.synchronizedMap(
>>                      new
>> LRUMap(JMeterUtils.getPropDefault("jsr223.compiled_scripts_cache_size",
>> 100)));
>> -    //-- For TestBean implementations only
>>
>>      public JSR223TestElement() {
>>          super();
>> -        init();
>> -    }
>> -
>> -    private void init() {
>> -        parameters=""; // ensure variables are not null
>> -        filename="";
>> -        script="";
>> -        scriptLanguage="";
>> -        cacheKey = "";
>> -    }
>> -
>> -    protected Object readResolve() {
>> -        init();
>> -        return this;
>> -    }
>> -
>> -    @Override
>> -    public Object clone() {
>> -        JSR223TestElement o = (JSR223TestElement) super.clone();
>> -        o.init();
>> -       return o;
>>      }
>>
>>      protected ScriptEngine getScriptEngine() throws ScriptException {
>> @@ -239,52 +208,6 @@ public abstract class JSR223TestElement
>>
>>
>>      /**
>> -     * Return the script (TestBean version).
>> -     * Must be overridden for subclasses that don't implement TestBean
>> -     * otherwise the clone() method won't work.
>> -     *
>> -     * @return the script to execute
>> -     */
>> -    public String getScript(){
>> -        return script;
>> -    }
>> -
>> -    /**
>> -     * Set the script (TestBean version).
>> -     * Must be overridden for subclasses that don't implement TestBean
>> -     * otherwise the clone() method won't work.
>> -     *
>> -     * @param s the script to execute (may be blank)
>> -     */
>> -    public void setScript(String s){
>> -        script=s;
>> -    }
>> -
>> -    public String getParameters() {
>> -        return parameters;
>> -    }
>> -
>> -    public void setParameters(String s) {
>> -        parameters = s;
>> -    }
>> -
>> -    public String getFilename() {
>> -        return filename;
>> -    }
>> -
>> -    public void setFilename(String s) {
>> -        filename = s;
>> -    }
>> -
>> -    public String getScriptLanguage() {
>> -        return scriptLanguage;
>> -    }
>> -
>> -    public void setScriptLanguage(String s) {
>> -        scriptLanguage = s;
>> -    }
>> -
>> -    /**
>>       * @return the cacheKey
>>       */
>>      public String getCacheKey() {
>>
>> Added:
>> jmeter/trunk/src/core/org/apache/jmeter/util/ScriptingTestElement.java
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/util/ScriptingTestElement.java?rev=1406876&view=auto
>>
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/util/ScriptingTestElement.java
>> (added)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/util/ScriptingTestElement.java
>> Thu Nov  8 00:35:23 2012
>> @@ -0,0 +1,91 @@
>> +/*
>> + * Licensed to the Apache Software Foundation (ASF) under one or more
>> + * contributor license agreements.  See the NOTICE file distributed with
>> + * this work for additional information regarding copyright ownership.
>> + * The ASF licenses this file to You 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.util;
>> +
>> +import org.apache.jmeter.testelement.AbstractTestElement;
>> +
>> +/**
>> + * Common parent class for the {@link BSFTestElement} and {@link
>> JSR223TestElement} scripting test elements.
>> + * These also share the {@link ScriptingBeanInfoSupport} class for
>> configuration.
>> + */
>> +public abstract class ScriptingTestElement extends AbstractTestElement {
>> +
>> +    private static final long serialVersionUID = 281L;
>> +
>> +    //++ For TestBean implementations only
>> +    private String parameters = ""; // passed to file or script
>> +
>> +    private String filename = ""; // file to source (overrides script)
>> +
>> +    private String script = ""; // script (if file not provided)
>> +
>> +    private String scriptLanguage = ""; // BSF/JSR223 language to use
>> +    //-- For TestBean implementations only
>> +
>> +    public ScriptingTestElement() {
>> +        super();
>> +    }
>> +
>> +    /**
>> +     * Return the script (TestBean version).
>> +     * Must be overridden for subclasses that don't implement TestBean
>> +     * otherwise the clone() method won't work.
>> +     *
>> +     * @return the script to execute
>> +     */
>> +    public String getScript(){
>> +        return script;
>> +    }
>> +
>> +    /**
>> +     * Set the script (TestBean version).
>> +     * Must be overridden for subclasses that don't implement TestBean
>> +     * otherwise the clone() method won't work.
>> +     *
>> +     * @param s the script to execute (may be blank)
>> +     */
>> +    public void setScript(String s){
>> +        script=s;
>> +    }
>> +
>> +    public String getParameters() {
>> +        return parameters;
>> +    }
>> +
>> +    public void setParameters(String s) {
>> +        parameters = s;
>> +    }
>> +
>> +    public String getFilename() {
>> +        return filename;
>> +    }
>> +
>> +    public void setFilename(String s) {
>> +        filename = s;
>> +    }
>> +
>> +    public String getScriptLanguage() {
>> +        return scriptLanguage;
>> +    }
>> +
>> +    public void setScriptLanguage(String s) {
>> +        scriptLanguage = s;
>> +    }
>> +
>> +}
>>
>> Propchange:
>> jmeter/trunk/src/core/org/apache/jmeter/util/ScriptingTestElement.java
>>
>> ------------------------------------------------------------------------------
>>     svn:eol-style = native
>>
>> Propchange:
>> jmeter/trunk/src/core/org/apache/jmeter/util/ScriptingTestElement.java
>>
>> ------------------------------------------------------------------------------
>>     svn:keywords = Author Date Id Revision
>>
>> Modified: jmeter/trunk/xdocs/changes.xml
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1406876&r1=1406875&r2=1406876&view=diff
>>
>> ==============================================================================
>> --- jmeter/trunk/xdocs/changes.xml (original)
>> +++ jmeter/trunk/xdocs/changes.xml Thu Nov  8 00:35:23 2012
>> @@ -182,6 +182,7 @@ and right angle bracket (&gt;) in search
>>  <ul>
>>  <li><bugzilla>53956</bugzilla> - Add ability to paste (a list
of values)
>> from clipboard for Header Manager</li>
>>  <li>Updated to HttpComponents Client 4.2.2 (from 4.2.1)</li>
>> +<li><bugzilla>54110</bugzilla> - BSFTestElement and JSR223TestElement
>> should use shared super-class for common fields</li>
>>  </ul>
>>
>>  </section>
>>
>>
>>
>
>
> --
> Cordialement.
> Philippe Mouawad.

Mime
View raw message