You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by Felix Schumacher <fe...@internetallee.de> on 2020/08/02 17:14:32 UTC
Re: [jmeter] branch master updated: Bug 64638 - JSON JMESPath Assertion / JSON Assertion: Opening GUI shows a horizontal scrollbar that keeps sliding
Do you know, why this happened? I saw this with Darklaf, only.
Regards
Felix
Am 2. August 2020 19:10:25 MESZ schrieb pmouawad@apache.org:
>This is an automated email from the ASF dual-hosted git repository.
>
>pmouawad pushed a commit to branch master
>in repository https://gitbox.apache.org/repos/asf/jmeter.git
>
>
>The following commit(s) were added to refs/heads/master by this push:
>new c037ee5 Bug 64638 - JSON JMESPath Assertion / JSON Assertion:
>Opening GUI shows a horizontal scrollbar that keeps sliding
>c037ee5 is described below
>
>commit c037ee577a03a895de1b5e0163b34db01e6eb4ac
>Author: pmouawad <p....@ubik-ingenierie.com>
>AuthorDate: Sun Aug 2 19:09:41 2020 +0200
>
>Bug 64638 - JSON JMESPath Assertion / JSON Assertion: Opening GUI shows
> a horizontal scrollbar that keeps sliding
>
>
> Fix issue and rework UI
>---
>.../assertions/gui/JSONPathAssertionGui.java | 63
>+++++++++++++---------
>.../jmespath/gui/JMESPathAssertionGui.java | 43 +++++++++++----
> xdocs/changes.xml | 1 +
> 3 files changed, 71 insertions(+), 36 deletions(-)
>
>diff --git
>a/src/components/src/main/java/org/apache/jmeter/assertions/gui/JSONPathAssertionGui.java
>b/src/components/src/main/java/org/apache/jmeter/assertions/gui/JSONPathAssertionGui.java
>index e3b0b3e..3c9efeb 100644
>---
>a/src/components/src/main/java/org/apache/jmeter/assertions/gui/JSONPathAssertionGui.java
>+++
>b/src/components/src/main/java/org/apache/jmeter/assertions/gui/JSONPathAssertionGui.java
>@@ -19,19 +19,21 @@ package org.apache.jmeter.assertions.gui;
>
> import java.awt.BorderLayout;
>
>-import javax.swing.BorderFactory;
> import javax.swing.JCheckBox;
>+import javax.swing.JPanel;
>+import javax.swing.JTextField;
> import javax.swing.event.ChangeEvent;
> import javax.swing.event.ChangeListener;
>
> import org.apache.jmeter.assertions.JSONPathAssertion;
> import org.apache.jmeter.gui.GUIMenuSortOrder;
> import org.apache.jmeter.gui.TestElementMetadata;
>-import org.apache.jmeter.gui.util.VerticalPanel;
>+import org.apache.jmeter.gui.util.JSyntaxTextArea;
>+import org.apache.jmeter.gui.util.JTextScrollPane;
> import org.apache.jmeter.testelement.TestElement;
> import org.apache.jmeter.util.JMeterUtils;
>-import org.apache.jorphan.gui.JLabeledTextArea;
>-import org.apache.jorphan.gui.JLabeledTextField;
>+
>+import net.miginfocom.swing.MigLayout;
>
> /**
>* Java class representing GUI for the {@link JSONPathAssertion}
>component in JMeter
>@@ -50,8 +52,8 @@ public class JSONPathAssertionGui extends
>AbstractAssertionGui implements Change
>private static final String JSON_ASSERTION_INVERT =
>"json_assertion_invert";
>private static final String JSON_ASSERTION_TITLE =
>"json_assertion_title";
>
>- protected JLabeledTextField jsonPath = null;
>- protected JLabeledTextArea jsonValue = null;
>+ protected JTextField jsonPath = null;
>+ protected JSyntaxTextArea jsonValue = null;
> protected JCheckBox jsonValidation = null;
> protected JCheckBox expectNull = null;
> protected JCheckBox invert = null;
>@@ -66,31 +68,40 @@ public class JSONPathAssertionGui extends
>AbstractAssertionGui implements Change
> setBorder(makeBorder());
> add(makeTitlePanel(), BorderLayout.NORTH);
>
>- VerticalPanel panel = new VerticalPanel();
>- panel.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0));
>-
>- initFields();
>+ JPanel panel = buildPanel();
>+ add(panel, BorderLayout.CENTER);
>
> jsonValidation.addChangeListener(this);
> expectNull.addChangeListener(this);
>-
>- panel.add(jsonPath);
>- panel.add(jsonValidation);
>- panel.add(isRegex);
>- panel.add(jsonValue);
>- panel.add(expectNull);
>- panel.add(invert);
>-
>- add(panel, BorderLayout.CENTER);
> }
>
>- protected void initFields() {
>- jsonPath = new
>JLabeledTextField(JMeterUtils.getResString(JSON_ASSERTION_PATH));
>- jsonValue = new
>JLabeledTextArea(JMeterUtils.getResString(JSON_ASSERTION_EXPECTED_VALUE));
>- jsonValidation = new
>JCheckBox(JMeterUtils.getResString(JSON_ASSERTION_VALIDATION));
>- expectNull = new
>JCheckBox(JMeterUtils.getResString(JSON_ASSERTION_NULL));
>- invert = new
>JCheckBox(JMeterUtils.getResString(JSON_ASSERTION_INVERT));
>- isRegex = new
>JCheckBox(JMeterUtils.getResString(JSON_ASSERTION_REGEX));
>+ protected JPanel buildPanel() {
>+ JPanel panel = new JPanel(new MigLayout("fillx, wrap 2, insets
>0", "[][fill,grow]"));
>+
>+ jsonPath = new JTextField();
>+ panel.add(JMeterUtils.labelFor(jsonPath,
>JSON_ASSERTION_PATH));
>+ panel.add(jsonPath, "span, growx");
>+
>+ jsonValidation = new JCheckBox();
>+ panel.add(JMeterUtils.labelFor(jsonValidation,
>JSON_ASSERTION_VALIDATION));
>+ panel.add(jsonValidation, "span");
>+
>+ isRegex = new JCheckBox();
>+ panel.add(JMeterUtils.labelFor(isRegex,
>JSON_ASSERTION_REGEX));
>+ panel.add(isRegex, "span");
>+
>+ jsonValue = JSyntaxTextArea.getInstance(5, 60);
>+ panel.add(JMeterUtils.labelFor(jsonValue,
>JSON_ASSERTION_EXPECTED_VALUE));
>+ panel.add(JTextScrollPane.getInstance(jsonValue));
>+
>+ expectNull = new JCheckBox();
>+ panel.add(JMeterUtils.labelFor(expectNull,
>JSON_ASSERTION_NULL));
>+ panel.add(expectNull, "span");
>+
>+ invert = new JCheckBox();
>+ panel.add(JMeterUtils.labelFor(invert,
>JSON_ASSERTION_INVERT));
>+ panel.add(invert, "span");
>+ return panel;
> }
>
> @Override
>diff --git
>a/src/components/src/main/java/org/apache/jmeter/assertions/jmespath/gui/JMESPathAssertionGui.java
>b/src/components/src/main/java/org/apache/jmeter/assertions/jmespath/gui/JMESPathAssertionGui.java
>index 68cd049..dfdefea 100644
>---
>a/src/components/src/main/java/org/apache/jmeter/assertions/jmespath/gui/JMESPathAssertionGui.java
>+++
>b/src/components/src/main/java/org/apache/jmeter/assertions/jmespath/gui/JMESPathAssertionGui.java
>@@ -18,14 +18,18 @@
> package org.apache.jmeter.assertions.jmespath.gui;
>
> import javax.swing.JCheckBox;
>+import javax.swing.JPanel;
>+import javax.swing.JTextField;
>
> import org.apache.jmeter.assertions.gui.JSONPathAssertionGui;
> import org.apache.jmeter.assertions.jmespath.JMESPathAssertion;
> import org.apache.jmeter.gui.TestElementMetadata;
>+import org.apache.jmeter.gui.util.JSyntaxTextArea;
>+import org.apache.jmeter.gui.util.JTextScrollPane;
> import org.apache.jmeter.testelement.TestElement;
> import org.apache.jmeter.util.JMeterUtils;
>-import org.apache.jorphan.gui.JLabeledTextArea;
>-import org.apache.jorphan.gui.JLabeledTextField;
>+
>+import net.miginfocom.swing.MigLayout;
>
> /**
>* Java class representing GUI for the {@link JMESPathAssertion}
>component in
>@@ -56,14 +60,33 @@ public class JMESPathAssertionGui extends
>JSONPathAssertionGui {
> }
>
> @Override
>- protected final void initFields() {
>- // get the superclass fields and set their name to current
>component fields.
>- super.jsonPath = new
>JLabeledTextField(JMeterUtils.getResString(JMES_ASSERTION_PATH));
>- super.jsonValue = new
>JLabeledTextArea(JMeterUtils.getResString(JMES_ASSERTION_EXPECTED_VALUE));
>- super.jsonValidation = new
>JCheckBox(JMeterUtils.getResString(JMES_ASSERTION_VALIDATION));
>- super.expectNull = new
>JCheckBox(JMeterUtils.getResString(JMES_ASSERTION_NULL));
>- super.invert = new
>JCheckBox(JMeterUtils.getResString(JMES_ASSERTION_INVERT));
>- super.isRegex = new
>JCheckBox(JMeterUtils.getResString(JMES_ASSERTION_REGEX));
>+ protected JPanel buildPanel() {
>+ JPanel panel = new JPanel(new MigLayout("fillx, wrap 2, insets
>0", "[][fill,grow]"));
>+
>+ jsonPath = new JTextField();
>+ panel.add(JMeterUtils.labelFor(jsonPath,
>JMES_ASSERTION_PATH));
>+ panel.add(jsonPath, "span, growx");
>+
>+ jsonValidation = new JCheckBox();
>+ panel.add(JMeterUtils.labelFor(jsonValidation,
>JMES_ASSERTION_VALIDATION));
>+ panel.add(jsonValidation, "span");
>+
>+ isRegex = new JCheckBox();
>+ panel.add(JMeterUtils.labelFor(isRegex,
>JMES_ASSERTION_REGEX));
>+ panel.add(isRegex, "span");
>+
>+ jsonValue = JSyntaxTextArea.getInstance(5, 60);
>+ panel.add(JMeterUtils.labelFor(jsonValue,
>JMES_ASSERTION_EXPECTED_VALUE));
>+ panel.add(JTextScrollPane.getInstance(jsonValue));
>+
>+ expectNull = new JCheckBox();
>+ panel.add(JMeterUtils.labelFor(expectNull,
>JMES_ASSERTION_NULL));
>+ panel.add(expectNull, "span");
>+
>+ invert = new JCheckBox();
>+ panel.add(JMeterUtils.labelFor(invert,
>JMES_ASSERTION_INVERT));
>+ panel.add(invert, "span");
>+ return panel;
> }
>
> /**
>diff --git a/xdocs/changes.xml b/xdocs/changes.xml
>index e2cf4e6..e06248c 100644
>--- a/xdocs/changes.xml
>+++ b/xdocs/changes.xml
>@@ -150,6 +150,7 @@ Summary
>
> <h3>Timers, Assertions, Config, Pre- & Post-Processors</h3>
> <ul>
>+ <li><bug>64638</bug>JSON JMESPath Assertion / JSON Assertion:
>Opening GUI shows a horizontal scrollbar that keeps sliding</li>
> </ul>
>
> <h3>Functions</h3>
Re: [jmeter] branch master updated: Bug 64638 - JSON JMESPath
Assertion / JSON Assertion: Opening GUI shows a horizontal scrollbar that
keeps sliding
Posted by UBIK LOAD PACK Support <su...@ubikloadpack.com>.
Hello Felix,
I must reckon I had not checked with other LAFs.
I suspected it was due to JTextArea not being in JScrollPane.
I wanted to migrate it to miglayout anyway, so I did that.
I'll report the issue to the Darklaf project.
Thanks for noticing.
Regards
On Sun, Aug 2, 2020 at 7:14 PM Felix Schumacher <
felix.schumacher@internetallee.de> wrote:
> Do you know, why this happened? I saw this with Darklaf, only.
>
> Regards
> Felix
>
> Am 2. August 2020 19:10:25 MESZ schrieb pmouawad@apache.org:
> >This is an automated email from the ASF dual-hosted git repository.
> >
> >pmouawad pushed a commit to branch master
> >in repository https://gitbox.apache.org/repos/asf/jmeter.git
> >
> >
> >The following commit(s) were added to refs/heads/master by this push:
> >new c037ee5 Bug 64638 - JSON JMESPath Assertion / JSON Assertion:
> >Opening GUI shows a horizontal scrollbar that keeps sliding
> >c037ee5 is described below
> >
> >commit c037ee577a03a895de1b5e0163b34db01e6eb4ac
> >Author: pmouawad <p....@ubik-ingenierie.com>
> >AuthorDate: Sun Aug 2 19:09:41 2020 +0200
> >
> >Bug 64638 - JSON JMESPath Assertion / JSON Assertion: Opening GUI shows
> > a horizontal scrollbar that keeps sliding
> >
> >
> > Fix issue and rework UI
> >---
> >.../assertions/gui/JSONPathAssertionGui.java | 63
> >+++++++++++++---------
> >.../jmespath/gui/JMESPathAssertionGui.java | 43 +++++++++++----
> > xdocs/changes.xml | 1 +
> > 3 files changed, 71 insertions(+), 36 deletions(-)
> >
> >diff --git
>
> >a/src/components/src/main/java/org/apache/jmeter/assertions/gui/JSONPathAssertionGui.java
>
> >b/src/components/src/main/java/org/apache/jmeter/assertions/gui/JSONPathAssertionGui.java
> >index e3b0b3e..3c9efeb 100644
> >---
>
> >a/src/components/src/main/java/org/apache/jmeter/assertions/gui/JSONPathAssertionGui.java
> >+++
>
> >b/src/components/src/main/java/org/apache/jmeter/assertions/gui/JSONPathAssertionGui.java
> >@@ -19,19 +19,21 @@ package org.apache.jmeter.assertions.gui;
> >
> > import java.awt.BorderLayout;
> >
> >-import javax.swing.BorderFactory;
> > import javax.swing.JCheckBox;
> >+import javax.swing.JPanel;
> >+import javax.swing.JTextField;
> > import javax.swing.event.ChangeEvent;
> > import javax.swing.event.ChangeListener;
> >
> > import org.apache.jmeter.assertions.JSONPathAssertion;
> > import org.apache.jmeter.gui.GUIMenuSortOrder;
> > import org.apache.jmeter.gui.TestElementMetadata;
> >-import org.apache.jmeter.gui.util.VerticalPanel;
> >+import org.apache.jmeter.gui.util.JSyntaxTextArea;
> >+import org.apache.jmeter.gui.util.JTextScrollPane;
> > import org.apache.jmeter.testelement.TestElement;
> > import org.apache.jmeter.util.JMeterUtils;
> >-import org.apache.jorphan.gui.JLabeledTextArea;
> >-import org.apache.jorphan.gui.JLabeledTextField;
> >+
> >+import net.miginfocom.swing.MigLayout;
> >
> > /**
> >* Java class representing GUI for the {@link JSONPathAssertion}
> >component in JMeter
> >@@ -50,8 +52,8 @@ public class JSONPathAssertionGui extends
> >AbstractAssertionGui implements Change
> >private static final String JSON_ASSERTION_INVERT =
> >"json_assertion_invert";
> >private static final String JSON_ASSERTION_TITLE =
> >"json_assertion_title";
> >
> >- protected JLabeledTextField jsonPath = null;
> >- protected JLabeledTextArea jsonValue = null;
> >+ protected JTextField jsonPath = null;
> >+ protected JSyntaxTextArea jsonValue = null;
> > protected JCheckBox jsonValidation = null;
> > protected JCheckBox expectNull = null;
> > protected JCheckBox invert = null;
> >@@ -66,31 +68,40 @@ public class JSONPathAssertionGui extends
> >AbstractAssertionGui implements Change
> > setBorder(makeBorder());
> > add(makeTitlePanel(), BorderLayout.NORTH);
> >
> >- VerticalPanel panel = new VerticalPanel();
> >- panel.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0));
> >-
> >- initFields();
> >+ JPanel panel = buildPanel();
> >+ add(panel, BorderLayout.CENTER);
> >
> > jsonValidation.addChangeListener(this);
> > expectNull.addChangeListener(this);
> >-
> >- panel.add(jsonPath);
> >- panel.add(jsonValidation);
> >- panel.add(isRegex);
> >- panel.add(jsonValue);
> >- panel.add(expectNull);
> >- panel.add(invert);
> >-
> >- add(panel, BorderLayout.CENTER);
> > }
> >
> >- protected void initFields() {
> >- jsonPath = new
> >JLabeledTextField(JMeterUtils.getResString(JSON_ASSERTION_PATH));
> >- jsonValue = new
> >JLabeledTextArea(JMeterUtils.getResString(JSON_ASSERTION_EXPECTED_VALUE));
> >- jsonValidation = new
> >JCheckBox(JMeterUtils.getResString(JSON_ASSERTION_VALIDATION));
> >- expectNull = new
> >JCheckBox(JMeterUtils.getResString(JSON_ASSERTION_NULL));
> >- invert = new
> >JCheckBox(JMeterUtils.getResString(JSON_ASSERTION_INVERT));
> >- isRegex = new
> >JCheckBox(JMeterUtils.getResString(JSON_ASSERTION_REGEX));
> >+ protected JPanel buildPanel() {
> >+ JPanel panel = new JPanel(new MigLayout("fillx, wrap 2, insets
> >0", "[][fill,grow]"));
> >+
> >+ jsonPath = new JTextField();
> >+ panel.add(JMeterUtils.labelFor(jsonPath,
> >JSON_ASSERTION_PATH));
> >+ panel.add(jsonPath, "span, growx");
> >+
> >+ jsonValidation = new JCheckBox();
> >+ panel.add(JMeterUtils.labelFor(jsonValidation,
> >JSON_ASSERTION_VALIDATION));
> >+ panel.add(jsonValidation, "span");
> >+
> >+ isRegex = new JCheckBox();
> >+ panel.add(JMeterUtils.labelFor(isRegex,
> >JSON_ASSERTION_REGEX));
> >+ panel.add(isRegex, "span");
> >+
> >+ jsonValue = JSyntaxTextArea.getInstance(5, 60);
> >+ panel.add(JMeterUtils.labelFor(jsonValue,
> >JSON_ASSERTION_EXPECTED_VALUE));
> >+ panel.add(JTextScrollPane.getInstance(jsonValue));
> >+
> >+ expectNull = new JCheckBox();
> >+ panel.add(JMeterUtils.labelFor(expectNull,
> >JSON_ASSERTION_NULL));
> >+ panel.add(expectNull, "span");
> >+
> >+ invert = new JCheckBox();
> >+ panel.add(JMeterUtils.labelFor(invert,
> >JSON_ASSERTION_INVERT));
> >+ panel.add(invert, "span");
> >+ return panel;
> > }
> >
> > @Override
> >diff --git
>
> >a/src/components/src/main/java/org/apache/jmeter/assertions/jmespath/gui/JMESPathAssertionGui.java
>
> >b/src/components/src/main/java/org/apache/jmeter/assertions/jmespath/gui/JMESPathAssertionGui.java
> >index 68cd049..dfdefea 100644
> >---
>
> >a/src/components/src/main/java/org/apache/jmeter/assertions/jmespath/gui/JMESPathAssertionGui.java
> >+++
>
> >b/src/components/src/main/java/org/apache/jmeter/assertions/jmespath/gui/JMESPathAssertionGui.java
> >@@ -18,14 +18,18 @@
> > package org.apache.jmeter.assertions.jmespath.gui;
> >
> > import javax.swing.JCheckBox;
> >+import javax.swing.JPanel;
> >+import javax.swing.JTextField;
> >
> > import org.apache.jmeter.assertions.gui.JSONPathAssertionGui;
> > import org.apache.jmeter.assertions.jmespath.JMESPathAssertion;
> > import org.apache.jmeter.gui.TestElementMetadata;
> >+import org.apache.jmeter.gui.util.JSyntaxTextArea;
> >+import org.apache.jmeter.gui.util.JTextScrollPane;
> > import org.apache.jmeter.testelement.TestElement;
> > import org.apache.jmeter.util.JMeterUtils;
> >-import org.apache.jorphan.gui.JLabeledTextArea;
> >-import org.apache.jorphan.gui.JLabeledTextField;
> >+
> >+import net.miginfocom.swing.MigLayout;
> >
> > /**
> >* Java class representing GUI for the {@link JMESPathAssertion}
> >component in
> >@@ -56,14 +60,33 @@ public class JMESPathAssertionGui extends
> >JSONPathAssertionGui {
> > }
> >
> > @Override
> >- protected final void initFields() {
> >- // get the superclass fields and set their name to current
> >component fields.
> >- super.jsonPath = new
> >JLabeledTextField(JMeterUtils.getResString(JMES_ASSERTION_PATH));
> >- super.jsonValue = new
> >JLabeledTextArea(JMeterUtils.getResString(JMES_ASSERTION_EXPECTED_VALUE));
> >- super.jsonValidation = new
> >JCheckBox(JMeterUtils.getResString(JMES_ASSERTION_VALIDATION));
> >- super.expectNull = new
> >JCheckBox(JMeterUtils.getResString(JMES_ASSERTION_NULL));
> >- super.invert = new
> >JCheckBox(JMeterUtils.getResString(JMES_ASSERTION_INVERT));
> >- super.isRegex = new
> >JCheckBox(JMeterUtils.getResString(JMES_ASSERTION_REGEX));
> >+ protected JPanel buildPanel() {
> >+ JPanel panel = new JPanel(new MigLayout("fillx, wrap 2, insets
> >0", "[][fill,grow]"));
> >+
> >+ jsonPath = new JTextField();
> >+ panel.add(JMeterUtils.labelFor(jsonPath,
> >JMES_ASSERTION_PATH));
> >+ panel.add(jsonPath, "span, growx");
> >+
> >+ jsonValidation = new JCheckBox();
> >+ panel.add(JMeterUtils.labelFor(jsonValidation,
> >JMES_ASSERTION_VALIDATION));
> >+ panel.add(jsonValidation, "span");
> >+
> >+ isRegex = new JCheckBox();
> >+ panel.add(JMeterUtils.labelFor(isRegex,
> >JMES_ASSERTION_REGEX));
> >+ panel.add(isRegex, "span");
> >+
> >+ jsonValue = JSyntaxTextArea.getInstance(5, 60);
> >+ panel.add(JMeterUtils.labelFor(jsonValue,
> >JMES_ASSERTION_EXPECTED_VALUE));
> >+ panel.add(JTextScrollPane.getInstance(jsonValue));
> >+
> >+ expectNull = new JCheckBox();
> >+ panel.add(JMeterUtils.labelFor(expectNull,
> >JMES_ASSERTION_NULL));
> >+ panel.add(expectNull, "span");
> >+
> >+ invert = new JCheckBox();
> >+ panel.add(JMeterUtils.labelFor(invert,
> >JMES_ASSERTION_INVERT));
> >+ panel.add(invert, "span");
> >+ return panel;
> > }
> >
> > /**
> >diff --git a/xdocs/changes.xml b/xdocs/changes.xml
> >index e2cf4e6..e06248c 100644
> >--- a/xdocs/changes.xml
> >+++ b/xdocs/changes.xml
> >@@ -150,6 +150,7 @@ Summary
> >
> > <h3>Timers, Assertions, Config, Pre- & Post-Processors</h3>
> > <ul>
> >+ <li><bug>64638</bug>JSON JMESPath Assertion / JSON Assertion:
> >Opening GUI shows a horizontal scrollbar that keeps sliding</li>
> > </ul>
> >
> > <h3>Functions</h3>
>
--
Regards
Ubik Load Pack <http://ubikloadpack.com> Team
Follow us on Twitter <http://twitter.com/ubikloadpack>
Cordialement
L'équipe Ubik Load Pack <http://ubikloadpack.com>
Suivez-nous sur Twitter <http://twitter.com/ubikloadpack>