On 4 February 2012 16:54, Philippe Mouawad <philippe.moua...@gmail.com> wrote:
> Hello,
> I Will make it private.

OK, thanks.

> It won't affect binary impl as abstract class returns null so it Will work
> as today.

OK I see.

> Hâve to put it hère not to break current subclasses.
>
> Have I missed something?

No, looks OK.

> Regards
> Philippe
>
> On Saturday, February 4, 2012, sebb <seb...@gmail.com> wrote:
>> On 4 February 2012 15:01,  <pmoua...@apache.org> wrote:
>>> Author: pmouawad
>>> Date: Sat Feb  4 15:01:11 2012
>>> New Revision: 1240514
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1240514&view=rev
>>> Log:
>>> Bug 51737 - TCPSampler : Packet gets converted/corrupted
>>> Added encoding to SampleResult
>>>
>>> Modified:
>>>
>  jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java
>>>
>  jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java
>>>
>  jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java
>>>
>  jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java
>>>
>>> Modified:
> jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java
>>> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java?rev=1240514&r1=1240513&r2=1240514&view=diff
>>>
> ==============================================================================
>>> ---
> jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java
> (original)
>>> +++
> jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java
> Sat Feb  4 15:01:11 2012
>>> @@ -22,7 +22,7 @@ package org.apache.jmeter.protocol.tcp.s
>>>  * Basic implementation of TCPClient interface.
>>>  */
>>>  public abstract class AbstractTCPClient implements TCPClient {
>>> -
>>> +    protected String charset;
>>
>> Could the charset be private?
>> There's a public getter/setter.
>>
>> Also, what is the default value?
>> How will it affect binary implementations?
>>
>>>     protected byte eolByte;
>>>     protected boolean useEolByte = false;
>>>
>>> @@ -57,4 +57,18 @@ public abstract class AbstractTCPClient
>>>     public void teardownTest() {
>>>     }
>>>
>>> +    /**
>>> +     * @return the charset
>>> +     */
>>> +    public String getCharset() {
>>> +        return charset;
>>> +    }
>>> +
>>> +    /**
>>> +     * @param charset the charset to set
>>> +     */
>>> +    public void setCharset(String charset) {
>>> +        this.charset = charset;
>>> +    }
>>> +
>>>  }
>>>
>>> Modified:
> jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java
>>> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java?rev=1240514&r1=1240513&r2=1240514&view=diff
>>>
> ==============================================================================
>>> ---
> jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java
> (original)
>>> +++
> jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java
> Sat Feb  4 15:01:11 2012
>>> @@ -75,6 +75,13 @@ public interface TCPClient {
>>>      * @return Returns the eolByte.
>>>      */
>>>     public byte getEolByte();
>>> +
>>> +
>>> +    /**
>>> +     * Get the charset.
>>> +     * @return Returns the charset.
>>> +     */
>>> +    public String getCharset();
>>>
>>>     /**
>>>      * Set the end-of-line/end-of-message byte.
>>>
>>> Modified:
> jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java
>>> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java?rev=1240514&r1=1240513&r2=1240514&view=diff
>>>
> ==============================================================================
>>> ---
> jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java
> (original)
>>> +++
> jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java
> Sat Feb  4 15:01:11 2012
>>> @@ -57,11 +57,12 @@ public class TCPClientImpl extends Abstr
>>>         if (useEolByte) {
>>>             log.info("Using eolByte=" + eolByte);
>>>         }
>>> -        String charset = JMeterUtils.getProperty("tcp.charset");
>>> -        if(StringUtils.isEmpty(charset)) {
>>> +        setCharset(charset);
>>> +        String configuredCharset =
> JMeterUtils.getProperty("tcp.charset");
>>> +        if(StringUtils.isEmpty(configuredCharset)) {
>>>             log.info("Using platform default charset:"+charset);
>>>         } else {
>>> -            log.info("Using charset:"+charset);
>>> +            log.info("Using charset:"+configuredCharset);
>>>         }
>>>     }
>>>
>>>
>>> Modified:
> jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java
>>> URL:
> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java?rev=1240514&r1=1240513&r2=1240514&view=diff
>>>
> ==============================================================================
>>> ---
> jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java
> (original)
>>> +++
> jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java
> Sat Feb  4 15:01:11 2012
>>> @@ -348,15 +348,15 @@ public class TCPSampler extends Abstract
>>>                 res.setSamplerData(req);
>>>                 protocolHandler.write(os, req);
>>>                 String in = protocolHandler.read(is);
>>> -                isSuccessful = setupSampleResult(res, in, null);
>>> +                isSuccessful = setupSampleResult(res, in, null,
> protocolHandler.getCharset());
>>>             }
>>>         } catch (ReadException ex) {
>>>             log.error("", ex);
>>> -            isSuccessful=setupSampleResult(res,
> ex.getPartialResponse(), ex);
>>> +            isSuccessful=setupSampleResult(res,
> ex.getPartialResponse(), ex,protocolHandler.getCharset());
>>>             closeSocket(socketKey);
>>>         } catch (Exception ex) {
>>>             log.error("", ex);
>>> -            isSuccessful=setupSampleResult(res, "", ex);
>>> +            isSuccessful=setupSampleResult(res, "", ex,
> protocolHandler.getCharset());
>>>             closeSocket(socketKey);
>>>         } finally {
>>>             // Calculate response time
>>> @@ -377,12 +377,14 @@ public class TCPSampler extends Abstract
>>>         * @param sampleResult {@link SampleResult}
>>>         * @param readResponse Response read until error occured
>>>         * @param exception Source exception
>>> +     * @param encoding sample encoding
>>>         * @return boolean if sample is considered as successful
>>>         */
>>>        private boolean setupSampleResult(SampleResult sampleResult,
>>>                        String readResponse,
>>> -                       Exception exception) {
>>> -               sampleResult.setResponseData(readResponse, null);
>>> +                       Exception exception,
>>> +                       String encoding) {
>>> +               sampleResult.setResponseData(readResponse, encoding);
>>>                sampleResult.setDataType(SampleResult.TEXT);
>>>                if(exception==null) {
>>>                        sampleResult.setResponseCodeOK();
>>>
>>>
>>
>
> --
> Cordialement.
> Philippe Mouawad.

Reply via email to