You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2017/01/30 18:28:30 UTC

svn commit: r1780958 - /jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultSaver.java

Author: pmouawad
Date: Mon Jan 30 18:28:30 2017
New Revision: 1780958

URL: http://svn.apache.org/viewvc?rev=1780958&view=rev
Log:
Remove commented code
Synchronize correctly
Follow Java recommendation on order of declarations
Remove TODO

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultSaver.java

Modified: jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultSaver.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultSaver.java?rev=1780958&r1=1780957&r2=1780958&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultSaver.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/reporters/ResultSaver.java Mon Jan 30 18:28:30 2017
@@ -44,7 +44,6 @@ import org.apache.log.Logger;
  * This is mainly intended for validation tests
  *
  */
-// TODO - perhaps save other items such as headers?
 public class ResultSaver extends AbstractTestElement implements Serializable, SampleListener {
     private static final Logger log = LoggingManager.getLoggerForClass();
 
@@ -52,6 +51,8 @@ public class ResultSaver extends Abstrac
 
     private static final Object LOCK = new Object();
 
+    private static final String TIMESTAMP_FORMAT = "yyyyMMdd-HHmm_"; // $NON-NLS-1$
+
     // File name sequence number
     //@GuardedBy("LOCK")
     private static long sequenceNumber = 0;
@@ -59,8 +60,6 @@ public class ResultSaver extends Abstrac
     //@GuardedBy("LOCK")
     private static String timeStamp;
 
-    private static final String TIMESTAMP_FORMAT = "yyyyMMdd-HHmm_"; // $NON-NLS-1$
-
     //@GuardedBy("LOCK")
     private static int numberPadLength;
 
@@ -84,11 +83,7 @@ public class ResultSaver extends Abstrac
 
     //- JMX property names
 
-    private synchronized long nextNumber() {
-        return ++sequenceNumber;
-    }
-
-    /*
+    /**
      * Constructor is initially called once for each occurrence in the test plan
      * For GUI, several more instances are created Then clear is called at start
      * of test Called several times during test startup The name will not
@@ -96,21 +91,27 @@ public class ResultSaver extends Abstrac
      */
     public ResultSaver() {
         super();
-        // log.debug(Thread.currentThread().getName());
-        // System.out.println(">> "+me+" "+this.getName()+"
-        // "+Thread.currentThread().getName());
     }
 
-    /*
-     * Constructor for use during startup (intended for non-GUI use) @param name
-     * of summariser
+    /**
+     * Constructor for use during startup (intended for non-GUI use) 
+     * @param name of summariser
      */
     public ResultSaver(String name) {
         this();
         setName(name);
     }
 
-    /*
+    /**
+     * @return next number accross all instances
+     */
+    private static long nextNumber() {
+        synchronized(LOCK) {
+            return ++sequenceNumber;
+        }
+    }
+    
+    /**
      * This is called once for each occurrence in the test plan, before the
      * start of the test. The super.clear() method clears the name (and all
      * other properties), so it is called last.
@@ -118,7 +119,7 @@ public class ResultSaver extends Abstrac
     @Override
     public void clear() {
         synchronized(LOCK){
-            sequenceNumber = 0; // TODO is this the right thing to do?
+            sequenceNumber = 0;
             if (getAddTimeStamp()) {
                 DateFormat format = new SimpleDateFormat(TIMESTAMP_FORMAT);
                 timeStamp = format.format(new Date());
@@ -171,7 +172,9 @@ public class ResultSaver extends Abstrac
         }
 
         String fileName = makeFileName(s.getContentType(), getSkipAutoNumber(), getSkipSuffix());
-        log.debug("Saving " + s.getSampleLabel() + " in " + fileName);
+        if(log.isDebugEnabled()) {
+            log.debug("Saving " + s.getSampleLabel() + " in " + fileName);
+        }
         s.setResultFileName(fileName);// Associate sample with file name
         String variable = getVariableName();
         if (variable.length()>0){
@@ -183,20 +186,19 @@ public class ResultSaver extends Abstrac
             JMeterContextService.getContext().getVariables().put(variable, fileName);
         }
         File out = new File(fileName);
-        FileOutputStream pw = null;
-        try {
-            pw = new FileOutputStream(out);
-            JOrphanUtils.write(s.getResponseData(), pw); // chunk the output if necessary
+        try (FileOutputStream fos = new FileOutputStream(out)){
+            JOrphanUtils.write(s.getResponseData(), fos); // chunk the output if necessary
         } catch (FileNotFoundException e1) {
             log.error("Error creating sample file for " + s.getSampleLabel(), e1);
         } catch (IOException e1) {
             log.error("Error saving sample " + s.getSampleLabel(), e1);
-        } finally {
-            JOrphanUtils.closeQuietly(pw);
         }
     }
 
     /**
+     * @param contentType Content type
+     * @param skipAutoNumber Skip auto number
+     * @param skipSuffix Skip suffix
      * @return fileName composed of fixed prefix, a number, and a suffix derived
      *         from the contentType e.g. Content-Type:
      *         text/html;charset=ISO-8859-1