sebb        2004/04/02 14:45:49

  Modified:    src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler Tag:
                        rel-2_0 TCPSampler.java
  Log:
  Use requestData; only instantiate handler once
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.5.2.1   +25 -9     
jakarta-jmeter/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java
  
  Index: TCPSampler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java,v
  retrieving revision 1.5
  retrieving revision 1.5.2.1
  diff -u -r1.5 -r1.5.2.1
  --- TCPSampler.java   30 Mar 2004 18:07:37 -0000      1.5
  +++ TCPSampler.java   2 Apr 2004 22:45:49 -0000       1.5.2.1
  @@ -54,6 +54,7 @@
        public final static String CLASSNAME  = "TCPSampler.classname";//$NON-NLS-1$
        public final static String NODELAY    = "TCPSampler.nodelay";  //$NON-NLS-1$
        public final static String TIMEOUT    = "TCPSampler.timeout";  //$NON-NLS-1$
  +     public final static String REQUEST    = "TCPSampler.request";  //$NON-NLS-1$
   
        private final static String TCPKEY = "TCP"; //$NON-NLS-1$ key for HashMap
        private final static String ERRKEY = "ERR"; //$NON-NLS-1$ key for HashMap
  @@ -67,9 +68,12 @@
                }
        };
   
  +     private TCPClient protocolHandler;
  +     
        public TCPSampler()
        {
                log.debug("Created "+this);
  +             protocolHandler=getProtocol();
        }
   
        private String getError(){
  @@ -147,6 +151,17 @@
        }
   
   
  +     public void setRequestData(String newRequestData)
  +     {
  +             this.setProperty(REQUEST, newRequestData);
  +     }
  +     
  +     public String getRequestData()
  +     {
  +             return getPropertyAsString(REQUEST);
  +     }
  +
  +
        public void setTimeout(String newTimeout)
        {
                this.setProperty(FILENAME, newTimeout);
  @@ -161,6 +176,7 @@
        {
                this.setProperty(NODELAY, newNoDelay);
        }
  +     
        public boolean getNoDelay()
        {
                return getPropertyAsBoolean(NODELAY);
  @@ -211,12 +227,12 @@
           
        }
   
  -    private Object getProtocol(){
  -     Object TCPClient = null;
  +    private TCPClient getProtocol(){
  +     TCPClient TCPClient = null;
        Class javaClass = getClass(getClassname());
                try
                {
  -                     TCPClient = javaClass.newInstance();
  +                     TCPClient = (TCPClient) javaClass.newInstance();
                        if (log.isDebugEnabled())
                        {
                                log.debug(this
  @@ -250,11 +266,11 @@
                        } else {
                                InputStream is = sock.getInputStream();
                                OutputStream os = sock.getOutputStream();
  -                             TCPClient proto = (TCPClient) getProtocol();
  -                     log.debug("Found class "+ proto.toString());
  -                             String req=proto.write(os);
  +                             String req = getRequestData();
  +                             //TODO handle filenames
                                res.setSamplerData(req);
  -                             String in = proto.read(is);
  +                             protocolHandler.write(os,req);
  +                             String in = protocolHandler.read(is);
                    res.setResponseData(in.getBytes());
                    res.setDataType(SampleResult.TEXT);
                    res.setResponseCode("200");
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to