@Override public void mouseReleased(MouseEvent e) { GuiPackage.getInstance().getMainFrame().repaint(); }
private JMeterTreeModel getJmeterTreeModel() { if (this.nonGuiTreeModel == null) { return GuiPackage.getInstance().getTreeModel(); } return this.nonGuiTreeModel; }
public void stopHttpSimpleTable() { if (server != null) { server.stopServer(); GuiPackage instance = GuiPackage.getInstance(); if (instance != null) { instance.unregister(server); } server = null; } }
GuiPackage guiInstance = GuiPackage.getInstance(); TestElement testElement = guiInstance.createTestElement("org.apache.jmeter.XXXX.XXX.GUI_CLASS"); testElement.setName("TEST ELEMENT NAME"); JMeterTreeNode parentNode = guiInstance.getCurrentNode(); JMeterTreeNode node = guiInstance.getTreeModel().addComponent(testElement, parentNode); guiInstance.getMainFrame().getTree().setSelectionPath(new TreePath(node.getPath())); guiInstance.updateCurrentGui();
@Override public void doAction(ActionEvent e) throws IllegalUserActionException { GuiPackage guiPackage = GuiPackage.getInstance(); final String command = e.getActionCommand(); if (command.equals(ActionNames.UNDO)) { guiPackage.undo(); } else if (command.equals(ActionNames.REDO)) { guiPackage.redo(); } else { throw new IllegalArgumentException("Wrong action called: " + command); } }
/** * This method performs the actual command processing. * * @param e the generic UI action event */ @Override public void doAction(ActionEvent e) { JMeterTreeListener treeListener = GuiPackage.getInstance().getTreeListener(); JTree jTree = GuiPackage.getInstance().getMainFrame().getTree(); JMeterTreeNode[] selectedNodes = treeListener.getSelectedNodes(); for (JMeterTreeNode currentNode : selectedNodes) { if (!currentNode.isLeaf()) { TreeNode[] nodes = GuiPackage.getInstance().getTreeModel().getPathToRoot(currentNode); TreePath path = new TreePath(nodes); boolean collapse = ActionNames.COLLAPSE.equals(e.getActionCommand()); expandCollapseNode(jTree, path, collapse); } } }
/** * Adds the specified class to the current node of the tree. */ @Override public void doAction(ActionEvent e) { GuiPackage guiPackage = GuiPackage.getInstance(); try { guiPackage.updateCurrentNode(); TestElement testElement = guiPackage.createTestElement(((JComponent) e.getSource()).getName()); JMeterTreeNode parentNode = guiPackage.getCurrentNode(); JMeterTreeNode node = guiPackage.getTreeModel().addComponent(testElement, parentNode); guiPackage.getNamingPolicy().nameOnCreation(node); guiPackage.getMainFrame().getTree().setSelectionPath(new TreePath(node.getPath())); } catch (Exception err) { log.error("Exception while adding a component to tree.", err); // $NON-NLS-1$ String msg = err.getMessage(); if (msg == null) { msg = err.toString(); } JMeterUtils.reportErrorToUser(msg); } } }
/** * @see Command#doAction(ActionEvent) */ @Override public void doAction(ActionEvent e) { JMeterTreeNode[] draggedNodes = Copy.getCopiedNodes(); if (draggedNodes == null) { Toolkit.getDefaultToolkit().beep(); return; } JMeterTreeListener treeListener = GuiPackage.getInstance().getTreeListener(); JMeterTreeNode currentNode = treeListener.getCurrentNode(); if (MenuFactory.canAddTo(currentNode, draggedNodes)) { Arrays.stream(draggedNodes) .filter(Objects::nonNull) .forEach(draggedNode -> addNode(currentNode, draggedNode)); } else { Toolkit.getDefaultToolkit().beep(); } GuiPackage.getInstance().getMainFrame().repaint(); }
JMeterTreeNode[] nodes = GuiPackage.getInstance().getTreeListener().getSelectedNodes(); if (nodes.length > 1){ JMeterUtils.reportErrorToUser( subTree = GuiPackage.getInstance().getCurrentSubTree(); JMeterTreeNode[] nodes = GuiPackage.getInstance().getTreeListener().getSelectedNodes(); if(checkAcceptableForTestFragment(nodes)) { TestElement element = GuiPackage.getInstance().createTestElement(TestFragmentControllerGui.class.getName()); HashTree hashTree = new ListedHashTree(); HashTree tfTree = hashTree.add(new JMeterTreeNode(element, null)); GuiPackage.getInstance().getTreeModel().getCurrentSubTree(node).traverse(cloner); subTree = GuiPackage.getInstance().getTreeModel().getTestPlan(); String updateFile = GuiPackage.getInstance().getTestPlanFile(); if (!ActionNames.SAVE.equals(e.getActionCommand()) || updateFile == null) { JFileChooser chooser = FileDialoger.promptToSaveFile(updateFile == null ? GuiPackage.getInstance().getTreeListener() .getCurrentNode().getName() + JMX_FILE_EXTENSION : updateFile); int response = JOptionPane.showConfirmDialog(GuiPackage.getInstance().getMainFrame(), JMeterUtils.getResString("save_overwrite_existing_file"), // $NON-NLS-1$ JMeterUtils.getResString("save?"), // $NON-NLS-1$ GuiPackage.getInstance().setTestPlanFile(updateFile);
@Override public void doAction(ActionEvent e) { GuiPackage guiPackage = GuiPackage.getInstance(); JMeterTreeNode currentNode = guiPackage.getTreeListener().getCurrentNode(); if (!(currentNode.getUserObject() instanceof Controller)) { Toolkit.getDefaultToolkit().beep(); return; } try { applyNamingPolicyToCurrentNode(guiPackage, currentNode); } catch (Exception err) { Toolkit.getDefaultToolkit().beep(); log.error("Failed to apply naming policy", err); JMeterUtils.reportErrorToUser("Failed to apply naming policy", err); } }
private static void moveAndSelectNode( JMeterTreeNode currentNode, JMeterTreeNode parentNode, int newIndx) { GuiPackage guiInstance = GuiPackage.getInstance(); guiInstance.getTreeModel().removeNodeFromParent(currentNode); guiInstance.getTreeModel().insertNodeInto(currentNode, parentNode, newIndx); // select the node TreeNode[] nodes = guiInstance.getTreeModel() .getPathToRoot(currentNode); JTree jTree = guiInstance.getMainFrame().getTree(); jTree.setSelectionPath(new TreePath(nodes)); }
@Override public void doAction(ActionEvent e) { GuiPackage guiPackage = GuiPackage.getInstance(); final String actionCommand = e.getActionCommand(); if (actionCommand.equals(ActionNames.CLEAR)) { JMeterGUIComponent guiComp = guiPackage.getCurrentGui(); if (guiComp instanceof Clearable){ ((Clearable) guiComp).clearData(); } } else { guiPackage.getMainFrame().clearData(); for (JMeterTreeNode node : guiPackage.getTreeModel().getNodesOfType(Clearable.class)) { JMeterGUIComponent guiComp = guiPackage.getGui(node.getTestElement()); if (guiComp instanceof Clearable){ Clearable item = (Clearable) guiComp; try { item.clearData(); } catch (Exception ex) { log.error("Can't clear: {} {}", node, guiComp, ex); } } } } } }
/** * @see Command#doAction(ActionEvent) */ @Override public void doAction(ActionEvent e) { GuiPackage guiPackage = GuiPackage.getInstance(); try { guiPackage.beginUndoTransaction(); guiPackage.getTreeModel() .getNodesOfType(Searchable.class).stream() .filter(node -> node.getUserObject() instanceof Searchable) .map(JMeterTreeNode::getPathToThreadGroup) .flatMap(Collection::stream) .forEach(matchingNode -> { matchingNode.setMarkedBySearch(false); matchingNode.setChildrenNodesHaveMatched(false); }); } finally { guiPackage.endUndoTransaction(); } GuiPackage.getInstance().getMainFrame().repaint(); }
private void reload(UndoHistoryItem z) { final GuiPackage guiInstance = GuiPackage.getInstance(); JMeterTreeModel acceptorModel = guiInstance.getTreeModel(); try { // load the tree loadHistoricalTree(acceptorModel, guiInstance, z.getTree()); } finally { // load tree UI state z.getTreeState().restore(guiInstance); guiInstance.setDirty(z.isDirty()); } setLastKnownState(z); // refresh the all ui guiInstance.updateCurrentGui(); guiInstance.getMainFrame().repaint(); notifyListeners(); }
@Override public void doAction(ActionEvent e) { GuiPackage guiPackage = GuiPackage.getInstance(); JMeterGUIComponent currentGui = guiPackage.getCurrentGui(); guiPackage.getMainFrame().setMainPanel((javax.swing.JComponent) currentGui); guiPackage.getMainFrame().setEditMenu(guiPackage.getTreeListener().getCurrentNode().createPopupMenu()); guiPackage.getMainFrame().setFileLoadEnabled(true); guiPackage.getMainFrame().setFileSaveEnabled(true); }
/** * */ private void doReplace() { GuiPackage.getInstance().updateCurrentNode(); JMeterTreeNode currentNode = lastSearchResult.get(currentSearchIndex); if(currentNode != null) { String wordToSearch = searchTF.getText(); String wordToReplace = replaceTF.getText(); String regex = isRegexpCB.isSelected() ? wordToSearch : Pattern.quote(wordToSearch); boolean caseSensitiveReplacement = isCaseSensitiveCB.isSelected(); Pair<Integer, JMeterTreeNode> pair = doReplacementInCurrentNode(currentNode, regex, wordToReplace, caseSensitiveReplacement); int nbReplacements = 0; if(pair != null) { nbReplacements = pair.getLeft(); GuiPackage.getInstance().updateCurrentGui(); GuiPackage.getInstance().getMainFrame().repaint(); } statusLabel.setText(MessageFormat.format("Replaced {0} occurrences", nbReplacements)); } }
public void startHttpMirror() { server = new HttpMirrorServer(getPort(), getMaxPoolSize(), getMaxQueueSize()); server.start(); GuiPackage instance = GuiPackage.getInstance(); if (instance != null) { instance.register(server); } }
@Override public void doAction(ActionEvent e) { int isConfirm = SKIP_CONFIRM ? JOptionPane.YES_OPTION : JOptionPane.showConfirmDialog(GuiPackage.getInstance().getMainFrame(), JMeterUtils.getResString("remove_confirm_msg"),// $NON-NLS-1$ JMeterUtils.getResString("remove_confirm_title"), // $NON-NLS-1$ JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (isConfirm == JOptionPane.YES_OPTION) { // TODO - removes the nodes from the CheckDirty map - should it be done later, in case some can't be removed? ActionRouter.getInstance().actionPerformed(new ActionEvent(e.getSource(), e.getID(), ActionNames.CHECK_REMOVE)); GuiPackage guiPackage = GuiPackage.getInstance(); JMeterTreeNode[] nodes = guiPackage.getTreeListener().getSelectedNodes(); TreePath newTreePath = // Save parent node for later guiPackage.getTreeListener().removedSelectedNode(); for (int i = nodes.length - 1; i >= 0; i--) { removeNode(nodes[i]); } guiPackage.getTreeListener().getJTree().setSelectionPath(newTreePath); guiPackage.updateCurrentGui(); } }
@Override public void actionPerformed(ActionEvent e) { if(e.getSource() == clearButton) { GuiPackage guiPackage = GuiPackage.getInstance(); JMeterTreeNode currentNode = guiPackage.getTreeListener().getCurrentNode(); if (!(currentNode.getUserObject() instanceof org.apache.jmeter.protocol.http.control.RecordingController)) { Toolkit.getDefaultToolkit().beep(); return; } try { guiPackage.updateCurrentNode(); JMeterTreeModel treeModel = guiPackage.getTreeModel(); int childCount = currentNode.getChildCount(); for (int i = 0; i < childCount; i++) { JMeterTreeNode node = (JMeterTreeNode) currentNode.getChildAt(0); treeModel.removeNodeFromParent(node); } } catch (Exception err) { Toolkit.getDefaultToolkit().beep(); log.error("Error while removing recorded samples", err); } } } }
} else if (action.equals(ActionNames.ADD_ALL)) { previousGuiItems.clear(); GuiPackage.getInstance().getTreeModel().getTestPlan().traverse(this); } else if (action.equals(ActionNames.CHECK_REMOVE) || action.equals(ActionNames.CHECK_CUT)) { GuiPackage guiPackage = GuiPackage.getInstance(); JMeterTreeNode[] nodes = guiPackage.getTreeListener().getSelectedNodes(); removeMode = true; try { for (int i = nodes.length - 1; i >= 0; i--) { guiPackage.getTreeModel().getCurrentSubTree(nodes[i]).traverse(this); dirty = true; } else if (action.equals(ActionNames.UNDO) || action.equals(ActionNames.REDO)) { dirty = GuiPackage.getInstance().isDirty(); log.debug("Restoring dirty after undo/redo"); GuiPackage.getInstance().getTreeModel().getTestPlan().traverse(this); checkMode = true; try { HashTree wholeTree = GuiPackage.getInstance().getTreeModel().getTestPlan(); wholeTree.traverse(this); GuiPackage.getInstance().setDirty(dirty);