Fixed in r1724685 Thanks On Thu, Jan 14, 2016 at 9:40 PM, sebb <[email protected]> wrote:
> On 14 January 2016 at 13:47, <[email protected]> wrote: > > Author: pmouawad > > Date: Thu Jan 14 13:47:34 2016 > > New Revision: 1724608 > > > > URL: http://svn.apache.org/viewvc?rev=1724608&view=rev > > Log: > > Bug 58860 - HTTP Request : Add automatic variable generation in HTTP > parameters table by right click > > #resolve #76 > > Bugzilla Id: 58860 > > > > Modified: > > > jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java > > jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties > > > jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties > > > > jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java > > jmeter/trunk/xdocs/changes.xml > > > > Modified: > jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java > > URL: > http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java?rev=1724608&r1=1724607&r2=1724608&view=diff > > > ============================================================================== > > --- > jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java > (original) > > +++ > jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java Thu > Jan 14 13:47:34 2016 > > @@ -674,7 +674,7 @@ public class ArgumentsPanel extends Abst > > /** > > * Initialize the components and layout of this component. > > */ > > - private void init() { > > + protected void init() { > > -1 > > init() is called from the constructor and must not be overridden. > > If such methods are overriden by subclasses, then it's possible that > the subclass will see a partially constructed object. > This can cause all sorts of odd behaviour. > > The init() method must either remain private or be marked final. > > > JPanel p = this; > > > > if (standalone) { > > > > Modified: > jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties > > URL: > http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=1724608&r1=1724607&r2=1724608&view=diff > > > ============================================================================== > > --- > jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties > (original) > > +++ > jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties Thu > Jan 14 13:47:34 2016 > > @@ -1167,6 +1167,7 @@ tr=Turkish > > transaction_controller_include_timers=Include duration of timer and > pre-post processors in generated sample > > transaction_controller_parent=Generate parent sample > > transaction_controller_title=Transaction Controller > > +transform_into_variable=Replace values with variables > > unbind=Thread Unbind > > undo=Undo > > unescape_html_string=String to unescape > > > > Modified: > jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties > > URL: > http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties?rev=1724608&r1=1724607&r2=1724608&view=diff > > > ============================================================================== > > --- > jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties > (original) > > +++ > jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties > Thu Jan 14 13:47:34 2016 > > @@ -1152,6 +1152,7 @@ tr=Turc > > transaction_controller_include_timers=Inclure la dur\u00E9e des > compteurs de temps et pre/post processeurs dans le calcul du temps > > transaction_controller_parent=G\u00E9n\u00E9rer en \u00E9chantillon > parent > > transaction_controller_title=Contr\u00F4leur Transaction > > +transform_into_variable=Remplacer les valeurs par des variables > > unbind=D\u00E9connexion de l'unit\u00E9 > > undo=Annuler > > unescape_html_string=Cha\u00EEne \u00E0 \u00E9chapper > > > > Modified: > jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java > > URL: > http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java?rev=1724608&r1=1724607&r2=1724608&view=diff > > > ============================================================================== > > --- > jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java > (original) > > +++ > jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java > Thu Jan 14 13:47:34 2016 > > @@ -18,11 +18,16 @@ > > > > package org.apache.jmeter.protocol.http.gui; > > > > +import java.awt.event.ActionEvent; > > +import java.awt.event.ActionListener; > > import java.util.Iterator; > > > > +import javax.swing.JMenuItem; > > +import javax.swing.JPopupMenu; > > import javax.swing.JTable; > > > > import org.apache.commons.lang3.BooleanUtils; > > +import org.apache.commons.lang3.StringUtils; > > import org.apache.jmeter.config.Argument; > > import org.apache.jmeter.config.Arguments; > > import org.apache.jmeter.config.gui.ArgumentsPanel; > > @@ -160,6 +165,41 @@ public class HTTPArgumentsPanel extends > > > > return argument; > > } > > + > > + @Override > > + protected void init() { > > + super.init(); > > + > > + // register the right click menu > > + JTable table = getTable(); > > + final JPopupMenu popupMenu = new JPopupMenu(); > > + JMenuItem variabilizeItem = new > JMenuItem(JMeterUtils.getResString("transform_into_variable")); > > + variabilizeItem.addActionListener(new ActionListener() { > > + @Override > > + public void actionPerformed(ActionEvent e) { > > + transformNameIntoVariable(); > > + } > > + }); > > + popupMenu.add(variabilizeItem); > > + table.setComponentPopupMenu(popupMenu); > > + } > > > > + /** > > + * replace the argument value of the selection with a variable > > + * the variable name is derived from the parameter name > > + */ > > + private void transformNameIntoVariable() { > > + int[] rowsSelected = getTable().getSelectedRows(); > > + for (int i = 0; i < rowsSelected.length; i++) { > > + String name = (String) > tableModel.getValueAt(rowsSelected[i], 0); > > + if(StringUtils.isNotBlank(name)) { > > + name = name.trim(); > > + name = name.replaceAll("\\$", "_"); > > + name = name.replaceAll("\\{", "_"); > > + name = name.replaceAll("\\}", "_"); > > + tableModel.setValueAt("${"+name+"}", rowsSelected[i], > 1); > > + } > > + } > > + } > > > > } > > > > Modified: jmeter/trunk/xdocs/changes.xml > > URL: > http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1724608&r1=1724607&r2=1724608&view=diff > > > ============================================================================== > > --- jmeter/trunk/xdocs/changes.xml (original) > > +++ jmeter/trunk/xdocs/changes.xml Thu Jan 14 13:47:34 2016 > > @@ -98,6 +98,7 @@ Summary > > <li><bug>57995</bug>Use FileServer for HTTP Request files. > Implemented by Andrey Pokhilko (andrey at blazemeter.com) and contributed > by BlazeMeter Ltd.</li> > > <li><bug>58811</bug>When pasting arguments between http samplers > the column "Encode" and "Include Equals" are lost. Contributed by Benoit > Wiart (benoit dot wiart at gmail.com)</li> > > <li><bug>58843</bug>Improve the usable space in the HTTP sampler > GUI. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)</li> > > + <li><bug>58860</bug>HTTP Request : Add automatic variable > generation in HTTP parameters table by right click. Contributed by Benoit > Wiart (benoit dot wiart at gmail.com)</li> > > </ul> > > > > <h3>Other samplers</h3> > > > > > -- Cordialement. Philippe Mouawad.
