@SuppressWarnings("boxing")
public void setupTabPane() {
// Clear all data before display a new
this.clearData();
StyledDocument statsDoc = stats.getStyledDocument();
try {
if (userObject instanceof SampleResult) {
sampleResult = (SampleResult) userObject;
// We are displaying a SampleResult
setupTabPaneForSampleResult();
requestPanel.setSamplerResult(sampleResult);
final String samplerClass = sampleResult.getClass().getName();
String typeResult = samplerClass.substring(1 + samplerClass.lastIndexOf('.'));
StringBuilder statsBuff = new StringBuilder(200);
statsBuff.append(JMeterUtils.getResString("view_results_thread_name")).append(sampleResult.getThreadName()).append(NL); //$NON-NLS-1$
String startTime = dateFormat.format(new Date(sampleResult.getStartTime()));
statsBuff.append(JMeterUtils.getResString("view_results_sample_start")).append(startTime).append(NL); //$NON-NLS-1$
statsBuff.append(JMeterUtils.getResString("view_results_load_time")).append(sampleResult.getTime()).append(NL); //$NON-NLS-1$
statsBuff.append(JMeterUtils.getResString("view_results_latency")).append(sampleResult.getLatency()).append(NL); //$NON-NLS-1$
statsBuff.append(JMeterUtils.getResString("view_results_size_in_bytes")).append(sampleResult.getBytes()).append(NL); //$NON-NLS-1$
statsBuff.append(JMeterUtils.getResString("view_results_size_headers_in_bytes")).append(sampleResult.getHeadersSize()).append(NL); //$NON-NLS-1$
statsBuff.append(JMeterUtils.getResString("view_results_size_body_in_bytes")).append(sampleResult.getBodySize()).append(NL); //$NON-NLS-1$
statsBuff.append(JMeterUtils.getResString("view_results_sample_count")).append(sampleResult.getSampleCount()).append(NL); //$NON-NLS-1$
statsBuff.append(JMeterUtils.getResString("view_results_error_count")).append(sampleResult.getErrorCount()).append(NL); //$NON-NLS-1$
statsDoc.insertString(statsDoc.getLength(), statsBuff.toString(), null);
statsBuff.setLength(0); // reset for reuse
String responseCode = sampleResult.getResponseCode();
int responseLevel = 0;
if (responseCode != null) {
try {
responseLevel = Integer.parseInt(responseCode) / 100;
} catch (NumberFormatException numberFormatException) {
// no need to change the foreground color
}
}
Style style = null;
switch (responseLevel) {
case 3:
style = statsDoc.getStyle(STYLE_REDIRECT);
break;
case 4:
style = statsDoc.getStyle(STYLE_CLIENT_ERROR);
break;
case 5:
style = statsDoc.getStyle(STYLE_SERVER_ERROR);
break;
default: // quieten Findbugs
break; // default - do nothing
}
statsBuff.append(JMeterUtils.getResString("view_results_response_code")).append(responseCode).append(NL); //$NON-NLS-1$
statsDoc.insertString(statsDoc.getLength(), statsBuff.toString(), style);
statsBuff.setLength(0); // reset for reuse
// response message label
String responseMsgStr = sampleResult.getResponseMessage();
statsBuff.append(JMeterUtils.getResString("view_results_response_message")).append(responseMsgStr).append(NL); //$NON-NLS-1$
statsBuff.append(NL);
statsBuff.append(JMeterUtils.getResString("view_results_response_headers")).append(NL); //$NON-NLS-1$
statsBuff.append(sampleResult.getResponseHeaders()).append(NL);
statsBuff.append(NL);
statsBuff.append(typeResult + " "+ JMeterUtils.getResString("view_results_fields")).append(NL); //$NON-NLS-1$ $NON-NLS-2$
statsBuff.append("ContentType: ").append(sampleResult.getContentType()).append(NL); //$NON-NLS-1$
statsBuff.append("DataEncoding: ").append(sampleResult.getDataEncodingNoDefault()).append(NL); //$NON-NLS-1$
statsDoc.insertString(statsDoc.getLength(), statsBuff.toString(), null);
statsBuff = null; // Done
// Tabbed results: fill table
resultModel.addRow(new RowResult(JMeterUtils.getParsedLabel("view_results_thread_name"), sampleResult.getThreadName())); //$NON-NLS-1$
resultModel.addRow(new RowResult(JMeterUtils.getParsedLabel("view_results_sample_start"), startTime)); //$NON-NLS-1$
resultModel.addRow(new RowResult(JMeterUtils.getParsedLabel("view_results_load_time"), sampleResult.getTime())); //$NON-NLS-1$
resultModel.addRow(new RowResult(JMeterUtils.getParsedLabel("view_results_latency"), sampleResult.getLatency())); //$NON-NLS-1$
resultModel.addRow(new RowResult(JMeterUtils.getParsedLabel("view_results_size_in_bytes"), sampleResult.getBytes())); //$NON-NLS-1$
resultModel.addRow(new RowResult(JMeterUtils.getParsedLabel("view_results_size_headers_in_bytes"), sampleResult.getHeadersSize())); //$NON-NLS-1$
resultModel.addRow(new RowResult(JMeterUtils.getParsedLabel("view_results_size_body_in_bytes"), sampleResult.getBodySize())); //$NON-NLS-1$
resultModel.addRow(new RowResult(JMeterUtils.getParsedLabel("view_results_sample_count"), sampleResult.getSampleCount())); //$NON-NLS-1$
resultModel.addRow(new RowResult(JMeterUtils.getParsedLabel("view_results_error_count"), sampleResult.getErrorCount())); //$NON-NLS-1$
resultModel.addRow(new RowResult(JMeterUtils.getParsedLabel("view_results_response_code"), responseCode)); //$NON-NLS-1$
resultModel.addRow(new RowResult(JMeterUtils.getParsedLabel("view_results_response_message"), responseMsgStr)); //$NON-NLS-1$
// Parsed response headers
LinkedHashMap<String, String> lhm = JMeterUtils.parseHeaders(sampleResult.getResponseHeaders());
Set<Entry<String, String>> keySet = lhm.entrySet();
for (Entry<String, String> entry : keySet) {
resHeadersModel.addRow(new RowResult(entry.getKey(), entry.getValue()));
}
// Fields table
resFieldsModel.addRow(new RowResult("Type Result ", typeResult)); //$NON-NLS-1$
//not sure needs I18N?
resFieldsModel.addRow(new RowResult("ContentType", sampleResult.getContentType())); //$NON-NLS-1$
resFieldsModel.addRow(new RowResult("DataEncoding", sampleResult.getDataEncodingNoDefault())); //$NON-NLS-1$
// Reset search
if (activateSearchExtension) {
searchTextExtension.resetTextToFind();
}
} else if (userObject instanceof AssertionResult) {
assertionResult = (AssertionResult) userObject;
// We are displaying an AssertionResult
setupTabPaneForAssertionResult();
StringBuilder statsBuff = new StringBuilder(100);
statsBuff.append(JMeterUtils.getResString("view_results_assertion_error")).append(assertionResult.isError()).append(NL); //$NON-NLS-1$
statsBuff.append(JMeterUtils.getResString("view_results_assertion_failure")).append(assertionResult.isFailure()).append(NL); //$NON-NLS-1$
statsBuff.append(JMeterUtils.getResString("view_results_assertion_failure_message")).append(assertionResult.getFailureMessage()).append(NL); //$NON-NLS-1$
statsDoc.insertString(statsDoc.getLength(), statsBuff.toString(), null);
}
} catch (BadLocationException exc) {
stats.setText(exc.getLocalizedMessage());
}
}