Errors only flag is now supported when loading XML and CSV files

git-svn-id: https://svn.apache.org/repos/asf/jakarta/jmeter/trunk@595172 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Sebastian Bazley 2007-11-15 01:13:31 +00:00
parent 13f0b000a0
commit ada4e79ed7
3 changed files with 16 additions and 7 deletions

View File

@ -193,6 +193,7 @@ public class ResultCollector extends AbstractListenerElement implements SampleLi
boolean parsedOK = false, errorDetected = false;
String filename = getFilename();
File file = new File(filename);
boolean showAll = !isErrorLogging();
if (file.exists()) {
clearVisualizer();
BufferedReader dataReader = null;
@ -216,7 +217,10 @@ public class ResultCollector extends AbstractListenerElement implements SampleLi
while (line != null) { // Already read 1st line
SampleEvent event = CSVSaveService.makeResultFromDelimitedString(line,saveConfig,lineNumber);
if (event != null){
visualizer.add(event.getResult());
final SampleResult result = event.getResult();
if (showAll || !result.isSuccessful()) {
visualizer.add(result);
}
}
line = dataReader.readLine();
lineNumber++;
@ -225,12 +229,12 @@ public class ResultCollector extends AbstractListenerElement implements SampleLi
} else { // We are processing XML
try { // Assume XStream
bufferedInputStream = new BufferedInputStream(new FileInputStream(file));
readSamples(SaveService.loadTestResults(bufferedInputStream), visualizer);
readSamples(SaveService.loadTestResults(bufferedInputStream), visualizer, showAll);
parsedOK = true;
} catch (Exception e) {
log.info("Failed to load "+filename+" using XStream, trying old XML format. Error was: "+e);
try {
OldSaveService.processSamples(filename, visualizer);
OldSaveService.processSamples(filename, visualizer, showAll);
parsedOK = true;
} catch (Exception e1) {
log.warn("Error parsing Avalon XML. " + e1.getLocalizedMessage());
@ -359,12 +363,14 @@ public class ResultCollector extends AbstractListenerElement implements SampleLi
}
// Only called if visualizer is non-null
private void readSamples(TestResultWrapper testResults, Visualizer visualizer) throws Exception {
private void readSamples(TestResultWrapper testResults, Visualizer visualizer, boolean showAll) throws Exception {
Collection samples = testResults.getSampleResults();
Iterator iter = samples.iterator();
while (iter.hasNext()) {
SampleResult result = (SampleResult) iter.next();
visualizer.add(result);
if (showAll || !result.isSuccessful()) {
visualizer.add(result);
}
}
}

View File

@ -473,7 +473,7 @@ public final class OldSaveService {
}
// Called by ResultCollector#loadExistingFile()
public static void processSamples(String filename, Visualizer visualizer)
public static void processSamples(String filename, Visualizer visualizer, boolean showAll)
throws SAXException, IOException, ConfigurationException
{
DefaultConfigurationBuilder cfgbuilder = new DefaultConfigurationBuilder();
@ -481,7 +481,9 @@ public final class OldSaveService {
Configuration[] samples = savedSamples.getChildren();
for (int i = 0; i < samples.length; i++) {
SampleResult result = OldSaveService.getSampleResult(samples[i]);
visualizer.add(result);
if (showAll || !result.isSuccessful()) {
visualizer.add(result);
}
}
}

View File

@ -100,6 +100,7 @@ To change the list of removed headers, define the property proxy.headers.remove
<li>The javaScript function now has access to JMeter variables and context etc. See <a href="usermanual/functions.html#__javaScript">JavaScript function</a></li>
<li>Use drop-down list for BSF Sampler language field</li>
<li>Add hostname to items that can be saved in CSV and XML output files.</li>
<li>Errors only flag is now supported when loading XML and CSV files</li>
</ul>
<h4>Non-functional Improvements</h4>