ASF Bugzilla – Attachment 26159 Details for
Bug 37156
Formatted view of Request in Results Tree
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
New proposal patch before commit
draft_patch_V2_bug_37156.patch (text/plain), 14.39 KB, created by
Milamber
on 2010-10-11 18:47:26 UTC
(
hide
)
Description:
New proposal patch before commit
Filename:
MIME Type:
Creator:
Milamber
Created:
2010-10-11 18:47:26 UTC
Size:
14.39 KB
patch
obsolete
>Index: src/core/org/apache/jmeter/resources/messages.properties >=================================================================== >--- src/core/org/apache/jmeter/resources/messages.properties (revision 1021534) >+++ src/core/org/apache/jmeter/resources/messages.properties (working copy) >@@ -989,6 +989,20 @@ > view_results_table_fields_value=Value > view_results_table_headers_key=Response header > view_results_table_headers_value=Value >+view_results_table_request_headers_key=Request header >+view_results_table_request_headers_value=Value >+view_results_table_request_http_cookie=Cookie >+view_results_table_request_http_host=Host >+view_results_table_request_http_method=Method >+view_results_table_request_http_nohttp=No HTTP Sample >+view_results_table_request_http_path=Path >+view_results_table_request_http_port=Port >+view_results_table_request_http_protocol=Protocol >+view_results_table_request_raw_nodata=No data to display >+view_results_table_request_params_key=Parameter name >+view_results_table_request_params_value=Value >+view_results_table_request_tab_http=HTTP >+view_results_table_request_tab_raw=Raw > view_results_table_result_tab_parsed=Parsed > view_results_table_result_tab_raw=Raw > view_results_thread_name=Thread Name: >Index: src/core/org/apache/jmeter/resources/messages_fr.properties >=================================================================== >--- src/core/org/apache/jmeter/resources/messages_fr.properties (revision 1021534) >+++ src/core/org/apache/jmeter/resources/messages_fr.properties (working copy) >@@ -886,6 +886,20 @@ > view_results_table_fields_value=Valeur > view_results_table_headers_key=Ent\u00EAte de r\u00E9ponse > view_results_table_headers_value=Valeur >+view_results_table_request_headers_key=Ent\u00EAte de r\u00E9qu\u00EAte >+view_results_table_request_headers_value=Valeur >+view_results_table_request_http_cookie=Cookie >+view_results_table_request_http_host=H\u00F4te >+view_results_table_request_http_method=M\u00E9thode >+view_results_table_request_http_nohttp=N'est pas un \u00E9chantillon HTTP >+view_results_table_request_http_path=Cheming >+view_results_table_request_http_port=Port >+view_results_table_request_http_protocol=Protocole >+view_results_table_request_raw_nodata=Pas de donn\u00E9es \u00E0 afficher >+view_results_table_request_params_key=Nom de param\u00E8tre >+view_results_table_request_params_value=Valeur >+view_results_table_request_tab_http=HTTP >+view_results_table_request_tab_raw=Brut > view_results_table_result_tab_parsed=D\u00E9cod\u00E9 > view_results_table_result_tab_raw=Brut > view_results_thread_name=Nom d'unit\u00E9 \: >Index: src/core/org/apache/jmeter/util/JMeterUtils.java >=================================================================== >--- src/core/org/apache/jmeter/util/JMeterUtils.java (revision 1006011) >+++ src/core/org/apache/jmeter/util/JMeterUtils.java (working copy) >@@ -33,6 +33,7 @@ > import java.util.Enumeration; > import java.util.Hashtable; > import java.util.Iterator; >+import java.util.LinkedHashMap; > import java.util.List; > import java.util.Locale; > import java.util.MissingResourceException; >@@ -46,7 +47,6 @@ > import javax.swing.JButton; > import javax.swing.JComboBox; > import javax.swing.JOptionPane; >-// import javax.xml.parsers.SAXParserFactory; > > import org.apache.commons.io.IOUtils; > import org.apache.jmeter.gui.GuiPackage; >@@ -464,6 +464,18 @@ > } > > /** >+ * To get I18N label from properties file >+ * >+ * @param key >+ * in messages.properties >+ * @return I18N label without (if exists) last colon ':' and spaces >+ */ >+ public static String getParsedLabel(String key) { >+ String value = JMeterUtils.getResString(key); >+ return value.replaceFirst("(?m)\\s*?:\\s*$", ""); // $NON-NLS-1$ $NON-NLS-2$ >+ } >+ >+ /** > * Get the locale name as a resource. > * Does not log an error if the resource does not exist. > * This is needed to support additional locales, as they won't be in existing messages files. >@@ -1202,4 +1214,27 @@ > localHostName=localHost.getHostName(); > localHostFullName=localHost.getCanonicalHostName(); > } >+ >+ /** >+ * Split line into name/value pairs and remove colon ':' >+ * >+ * @param headers >+ * multi-line string headers >+ * @return a map name/value for each header >+ */ >+ public static LinkedHashMap<String, String> parseHeaders(String headers) { >+ LinkedHashMap<String, String> linkedHeaders = new LinkedHashMap<String, String>(); >+ String[] list = headers.split("\n"); // $NON-NLS-1$ >+ for (String header : list) { >+ int colon = header.indexOf(':'); // $NON-NLS-1$ >+ if (colon <= 0) { >+ linkedHeaders.put(header, ""); // Empty value // $NON-NLS-1$ >+ } else { >+ linkedHeaders.put(header.substring(0, colon).trim(), header >+ .substring(colon + 1).trim()); >+ } >+ } >+ return linkedHeaders; >+ } >+ > } >Index: src/components/org/apache/jmeter/visualizers/SamplerResultTab.java >=================================================================== >--- src/components/org/apache/jmeter/visualizers/SamplerResultTab.java (revision 1021534) >+++ src/components/org/apache/jmeter/visualizers/SamplerResultTab.java (working copy) >@@ -38,7 +38,6 @@ > import javax.swing.JSplitPane; > import javax.swing.JTabbedPane; > import javax.swing.JTable; >-import javax.swing.JTextArea; > import javax.swing.JTextPane; > import javax.swing.table.TableCellRenderer; > import javax.swing.table.TableColumn; >@@ -57,6 +56,10 @@ > import org.apache.jorphan.gui.RendererUtils; > import org.apache.jorphan.reflect.Functor; > >+/** >+ * Right side in View Results Tree >+ * >+ */ > public abstract class SamplerResultTab implements ResultRenderer { > > // N.B. these are not multi-threaded, so don't make it static >@@ -71,6 +74,8 @@ > public static final Color REDIRECT_COLOR = Color.green; > > protected static final String TEXT_COMMAND = "text"; // $NON-NLS-1$ >+ >+ protected static final String REQUEST_VIEW_COMMAND = "change_request_view"; // $NON-NLS-1$ > > private static final String STYLE_SERVER_ERROR = "ServerError"; // $NON-NLS-1$ > >@@ -86,9 +91,7 @@ > > private JLabel imageLabel; > >- private JPanel requestPane; >- >- private JTextArea sampleDataField; /** request pane content */ >+ private RequestPanel requestPanel; /** request pane content */ > > protected JTabbedPane rightSide; /** holds the tabbed panes */ > >@@ -187,13 +190,13 @@ > > public void clearData() { > results.setText("");// Response Data // $NON-NLS-1$ >- sampleDataField.setText("");// Request Data // $NON-NLS-1$ >+ requestPanel.clearData();// Request Data // $NON-NLS-1$ > } > > public void init() { > rightSide.addTab(JMeterUtils.getResString("view_results_tab_sampler"), createResponseMetadataPanel()); // $NON-NLS-1$ > // Create the panels for the other tabs >- requestPane = createRequestPanel(); >+ requestPanel = new RequestPanel(); > resultsPane = createResponseDataPanel(); > } > >@@ -201,29 +204,15 @@ > public void setupTabPane() { > StyledDocument statsDoc = stats.getStyledDocument(); > try { >+ // Clear data before display a new > statsDoc.remove(0, statsDoc.getLength()); >- sampleDataField.setText(""); // $NON-NLS-1$ >+ requestPanel.clearData(); > results.setText(""); // $NON-NLS-1$ > if (userObject instanceof SampleResult) { > sampleResult = (SampleResult) userObject; > // We are displaying a SampleResult > setupTabPaneForSampleResult(); >- >- // load time label >- String sd = sampleResult.getSamplerData(); >- if (sd != null) { >- String rh = sampleResult.getRequestHeaders(); >- if (rh != null) { >- StringBuilder sb = new StringBuilder(sd.length() + rh.length() + 20); >- sb.append(sd); >- sb.append("\n"); //$NON-NLS-1$ >- sb.append(JMeterUtils.getResString("view_results_request_headers")); //$NON-NLS-1$ >- sb.append("\n"); //$NON-NLS-1$ >- sb.append(rh); >- sd = sb.toString(); >- } >- sampleDataField.setText(sd); >- } >+ requestPanel.setSamplerResult(sampleResult); > > final String samplerClass = sampleResult.getClass().getName(); > String typeResult = samplerClass.substring(1 + samplerClass.lastIndexOf('.')); >@@ -285,19 +274,19 @@ > // Tabbed results > resultModel.clearData(); // clear results table before filling > // fill table >- resultModel.addRow(new RowResult(getParsedLabel("view_results_thread_name"), sampleResult.getThreadName())); //$NON-NLS-1$ >- resultModel.addRow(new RowResult(getParsedLabel("view_results_sample_start"), startTime)); //$NON-NLS-1$ >- resultModel.addRow(new RowResult(getParsedLabel("view_results_load_time"), sampleResult.getTime())); //$NON-NLS-1$ >- resultModel.addRow(new RowResult(getParsedLabel("view_results_latency"), sampleResult.getLatency())); //$NON-NLS-1$ >- resultModel.addRow(new RowResult(getParsedLabel("view_results_size_in_bytes"), sampleResult.getBytes())); //$NON-NLS-1$ >- resultModel.addRow(new RowResult(getParsedLabel("view_results_sample_count"), sampleResult.getSampleCount())); //$NON-NLS-1$ >- resultModel.addRow(new RowResult(getParsedLabel("view_results_error_count"), sampleResult.getErrorCount())); //$NON-NLS-1$ >- resultModel.addRow(new RowResult(getParsedLabel("view_results_response_code"), responseCode)); //$NON-NLS-1$ >- resultModel.addRow(new RowResult(getParsedLabel("view_results_response_message"), responseMsgStr)); //$NON-NLS-1$ >+ 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_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$ > > resHeadersModel.clearData(); // clear response table before filling > // Parsed response headers >- LinkedHashMap<String, String> lhm = parseResponseHeaders(sampleResult.getResponseHeaders()); >+ LinkedHashMap<String, String> lhm = JMeterUtils.parseHeaders(sampleResult.getResponseHeaders()); > Set<String> keySet = lhm.keySet(); > for (String key : keySet) { > resHeadersModel.addRow(new RowResult(key, lhm.get(key))); >@@ -341,7 +330,7 @@ > rightSide.setTitleAt(0, JMeterUtils.getResString("view_results_tab_sampler")); //$NON-NLS-1$ > // Add the other tabs if not present > if(rightSide.indexOfTab(JMeterUtils.getResString("view_results_tab_request")) < 0) { // $NON-NLS-1$ >- rightSide.addTab(JMeterUtils.getResString("view_results_tab_request"), requestPane); // $NON-NLS-1$ >+ rightSide.addTab(JMeterUtils.getResString("view_results_tab_request"), requestPanel.getPanel()); // $NON-NLS-1$ > } > if(rightSide.indexOfTab(JMeterUtils.getResString("view_results_tab_response")) < 0) { // $NON-NLS-1$ > rightSide.addTab(JMeterUtils.getResString("view_results_tab_response"), resultsPane); // $NON-NLS-1$ >@@ -444,17 +433,6 @@ > return panel; > } > >- private JPanel createRequestPanel() { >- sampleDataField = new JTextArea(); >- sampleDataField.setEditable(false); >- sampleDataField.setLineWrap(true); >- sampleDataField.setWrapStyleWord(true); >- >- JPanel pane = new JPanel(new BorderLayout(0, 5)); >- pane.add(GuiUtils.makeScrollPane(sampleDataField)); >- return pane; >- } >- > private JPanel createResponseDataPanel() { > results = new JEditorPane(); > results.setEditable(false); >@@ -506,39 +484,11 @@ > this.backGround = backGround; > } > >- /** >- * To get I18N label from properties file >- * @param key in messages.properties >- * @return I18N label without (if exists) last colon ':' and spaces >- */ >- private String getParsedLabel(String key) { >- String value = JMeterUtils.getResString(key); >- return value.replaceFirst("(?m)\\s*?:\\s*$", ""); // $NON-NLS-1$ $NON-NLS-2$ >- } >- > private void setFirstColumnPreferredSize(JTable table) { > TableColumn column = table.getColumnModel().getColumn(0); > column.setMaxWidth(300); > column.setPreferredWidth(180); > } >- >- /** >- * Split line into name/value pairs and remove colon ':' >- */ >- private LinkedHashMap<String, String> parseResponseHeaders(String responseHeaders) { >- LinkedHashMap<String, String> linkedHeaders = new LinkedHashMap<String, String>(); >- String[] list = responseHeaders.split(NL); >- for (String header : list) { >- int colon = header.indexOf(':'); // $NON-NLS-1$ >- if (colon <= 0) { >- linkedHeaders.put(header, ""); // Empty value // $NON-NLS-1$ >- } else { >- linkedHeaders.put(header.substring(0, colon).trim(), header >- .substring(colon + 1).trim()); >- } >- } >- return linkedHeaders; >- } > > /** > * For model table >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 37156
:
25920
|
25921
|
25922
|
26158
| 26159