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 4de138c Bug 64843 - Tree: Don't propagate the state (enable/disabled) of current element to children 4de138c is described below commit 4de138c40f8102bbfdf89e614a8b52581f56431e Author: pmouawad <p.moua...@ubik-ingenierie.com> AuthorDate: Fri Oct 23 14:42:58 2020 +0200 Bug 64843 - Tree: Don't propagate the state (enable/disabled) of current element to children --- .../apache/jmeter/gui/action/EnableComponent.java | 25 ---------------------- .../apache/jmeter/gui/tree/JMeterCellRenderer.java | 15 ------------- 2 files changed, 40 deletions(-) diff --git a/src/core/src/main/java/org/apache/jmeter/gui/action/EnableComponent.java b/src/core/src/main/java/org/apache/jmeter/gui/action/EnableComponent.java index 34f39aa..fbf205c 100644 --- a/src/core/src/main/java/org/apache/jmeter/gui/action/EnableComponent.java +++ b/src/core/src/main/java/org/apache/jmeter/gui/action/EnableComponent.java @@ -18,13 +18,9 @@ package org.apache.jmeter.gui.action; import java.awt.event.ActionEvent; -import java.util.ArrayDeque; -import java.util.Arrays; import java.util.HashSet; import java.util.Set; -import javax.swing.tree.TreeNode; - import org.apache.jmeter.gui.GuiPackage; import org.apache.jmeter.gui.tree.JMeterTreeNode; import org.slf4j.Logger; @@ -54,15 +50,12 @@ public class EnableComponent extends AbstractAction { if (e.getActionCommand().equals(ActionNames.ENABLE)) { log.debug("enabling currently selected gui objects"); enableComponents(nodes, true); - triggerChildrenRender(nodes); } else if (e.getActionCommand().equals(ActionNames.DISABLE)) { log.debug("disabling currently selected gui objects"); enableComponents(nodes, false); - triggerChildrenRender(nodes); } else if (e.getActionCommand().equals(ActionNames.TOGGLE)) { log.debug("toggling currently selected gui objects"); toggleComponents(nodes); - triggerChildrenRender(nodes); } } @@ -83,24 +76,6 @@ public class EnableComponent extends AbstractAction { } } - private void triggerChildrenRender(JMeterTreeNode[] nodes) { - Set<TreeNode> visited = new HashSet<>(); - ArrayDeque<TreeNode> queue = new ArrayDeque<>(Arrays.asList(nodes)); - while (!queue.isEmpty()) { - final TreeNode next = queue.poll(); - if (!visited.add(next)) { - continue; - } - if (next instanceof JMeterTreeNode) { - // Trigger render - ((JMeterTreeNode) next).nameChanged(); - } - for (int i = 0; i < next.getChildCount(); i++) { - queue.add(next.getChildAt(i)); - } - } - } - /** * @see org.apache.jmeter.gui.action.Command#getActionNames() */ diff --git a/src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterCellRenderer.java b/src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterCellRenderer.java index 55b3cbe..c0f5f2c 100644 --- a/src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterCellRenderer.java +++ b/src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterCellRenderer.java @@ -25,10 +25,8 @@ import javax.swing.ImageIcon; import javax.swing.JTree; import javax.swing.border.Border; import javax.swing.tree.DefaultTreeCellRenderer; -import javax.swing.tree.TreeNode; import org.apache.commons.lang3.StringUtils; -import org.apache.jmeter.control.TestFragmentController; import org.apache.jorphan.util.JOrphanUtils; /** @@ -54,19 +52,6 @@ public class JMeterCellRenderer extends DefaultTreeCellRenderer { JOrphanUtils.isBlank(node.getName()) ? BLANK : node.getName(), sel, expanded, leaf, row, p_hasFocus); boolean enabled = node.isEnabled(); - // Even in case the node itself is not disabled, we render it as disabled if - // one of its parents is in fact disabled. - for (TreeNode parent = node.getParent(); parent != null && enabled; parent = parent.getParent()) { - if (parent instanceof JMeterTreeNode) { - JMeterTreeNode jMeterTreeNode = (JMeterTreeNode) parent; - if (jMeterTreeNode.getTestElement() instanceof TestFragmentController) { - // TestFragment is always disabled, so we don't want to mark everything below - // with pale - break; - } - enabled = jMeterTreeNode.isEnabled(); - } - } ImageIcon ic = node.getIcon(enabled); if (ic != null) { if (enabled) {