Auto rename include controllers
- Dominant language
- Java
- Stars
- 9.5k
- Forks
- 2.3k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 5
Description
**angely.pro** ([Bug 58277](https://bz.apache.org/bugzilla//show_bug.cgi?id=58277&redirect=false)):
An option to auto rename include controllers with the name of the JMX files included could be an important time saving (that would allow to easily distinguish them).
Please find attached a patch for this feature.
Created attachment [ad_patch_autorename_20150728.patch](https://apache.github.io/jmeter-bugzilla-attachments/77/58277/33031/ad_patch_autorename_20150728.patch): Patch for the auto rename include controllers feature
ad_patch_autorename_20150728.patch
````diff
Index: src/components/org/apache/jmeter/control/gui/IncludeControllerGui.java
===================================================================
--- src/components/org/apache/jmeter/control/gui/IncludeControllerGui.java (revision 1693055)
+++ src/components/org/apache/jmeter/control/gui/IncludeControllerGui.java (working copy)
@@ -20,8 +20,12 @@
import javax.swing.JMenu;
import javax.swing.JPopupMenu;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import org.apache.commons.io.FilenameUtils;
import org.apache.jmeter.control.IncludeController;
+import org.apache.jmeter.gui.GuiPackage;
import org.apache.jmeter.gui.action.ActionNames;
import org.apache.jmeter.gui.util.FilePanel;
import org.apache.jmeter.gui.util.MenuFactory;
@@ -111,5 +115,17 @@
add(makeTitlePanel());
add(includePanel);
+ includePanel.addChangeListener(changerListener);
}
+
+ /**
+ * Auto rename the include controller with the name of the file included.
+ */
+ ChangeListener changerListener = new ChangeListener() {
+ @Override
+ public void stateChanged(ChangeEvent e) {
+ if(GuiPackage.getInstance().getMenuItemAutoRename().isSelected())
+ setName(FilenameUtils.getName(includePanel.getFilename()));
+ }
+ };
}
Index: src/core/org/apache/jmeter/gui/action/ActionNames.java
===================================================================
--- src/core/org/apache/jmeter/gui/action/ActionNames.java (revision 1693055)
+++ src/core/org/apache/jmeter/gui/action/ActionNames.java (working copy)
@@ -98,7 +98,8 @@
public static final String UNDO = "undo"; // $NON-NLS-1$
public static final String REDO = "redo"; // $NON-NLS-1$
public static final String QUICK_COMPONENT = "quick_component"; // $NON-NLS-1$
-
+ public static final String AUTO_RENAME = "auto_rename";
+
// Prevent instantiation
private ActionNames(){
Index: src/core/org/apache/jmeter/gui/action/AutoRename.java
===================================================================
--- src/core/org/apache/jmeter/gui/action/AutoRename.java (revision 0)
+++ src/core/org/apache/jmeter/gui/action/AutoRename.java (working copy)
@@ -0,0 +1,30 @@
+package org.apache.jmeter.gui.action;
+
+import java.awt.event.ActionEvent;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.jmeter.exceptions.IllegalUserActionException;
+import org.apache.jmeter.gui.GuiPackage;
+import org.apache.jorphan.logging.LoggingManager;
+import org.apache.log.Logger;
+
+public class AutoRename implements Command {
+ private static final Logger log = LoggingManager.getLoggerForClass();
+ private static final Set commands = new HashSet();
+
+ static {
+ commands.add(ActionNames.AUTO_RENAME);
+ }
+
+ @Override
+ public void doAction(ActionEvent e) throws IllegalUserActionException {
+ log.info("auto rename include controller: " + GuiPackage.getInstance().getMenuItemAutoRename().getState());
+ }
+
+ @Override
+ public Set getActionNames() {
+ return commands;
+ }
+
+}
Index: src/core/org/apache/jmeter/gui/GuiPackage.java
===================================================================
--- src/core/org/apache/jmeter/gui/GuiPackage.java (revision 1693055)
+++ src/core/org/apache/jmeter/gui/GuiPackage.java (working copy)
@@ -132,6 +132,11 @@
private UndoHistory undoHistory = new UndoHistory();
/**
+ * Auto rename include controllers
+ */
+ private JCheckBoxMenuItem menuItemAutoRename;
+
+ /**
* Private constructor to permit instantiation only from within this class.
* Use {@link #getInstance()} to retrieve a singleton instance.
*/
@@ -858,4 +863,11 @@
((JMeterToolBar)toolbar).updateUndoRedoIcons(history.canUndo(), history.canRedo());
}
+ public JCheckBoxMenuItem getMenuItemAutoRename() {
+ return menuItemAutoRename;
+ }
+
+ public void setMenuItemAutoRename(JCheckBoxMenuItem menuItemAutoRename) {
+ this.menuItemAutoRename = menuItemAutoRename;
+ }
}
Index: src/core/org/apache/jmeter/gui/util/JMeterMenuBar.java
===================================================================
--- src/core/org/apache/jmeter/gui/util/JMeterMenuBar.java (revision 1693055)
+++ src/core/org/apache/jmeter/gui/util/JMeterMenuBar.java (working copy)
@@ -331,6 +331,12 @@
optionsMenu.add(functionHelper);
optionsMenu.add(lafMenu);
+ // OTHER OPTIONS MENU
+ JMenu otherOptions = makeMenuRes("other_options");
+ JCheckBoxMenuItem menuAutoRename = makeCheckBoxMenuItemRes("menu_auto_rename", ActionNames.AUTO_RENAME);
+ menuAutoRename.setSelected(true);
+ otherOptions.add(menuAutoRename);
+
JCheckBoxMenuItem menuToolBar = makeCheckBoxMenuItemRes("menu_toolbar", ActionNames.TOOLBAR); //$NON-NLS-1$
JCheckBoxMenuItem menuLoggerPanel = makeCheckBoxMenuItemRes("menu_logger_panel", ActionNames.LOGGER_PANEL_ENABLE_DISABLE); //$NON-NLS-1$
GuiPackage guiInstance = GuiPackage.getInstance();
@@ -337,6 +343,7 @@
if (guiInstance != null) { //avoid error in ant task tests (good way?)
guiInstance.setMenuItemToolbar(menuToolBar);
guiInstance.setMenuItemLoggerPanel(menuLoggerPanel);
+ guiInstance.setMenuItemAutoRename(menuAutoRename);
}
optionsMenu.add(menuToolBar);
optionsMenu.add(menuLoggerPanel);
@@ -352,6 +359,8 @@
JMenuItem expand = makeMenuItemRes("menu_expand_all", ActionNames.EXPAND_ALL, KeyStrokes.EXPAND_ALL); //$NON-NLS-1$
optionsMenu.add(expand);
+
+ optionsMenu.add(otherOptions);
addPluginsMenuItems(optionsMenu, menuCreators, MENU_LOCATION.OPTIONS);
}
Index: src/core/org/apache/jmeter/resources/messages.properties
===================================================================
--- src/core/org/apache/jmeter/resources/messages.properties (revision 1693055)
+++ src/core/org/apache/jmeter/resources/messages.properties (working copy)
@@ -1331,3 +1331,6 @@
you_must_enter_a_valid_number=You must enter a valid number
zh_cn=Chinese (Simplified)
zh_tw=Chinese (Traditional)
+# custom messages
+menu_auto_rename=Auto Rename Include Controller
+other_options=Other Options
\ No newline at end of file
Index: src/core/org/apache/jmeter/resources/messages_fr.properties
===================================================================
--- src/core/org/apache/jmeter/resources/messages_fr.properties (revision 1693055)
+++ src/core/org/apache/jmeter/resources/messages_fr.properties (working copy)
@@ -1316,3 +1316,6 @@
you_must_enter_a_valid_number=Vous devez entrer un nombre valide
zh_cn=Chinois (simplifi\u00E9)
zh_tw=Chinois (traditionnel)
+# custom messages
+menu_auto_rename=Renommage auto des Include Controller
+other_options=Autres options
\ No newline at end of file
````
OS: All
Contributor guide
Assessment
This issue has not been assessed yet.