Author: sebb
Date: Fri Nov 16 09:57:13 2007
New Revision: 595760

URL: http://svn.apache.org/viewvc?rev=595760&view=rev
Log:
Add getFileEncoding() method for use by ResultCollector
Inline some methods not called externally.
Remove sampleResult deprecation and replace with requirement to use appropriate 
encoding

Modified:
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java?rev=595760&r1=595759&r2=595760&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java 
(original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java Fri 
Nov 16 09:57:13 2007
@@ -249,19 +249,11 @@
                OutputStreamWriter outputStreamWriter = 
getOutputStreamWriter(out);
                writeXmlHeader(outputStreamWriter);
                // Use deprecated method, to avoid duplicating code
-               saveTree(tree, outputStreamWriter);
-               outputStreamWriter.close();
-       }
-
-    /**
-     * @deprecated Use saveTree(HashTree tree, OutputStream out) instead, which
-     * takes the fileEncoding property of SaveService into consideration
-     */
-       public static void saveTree(HashTree tree, Writer writer) throws 
IOException {
                ScriptWrapper wrapper = new ScriptWrapper();
                wrapper.testPlan = tree;
-               saver.toXML(wrapper, writer);
-               writer.write('\n');// Ensure terminated properly
+               saver.toXML(wrapper, outputStreamWriter);
+               outputStreamWriter.write('\n');// Ensure terminated properly
+               outputStreamWriter.close();
        }
 
        // Used by Test code
@@ -270,48 +262,25 @@
                OutputStreamWriter outputStreamWriter = 
getOutputStreamWriter(out);
                writeXmlHeader(outputStreamWriter);
                // Use deprecated method, to avoid duplicating code
-               saveElement(el, outputStreamWriter);
+               saver.toXML(el, outputStreamWriter);
                outputStreamWriter.close();
        }
 
-       /**
-     * @deprecated Use saveElement(Object el, OutputStream out) instead, which
-     * takes the fileEncoding property of SaveService into consideration
-     */
-       public static void saveElement(Object el, Writer writer) throws 
IOException {
-               saver.toXML(el, writer);
-       }
-
        // Used by Test code
        public static Object loadElement(InputStream in) throws IOException {
                // Get the InputReader to use
                InputStreamReader inputStreamReader = getInputStreamReader(in);
                // Use deprecated method, to avoid duplicating code
-               Object element = loadElement(inputStreamReader);
+               Object element = saver.fromXML(inputStreamReader);
                inputStreamReader.close();
                return element;
        }
 
-       /**
-        * @deprecated Use loadElement(InputStream in) instead, since that takes
-        * the fileEncoding property of SaveService into consideration
-        */
-       public static Object loadElement(Reader in) throws IOException {
-               return saver.fromXML(in);
-       }
-
-       public synchronized static void saveSampleResult(SampleEvent event, 
OutputStream out) throws IOException {
-               // Get the OutputWriter to use
-               OutputStreamWriter outputStreamWriter = 
getOutputStreamWriter(out);
-               writeXmlHeader(outputStreamWriter);
-               // Use deprecated method, to avoid duplicating code
-               saveSampleResult(event, outputStreamWriter);
-               outputStreamWriter.close();
-       }
-
     /**
-     * @deprecated Use saveSampleResult(SampleResult res, OutputStream out) 
instead, which
-     * takes the fileEncoding property of SaveService into consideration
+     * Save a sampleResult to an XML output file using XStream.
+     * 
+     * @param evt sampleResult wrapped in a sampleEvent
+     * @param writer output stream which must be created using [EMAIL 
PROTECTED] #getFileEncoding(String)}
      */
        // Used by ResultCollector#recordResult()
        public synchronized static void saveSampleResult(SampleEvent evt, 
Writer writer) throws IOException {
@@ -319,21 +288,13 @@
                dh.put(SAMPLE_EVENT_OBJECT, evt);
                // This is effectively the same as saver.toXML(Object, Writer) 
except we get to provide the DataHolder
                // Don't know why there is no method for this in the XStream 
class
-               saver.marshal(evt.getResult(), new 
XppDriver().createWriter(writer), dh); // TODO use event when can get 
unmarshall working
+               saver.marshal(evt.getResult(), new 
XppDriver().createWriter(writer), dh);
                writer.write('\n');
        }
 
-       public synchronized static void saveTestElement(TestElement elem, 
OutputStream out) throws IOException {
-               // Get the OutputWriter to use
-               OutputStreamWriter outputStreamWriter = 
getOutputStreamWriter(out);
-               // Use deprecated method, to avoid duplicating code
-               saveTestElement(elem, outputStreamWriter);
-               outputStreamWriter.close();
-       }
-
     /**
-     * @deprecated Use saveTestElement(TestElement elem, OutputStream out) 
instead, which
-     * takes the fileEncoding property of SaveService into consideration
+     * @param elem test element
+     * @param writer output stream which must be created using [EMAIL 
PROTECTED] #getFileEncoding(String)}
      */
        // Used by ResultCollector#recordStats()
        public synchronized static void saveTestElement(TestElement elem, 
Writer writer) throws IOException {
@@ -469,6 +430,22 @@
                        // We use the default character set encoding of the JRE
                        return new OutputStreamWriter(outStream);
                }
+       }
+       
+       /**
+        * Returns the file Encoding specified in saveservice.properties or the 
default
+        * @param dflt value to return if file encoding was not provided
+        * 
+        * @return file encoding or default
+        */
+       // Used by ResultCollector when creating output files
+       public static String getFileEncoding(String dflt){
+               if(fileEncoding != null && fileEncoding.length() > 0) {
+                       return fileEncoding;
+               }
+               else {
+                       return dflt;
+               }               
        }
        
        private static Charset getFileEncodingCharset() {



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

Reply via email to