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 se...@apache.org on 2009/09/23 16:47:49 UTC

svn commit: r818125 - /jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java

Author: sebb
Date: Wed Sep 23 14:47:49 2009
New Revision: 818125

URL: http://svn.apache.org/viewvc?rev=818125&view=rev
Log:
Add utility method setResponseData(text, encoding) for samplers that generate strings rather than bytes.

Modified:
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java?rev=818125&r1=818124&r2=818125&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java Wed Sep 23 14:47:49 2009
@@ -22,6 +22,7 @@
 import java.io.UnsupportedEncodingException;
 import java.net.HttpURLConnection;
 import java.net.URL;
+import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -527,6 +528,27 @@
     }
 
     /**
+     * Sets the encoding and responseData attributes of the SampleResult object.
+     *
+     * @param response the new responseData value (String)
+     * @param encoding the encoding to set and then use (if null, use platform default)
+     *
+     */
+    public void setResponseData(final String response, final String encoding) {
+        String defaultEncodingName = Charset.defaultCharset().name();
+        String encodeUsing = encoding != null? encoding : defaultEncodingName; 
+        try {
+            responseData = response.getBytes(encodeUsing);
+            setDataEncoding(encodeUsing);
+        } catch (UnsupportedEncodingException e) {
+            log.warn("Could not convert string using "+encodeUsing+
+                    ", using default encoding: "+defaultEncodingName+" "+e.getLocalizedMessage());
+            responseData = response.getBytes();
+            setDataEncoding(defaultEncodingName);
+        }
+    }
+
+    /**
      * Gets the responseData attribute of the SampleResult object.
      * <p>
      * Note that some samplers may not store all the data, in which case



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