jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Milamber <milam...@apache.org>
Subject Re: svn commit: r1513863 - in /jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http: control/gui/HttpTestSampleGui.java sampler/HTTPAbstractImpl.java sampler/HTTPSamplerBase.java
Date Thu, 15 Aug 2013 00:00:29 GMT

Le 14/08/2013 14:19, sebb AT ASF a ecrit :
> On 14 August 2013 14:10,  <sebb@apache.org> wrote:
>> Author: sebb
>> Date: Wed Aug 14 13:10:10 2013
>> New Revision: 1513863
>>
>> URL: http://svn.apache.org/r1513863
>> Log:
>> Support device in addition to source IP address
>> Use enum for source types; don't convert between index and name unnecessarily.
>> Bugzilla Id: 54874
> Hopefully the changed code is OK with you all?

Thanks. After some tests (with success), all seems good for me.


>
> It's unlikely we'll need another enum entry for a while, but if we do,
> it should now be quite easy to add.
>
>> Modified:
>>      jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
>>      jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java
>>      jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
>>
>> Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java?rev=1513863&r1=1513862&r2=1513863&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
(original)
>> +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
Wed Aug 14 13:10:10 2013
>> @@ -72,7 +72,7 @@ public class HttpTestSampleGui extends A
>>
>>       private JTextField sourceIpAddr; // does not apply to Java implementation
>>
>> -    private JComboBox sourceIpType = new JComboBox(HTTPSamplerBase.getSourceTypeList().toArray());
>> +    private JComboBox sourceIpType = new JComboBox(HTTPSamplerBase.getSourceTypeList());
>>
>>       private final boolean isAJP;
>>
>> @@ -136,7 +136,7 @@ public class HttpTestSampleGui extends A
>>           samplerBase.setEmbeddedUrlRE(embeddedRE.getText());
>>           if (!isAJP) {
>>               samplerBase.setIpSource(sourceIpAddr.getText());
>> -            samplerBase.setIpSourceType(HTTPSamplerBase.getSourceTypeList().indexOf(sourceIpType.getSelectedItem()));
>> +            samplerBase.setIpSourceType(sourceIpType.getSelectedIndex());
>>           }
>>           this.configureTestElement(sampler);
>>       }
>> @@ -241,8 +241,7 @@ public class HttpTestSampleGui extends A
>>
>>           if (!isAJP) {
>>               // Add a new field source ip address (for HC implementations only)
>> -            sourceIpType.setSelectedItem(HTTPSamplerBase.getSourceTypeList().
>> -                    get(HTTPSamplerBase.SOURCE_TYPE_IP_HOSTNAME));  //default: IP/Hostname
>> +            sourceIpType.setSelectedIndex(HTTPSamplerBase.SourceType.HOSTNAME.ordinal());
//default: IP/Hostname
>>               sourceIpType.setFont(FONT_VERY_SMALL);
>>               sourceAddrPanel.add(sourceIpType);
>>
>> @@ -276,8 +275,7 @@ public class HttpTestSampleGui extends A
>>           embeddedRE.setText(""); // $NON-NLS-1$
>>           if (!isAJP) {
>>               sourceIpAddr.setText(""); // $NON-NLS-1$
>> -            sourceIpType.setSelectedItem(HTTPSamplerBase.getSourceTypeList()
>> -                    .get(HTTPSamplerBase.SOURCE_TYPE_IP_HOSTNAME));
>> +            sourceIpType.setSelectedIndex(HTTPSamplerBase.SourceType.HOSTNAME.ordinal());
//default: IP/Hostname
>>           }
>>       }
>>
>>
>> Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java?rev=1513863&r1=1513862&r2=1513863&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java
(original)
>> +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java
Wed Aug 14 13:10:10 2013
>> @@ -35,6 +35,7 @@ import org.apache.jmeter.protocol.http.c
>>   import org.apache.jmeter.protocol.http.control.CacheManager;
>>   import org.apache.jmeter.protocol.http.control.CookieManager;
>>   import org.apache.jmeter.protocol.http.control.HeaderManager;
>> +import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.SourceType;
>>   import org.apache.jmeter.protocol.http.util.HTTPConstantsInterface;
>>   import org.apache.jmeter.protocol.http.util.HTTPFileArg;
>>   import org.apache.jmeter.samplers.Interruptible;
>> @@ -142,13 +143,6 @@ public abstract class HTTPAbstractImpl i
>>       }
>>
>>       /**
>> -     * Invokes {@link HTTPSamplerBase#getIpSourceType()}
>> -     */
>> -    protected int getIpSourceType() {
>> -        return testElement.getIpSourceType();
>> -    }
>> -
>> -    /**
>>        * Gets the IP source address (IP spoofing) if one has been provided.
>>        *
>>        * @return the IP source address to use (or null, if none provided or the device
address could not be found)
>> @@ -159,16 +153,18 @@ public abstract class HTTPAbstractImpl i
>>           final String ipSource = getIpSource();
>>           if (ipSource.trim().length() > 0) {
>>               Class<? extends InetAddress> ipClass = null;
>> -            switch (getIpSourceType()) {
>> -            case HTTPSamplerBase.SOURCE_TYPE_DEVICE:
>> +            final SourceType sourceType = HTTPSamplerBase.SourceType.values()[testElement.getIpSourceType()];
>> +            switch (sourceType) {
>> +            case DEVICE:
>>                   ipClass = InetAddress.class;
>>                   break;
>> -            case HTTPSamplerBase.SOURCE_TYPE_DEVICE_IPV4:
>> +            case DEVICE_IPV4:
>>                   ipClass = Inet4Address.class;
>>                   break;
>> -            case HTTPSamplerBase.SOURCE_TYPE_DEVICE_IPV6:
>> +            case DEVICE_IPV6:
>>                   ipClass = Inet6Address.class;
>>                   break;
>> +            case HOSTNAME:
>>               default:
>>                   return InetAddress.getByName(ipSource);
>>               }
>>
>> Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java?rev=1513863&r1=1513862&r2=1513863&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
(original)
>> +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
Wed Aug 14 13:10:10 2013
>> @@ -189,22 +189,28 @@ public abstract class HTTPSamplerBase ex
>>
>>       public static final int CONCURRENT_POOL_SIZE = 4; // Default concurrent pool
size for download embedded resources
>>
>> -    public static final int SOURCE_TYPE_IP_HOSTNAME = 0;
>> -
>> -    public static final int SOURCE_TYPE_DEVICE = 1;
>> -
>> -    public static final int SOURCE_TYPE_DEVICE_IPV4 = 2;
>> +    public static enum SourceType {
>> +        HOSTNAME("web_testing_source_ip_hostname"), //$NON-NLS-1$
>> +        DEVICE("web_testing_source_ip_device"), //$NON-NLS-1$
>> +        DEVICE_IPV4("web_testing_source_ip_device_ipv4"), //$NON-NLS-1$
>> +        DEVICE_IPV6("web_testing_source_ip_device_ipv6"); //$NON-NLS-1$
>> +
>> +        public final String propertyName;
>> +        SourceType(String propertyName) {
>> +            this.propertyName = propertyName;
>> +        }
>> +    }
>>
>> -    public static final int SOURCE_TYPE_DEVICE_IPV6 = 3;
>> +    private static final int SOURCE_TYPE_DEFAULT = HTTPSamplerBase.SourceType.HOSTNAME.ordinal();
>>
>>       // Use for ComboBox Source Address Type. Preserve order (specially with localization)
>> -    public static final ArrayList<String> getSourceTypeList() {
>> -        ArrayList<String> sourceTypeList = new ArrayList<String>(4);
>> -        sourceTypeList.add(JMeterUtils.getResString("web_testing_source_ip_hostname"));
//$NON-NLS-1$
>> -        sourceTypeList.add(JMeterUtils.getResString("web_testing_source_ip_device"));
//$NON-NLS-1$
>> -        sourceTypeList.add(JMeterUtils.getResString("web_testing_source_ip_device_ipv4"));
//$NON-NLS-1$
>> -        sourceTypeList.add(JMeterUtils.getResString("web_testing_source_ip_device_ipv6"));
//$NON-NLS-1$
>> -        return sourceTypeList;
>> +    public static final String[] getSourceTypeList() {
>> +        final SourceType[] types = SourceType.values();
>> +        final String[] displayStrings = new String[types.length];
>> +        for(int i = 0; i < types.length; i++) {
>> +            displayStrings[i] = JMeterUtils.getResString(types[i].propertyName);
>> +        }
>> +        return displayStrings;
>>       }
>>
>>       public static final String DEFAULT_METHOD = HTTPConstants.GET; // $NON-NLS-1$
>> @@ -1737,7 +1743,7 @@ public abstract class HTTPSamplerBase ex
>>        * set IP/address source type to use
>>        */
>>       public void setIpSourceType(int value) {
>> -        setProperty(IP_SOURCE_TYPE, value, HTTPSamplerBase.SOURCE_TYPE_IP_HOSTNAME);
>> +        setProperty(IP_SOURCE_TYPE, value, SOURCE_TYPE_DEFAULT);
>>       }
>>
>>       /**
>> @@ -1746,7 +1752,7 @@ public abstract class HTTPSamplerBase ex
>>        * @return address source type
>>        */
>>       public int getIpSourceType() {
>> -        return getPropertyAsInt(IP_SOURCE_TYPE, HTTPSamplerBase.SOURCE_TYPE_IP_HOSTNAME);
>> +        return getPropertyAsInt(IP_SOURCE_TYPE, SOURCE_TYPE_DEFAULT);
>>       }
>>
>>       /**
>>
>>


Mime
View raw message