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