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 2016/01/14 14:47:34 UTC
svn commit: r1724608 - in /jmeter/trunk:
src/core/org/apache/jmeter/config/gui/ src/core/org/apache/jmeter/resources/
src/protocol/http/org/apache/jmeter/protocol/http/gui/ xdocs/
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() {
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>
Re: svn commit: r1724608 - in /jmeter/trunk: src/core/org/apache/jmeter/config/gui/
src/core/org/apache/jmeter/resources/ src/protocol/http/org/apache/jmeter/protocol/http/gui/
xdocs/
Posted by Philippe Mouawad <ph...@gmail.com>.
Sorry guys, I am not concentrated at all this evening.
I will rollback and think about it later.
On Thu, Jan 14, 2016 at 10:15 PM, Felix Schumacher <
felix.schumacher@internetallee.de> wrote:
>
>
> Am 14. Januar 2016 21:44:22 MEZ, schrieb Philippe Mouawad <
> philippe.mouawad@gmail.com>:
> >Fixed in r1724685
>
> Not really. The final method is overridden, which generates a compile
> error. Any reason, why you didn't put the call to init in the constructor?
> That way the init method could have stayed private.
>
> Regards,
> Felix
>
> >Thanks
> >
> >On Thu, Jan 14, 2016 at 9:40 PM, sebb <se...@gmail.com> wrote:
> >
> >> On 14 January 2016 at 13:47, <pm...@apache.org> 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.
Re: svn commit: r1724608 - in /jmeter/trunk: src/core/org/apache/jmeter/config/gui/ src/core/org/apache/jmeter/resources/ src/protocol/http/org/apache/jmeter/protocol/http/gui/ xdocs/
Posted by Felix Schumacher <fe...@internetallee.de>.
Am 14. Januar 2016 21:44:22 MEZ, schrieb Philippe Mouawad <ph...@gmail.com>:
>Fixed in r1724685
Not really. The final method is overridden, which generates a compile error. Any reason, why you didn't put the call to init in the constructor? That way the init method could have stayed private.
Regards,
Felix
>Thanks
>
>On Thu, Jan 14, 2016 at 9:40 PM, sebb <se...@gmail.com> wrote:
>
>> On 14 January 2016 at 13:47, <pm...@apache.org> 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>
>> >
>> >
>>
Re: svn commit: r1724608 - in /jmeter/trunk: src/core/org/apache/jmeter/config/gui/
src/core/org/apache/jmeter/resources/ src/protocol/http/org/apache/jmeter/protocol/http/gui/
xdocs/
Posted by Philippe Mouawad <ph...@gmail.com>.
Fixed in r1724685
Thanks
On Thu, Jan 14, 2016 at 9:40 PM, sebb <se...@gmail.com> wrote:
> On 14 January 2016 at 13:47, <pm...@apache.org> 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.
Re: svn commit: r1724608 - in /jmeter/trunk: src/core/org/apache/jmeter/config/gui/
src/core/org/apache/jmeter/resources/ src/protocol/http/org/apache/jmeter/protocol/http/gui/
xdocs/
Posted by sebb <se...@gmail.com>.
On 14 January 2016 at 13:47, <pm...@apache.org> 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>
>
>