/** * Finds the first enabled node of a given type in the tree. * * @param type * class of the node to be found * * @return the first node of the given type in the test component tree, or * <code>null</code> if none was found. */ private JMeterTreeNode findFirstNodeOfType(Class<?> type) { JMeterTreeModel treeModel = getJmeterTreeModel(); List<JMeterTreeNode> nodes = treeModel.getNodesOfType(type); for (JMeterTreeNode node : nodes) { if (node.isEnabled()) { return node; } } return null; }
private Pair<Integer, Set<JMeterTreeNode>> searchInTree(GuiPackage guiPackage, Searcher searcher, String wordToSearch) { int numberOfMatches = 0; JMeterTreeModel jMeterTreeModel = guiPackage.getTreeModel(); Set<JMeterTreeNode> nodes = new LinkedHashSet<>(); for (JMeterTreeNode jMeterTreeNode : jMeterTreeModel.getNodesOfType(Searchable.class)) { try { Searchable searchable = (Searchable) jMeterTreeNode.getUserObject(); List<String> searchableTokens = searchable.getSearchableTokens(); boolean result = searcher.search(searchableTokens); if (result) { numberOfMatches++; nodes.add(jMeterTreeNode); } } catch (Exception ex) { logger.error("Error occurred searching for word:{} in node:{}", wordToSearch, jMeterTreeNode.getName(), ex); } } this.currentSearchIndex = -1; this.lastSearchResult.clear(); this.lastSearchResult.addAll(nodes); return Pair.of(numberOfMatches, nodes); }
/** * Find if there is any AuthManager in JMeterTreeModel * If there is no one, create and add it to tree * Add authorization object to AuthManager * @param authorization {@link Authorization} * @param target {@link JMeterTreeNode} */ private void setAuthorization(Authorization authorization, JMeterTreeNode target) { JMeterTreeModel jmeterTreeModel = getJmeterTreeModel(); List<JMeterTreeNode> authManagerNodes = jmeterTreeModel.getNodesOfType(AuthManager.class); if (authManagerNodes.isEmpty()) { try { log.debug("Creating HTTP Authentication manager for authorization: {}", authorization); AuthManager authManager = newAuthorizationManager(authorization); jmeterTreeModel.addComponent(authManager, target); } catch (IllegalUserActionException e) { log.error("Failed to add Authorization Manager to target node: {}", target.getName(), e); } } else{ AuthManager authManager=(AuthManager)authManagerNodes.get(0).getTestElement(); authManager.addAuth(authorization); } }
/** * @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 clearRowsFromCompositeModels(String vizualizerName) { GuiPackage gui = GuiPackage.getInstance(); if (gui == null) { log.debug("No GUI Package present, ignored removing from composite"); return; } JMeterTreeModel testTree = gui.getTreeModel(); for (JMeterTreeNode obj : testTree.getNodesOfType(CompositeResultCollector.class)) { //System.out.println("obj"); CompositeResultCollector compositeResultCollector = (CompositeResultCollector) obj.getTestElement(); compositeResultCollector.getCompositeModel().clearRows(vizualizerName); } }
private void clearRowsFromCompositeModels(String vizualizerName) { GuiPackage gui = GuiPackage.getInstance(); if (gui == null) { log.debug("No GUI Package present, ignored removing from composite"); return; } JMeterTreeModel testTree = gui.getTreeModel(); for (JMeterTreeNode obj : testTree.getNodesOfType(CompositeResultCollector.class)) { //System.out.println("obj"); CompositeResultCollector compositeResultCollector = (CompositeResultCollector) obj.getTestElement(); compositeResultCollector.getCompositeModel().clearRows(vizualizerName); } }
private void addRowToCompositeModels(String rowName, AbstractGraphRow row) { GuiPackage gui = GuiPackage.getInstance(); if (gui == null) { log.debug("No GUI Package present, ignored adding to composite"); return; } JMeterTreeModel testTree = gui.getTreeModel(); for (JMeterTreeNode obj : testTree.getNodesOfType(CompositeResultCollector.class)) { CompositeResultCollector compositeResultCollector = (CompositeResultCollector) obj.getTestElement(); compositeResultCollector.getCompositeModel().addRow(rowName, row); } }
private void addRowToCompositeModels(String rowName, AbstractGraphRow row) { GuiPackage gui = GuiPackage.getInstance(); if (gui == null) { log.debug("No GUI Package present, ignored adding to composite"); return; } JMeterTreeModel testTree = gui.getTreeModel(); for (JMeterTreeNode obj : testTree.getNodesOfType(CompositeResultCollector.class)) { CompositeResultCollector compositeResultCollector = (CompositeResultCollector) obj.getTestElement(); compositeResultCollector.getCompositeModel().addRow(rowName, row); } }
@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); } } } } } }