You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by ms...@apache.org on 2003/08/06 21:35:38 UTC

cvs commit: jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler HTTPSampler.java SoapSampler.java

mstover1    2003/08/06 12:35:38

  Modified:    src/core/org/apache/jmeter/config/gui ArgumentsPanel.java
               src/core/org/apache/jmeter/save SaveService.java
               src/core/org/apache/jmeter/testelement/property
                        AbstractProperty.java MapProperty.java
               src/core/org/apache/jmeter/threads JMeterContext.java
               src/protocol/http/org/apache/jmeter/protocol/http/proxy
                        HttpRequestHdr.java
               src/protocol/http/org/apache/jmeter/protocol/http/sampler
                        HTTPSampler.java SoapSampler.java
  Log:
  Fixing bugs with SOAP Sampler
  adding support for gzip encoding
  fixing bugs with loading jmx files that effected no one but me :-)
  
  Revision  Changes    Path
  1.19      +2 -2      jakarta-jmeter/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
  
  Index: ArgumentsPanel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- ArgumentsPanel.java	25 Jun 2003 20:47:31 -0000	1.18
  +++ ArgumentsPanel.java	6 Aug 2003 19:35:37 -0000	1.19
  @@ -377,7 +377,7 @@
        * Stop any editing that is currently being done on the table.  This will
        * save any changes that have already been made.
        */
  -    private void stopTableEditing()
  +    protected void stopTableEditing()
       {
           if (table.isEditing())
           {
  
  
  
  1.23      +7 -7      jakarta-jmeter/src/core/org/apache/jmeter/save/SaveService.java
  
  Index: SaveService.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/save/SaveService.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- SaveService.java	27 Jun 2003 21:31:49 -0000	1.22
  +++ SaveService.java	6 Aug 2003 19:35:37 -0000	1.23
  @@ -967,11 +967,11 @@
               }
               else if (items[i].getName().equals("testelement"))
               {
  -                coll.add(createTestElement(items[i]));
  +                coll.add(new TestElementProperty(items[i].getAttribute("name"),createTestElement(items[i])));
               }
               else if (items[i].getName().equals("collection"))
               {
  -                coll.add(createCollection(items[i]));
  +                coll.add(new CollectionProperty(items[i].getAttribute("name"),createCollection(items[i])));
               }
               else if (items[i].getName().equals("string"))
               {
  @@ -979,7 +979,7 @@
               }
               else if (items[i].getName().equals("map"))
               {
  -                coll.add(createMap(items[i]));
  +                coll.add(new MapProperty(items[i].getAttribute("name"),createMap(items[i])));
               }
           }
           return coll;
  @@ -1027,17 +1027,17 @@
               {
                   map.put(
                       items[i].getAttribute("name"),
  -                    createTestElement(items[i]));
  +                    new TestElementProperty(items[i].getAttribute("name"),createTestElement(items[i])));
               }
               else if (items[i].getName().equals("collection"))
               {
                   map.put(
                       items[i].getAttribute("name"),
  -                    createCollection(items[i]));
  +                    new CollectionProperty(items[i].getAttribute("name"),createCollection(items[i])));
               }
               else if (items[i].getName().equals("map"))
               {
  -                map.put(items[i].getAttribute("name"), createMap(items[i]));
  +                map.put(items[i].getAttribute("name"), new MapProperty(items[i].getAttribute("name"),createMap(items[i])));
               }
           }
           return map;
  
  
  
  1.11      +2 -2      jakarta-jmeter/src/core/org/apache/jmeter/testelement/property/AbstractProperty.java
  
  Index: AbstractProperty.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/testelement/property/AbstractProperty.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- AbstractProperty.java	16 Jul 2003 15:30:15 -0000	1.10
  +++ AbstractProperty.java	6 Aug 2003 19:35:37 -0000	1.11
  @@ -433,7 +433,7 @@
                       log.error("Bad collection", e);
                   }
               }
  -            newColl.put(item, convertObject(item));
  +            newColl.put(item, convertObject(prop));
           }
           if (newColl != null)
           {
  
  
  
  1.11      +3 -1      jakarta-jmeter/src/core/org/apache/jmeter/testelement/property/MapProperty.java
  
  Index: MapProperty.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/testelement/property/MapProperty.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- MapProperty.java	16 Jul 2003 13:12:11 -0000	1.10
  +++ MapProperty.java	6 Aug 2003 19:35:37 -0000	1.11
  @@ -69,7 +69,9 @@
       public MapProperty(String name, Map value)
       {
           super(name);
  +        log.info("map = " + value);
           this.value = normalizeMap(value);
  +        log.info("normalized map = "+this.value);
       }
   
       public MapProperty()
  
  
  
  1.10      +12 -1     jakarta-jmeter/src/core/org/apache/jmeter/threads/JMeterContext.java
  
  Index: JMeterContext.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/threads/JMeterContext.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- JMeterContext.java	3 Aug 2003 18:19:19 -0000	1.9
  +++ JMeterContext.java	6 Aug 2003 19:35:38 -0000	1.10
  @@ -14,6 +14,7 @@
       Sampler previousSampler;
       boolean samplingStarted;
       private int threadNum;
  +    private byte[] readBuffer = null;
   
       JMeterContext()
       {
  @@ -31,11 +32,21 @@
           previousSampler = null;
           samplingStarted = false;
           threadNum = 0;
  +        readBuffer = null;
       }
   
       public JMeterVariables getVariables()
       {
           return variables;
  +    }
  +    
  +    public byte[] getReadBuffer()
  +    {
  +        if(readBuffer == null)
  +        {
  +            readBuffer = new byte[8192];
  +        }
  +        return  readBuffer;
       }
   
       public void setVariables(JMeterVariables vars)
  
  
  
  1.14      +3 -4      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
  
  Index: HttpRequestHdr.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- HttpRequestHdr.java	20 Jun 2003 14:15:35 -0000	1.13
  +++ HttpRequestHdr.java	6 Aug 2003 19:35:38 -0000	1.14
  @@ -142,8 +142,7 @@
           {
               String key = (String) keys.next();
               if (!key.equals("proxy-connection")
  -                && !key.equals("content-length")
  -                && !key.equals("accept-encoding"))
  +                && !key.equals("content-length"))
               {
                   manager.add((Header) headers.get(key));
               }
  
  
  
  1.47      +33 -25    jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
  
  Index: HTTPSampler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- HTTPSampler.java	18 Jul 2003 14:38:01 -0000	1.46
  +++ HTTPSampler.java	6 Aug 2003 19:35:38 -0000	1.47
  @@ -63,6 +63,7 @@
   import java.net.URL;
   import java.net.URLConnection;
   import java.util.ArrayList;
  +import java.util.zip.GZIPInputStream;
   
   import org.apache.jmeter.config.Argument;
   import org.apache.jmeter.config.Arguments;
  @@ -82,6 +83,7 @@
   import org.apache.jmeter.testelement.property.PropertyIterator;
   import org.apache.jmeter.testelement.property.StringProperty;
   import org.apache.jmeter.testelement.property.TestElementProperty;
  +import org.apache.jmeter.threads.JMeterContextService;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.util.SSLManager;
   import org.apache.jorphan.logging.LoggingManager;
  @@ -138,11 +140,10 @@
       private static final PostWriter postWriter = new PostWriter();
       transient protected HttpURLConnection conn;
       private HTTPSamplerFull imageSampler;
  -    
  -    static
  -    {
  -        System.setProperty("java.protocol.handler.pkgs", JMeterUtils.getPropDefault("ssl.pkgs","com.sun.net.ssl.internal.www.protocol"));
  -                System.setProperty("javax.net.ssl.debug", "all");
  +
  +    static {
  +        System.setProperty("java.protocol.handler.pkgs", JMeterUtils.getPropDefault("ssl.pkgs", "com.sun.net.ssl.internal.www.protocol"));
  +        System.setProperty("javax.net.ssl.debug", "all");
       }
   
       private static PatternCacheLRU patternCache = new PatternCacheLRU(1000, new Perl5Compiler());
  @@ -476,7 +477,7 @@
           {
               pathAndQuery = "/" + pathAndQuery;
           }
  -        if (getPort() == UNSPECIFIED_PORT || getPort() == 80 )
  +        if (getPort() == UNSPECIFIED_PORT || getPort() == 80)
           {
               return new URL(getProtocol(), getDomain(), pathAndQuery);
           }
  @@ -502,9 +503,9 @@
               {
                   item = (HTTPArgument) iter.next().getObjectValue();
               }
  -            catch(ClassCastException e)
  +            catch (ClassCastException e)
               {
  -                item = new HTTPArgument((Argument)iter.next().getObjectValue());
  +                item = new HTTPArgument((Argument) iter.next().getObjectValue());
               }
               if (!first)
               {
  @@ -602,14 +603,14 @@
           conn.setRequestMethod(method);
           setConnectionHeaders(conn, u, getHeaderManager());
           String cookies = setConnectionCookie(conn, u, getCookieManager());
  -		if (res!=null)
  -		{
  -			StringBuffer sb = new StringBuffer();
  -			sb.append(this.toString());
  -			sb.append("\nCookie Data:\n");
  -			sb.append(cookies);
  -			res.setSamplerData(sb.toString());
  -		}
  +        if (res != null)
  +        {
  +            StringBuffer sb = new StringBuffer();
  +            sb.append(this.toString());
  +            sb.append("\nCookie Data:\n");
  +            sb.append(cookies);
  +            res.setSamplerData(sb.toString());
  +        }
           setConnectionAuthorization(conn, u, getAuthManager());
           return conn;
       }
  @@ -687,11 +688,18 @@
        ***************************************/
       protected byte[] readResponse(HttpURLConnection conn) throws IOException
       {
  -        byte[] buffer = new byte[4096];
  +        byte[] readBuffer = JMeterContextService.getContext().getReadBuffer();
           BufferedInputStream in;
           try
           {
  -            in = new BufferedInputStream(conn.getInputStream());
  +            if (conn.getContentEncoding() != null && conn.getContentEncoding().equals("gzip"))
  +            {
  +                in = new BufferedInputStream(new GZIPInputStream(conn.getInputStream()));
  +            }
  +            else
  +            {
  +                in = new BufferedInputStream(conn.getInputStream());
  +            }
           }
           catch (Exception e)
           {
  @@ -699,9 +707,9 @@
           }
           java.io.ByteArrayOutputStream w = new ByteArrayOutputStream();
           int x = 0;
  -        while ((x = in.read(buffer)) > -1)
  +        while ((x = in.read(readBuffer)) > -1)
           {
  -            w.write(buffer, 0, x);
  +            w.write(readBuffer, 0, x);
           }
           in.close();
           w.flush();
  @@ -749,7 +757,7 @@
        ***************************************/
       private String setConnectionCookie(HttpURLConnection conn, URL u, CookieManager cookieManager)
       {
  -    	String cookieHeader=null;
  +        String cookieHeader = null;
           if (cookieManager != null)
           {
               cookieHeader = cookieManager.getCookieHeaderForURL(u);
  @@ -933,7 +941,7 @@
               u = getUrl();
               res.setSampleLabel(getName());
               // specify the data to the result.
  -//            res.setSamplerData(this.toString());
  +            //            res.setSamplerData(this.toString());
               /****************************************
                * END - cached logging hack
                ***************************************/
  @@ -980,7 +988,7 @@
                   }
                   else
                   {
  -                    time = bundleResponseInResult(time,res,conn);//System.currentTimeMillis() - time;
  +                    time = bundleResponseInResult(time, res, conn); //System.currentTimeMillis() - time;
                       redirectUrl(conn, u);
                       SampleResult redirectResult = sample(redirects + 1);
                       res.addSubResult(redirectResult);
  
  
  
  1.5       +26 -2     jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/SoapSampler.java
  
  Index: SoapSampler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/SoapSampler.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SoapSampler.java	3 Aug 2003 13:34:04 -0000	1.4
  +++ SoapSampler.java	6 Aug 2003 19:35:38 -0000	1.5
  @@ -91,7 +91,14 @@
               setPort(url.getPort());
               setProtocol(url.getProtocol());
               setMethod(POST);
  -            setPath(url.getPath());
  +            if(url.getQuery() != null && url.getQuery().compareTo("") != 0)
  +            {
  +                setPath(url.getPath() + "?" + url.getQuery());
  +            }
  +            else
  +            {
  +                setPath(url.getPath());
  +            }
           }
           catch (MalformedURLException e1)
           {
  @@ -99,6 +106,23 @@
           }
           return super.sample(e);
       }
  +    
  +    public String toString()
  +        {
  +            try
  +            {
  +                String xml = getXmlData();
  +                if(xml.length() > 100)
  +                {
  +                    xml = xml.substring(0,100);
  +                }
  +                return this.getUrl().toString() + "\nXML Data: " + xml;
  +            }
  +            catch (MalformedURLException e)
  +            {
  +                return "";
  +            }
  +        }
   
   }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org