/** * Start JMeter engine * @param ignoreTimer flag to ignore timers */ private void startEngine(boolean ignoreTimer) { startEngine(ignoreTimer, null); }
removeThreadGroupsFromHashTree(testTree, threadGroupsToRun); TreeCloner cloner = createTreeClonerForValidation(); testTree.traverse(cloner); clonedTree = cloner.getClonedTree(); } else { TreeCloner cloner = cloneTree(testTree, ignoreTimer); clonedTree = cloner.getClonedTree(); if ( popupCheckExistingFileListener(testTree) ) { engine = new StandardJMeterEngine(); engine.configure(clonedTree);
@Override public void doAction(ActionEvent e) { if (e.getActionCommand().equals(ActionNames.ACTION_START)) { popupShouldSave(e); startEngine(false); } else if (e.getActionCommand().equals(ActionNames.ACTION_START_NO_TIMERS)) { popupShouldSave(e); startEngine(true); } else if (e.getActionCommand().equals(ActionNames.ACTION_STOP)) { if (engine != null) { || e.getActionCommand().equals(ActionNames.RUN_TG_NO_TIMERS) || e.getActionCommand().equals(ActionNames.VALIDATE_TG)) { popupShouldSave(e); boolean noTimers = e.getActionCommand().equals(ActionNames.RUN_TG_NO_TIMERS); boolean isValidation = e.getActionCommand().equals(ActionNames.VALIDATE_TG); JMeterTreeNode[] nodes = treeListener.getSelectedNodes(); nodes = Copy.keepOnlyAncestors(nodes); AbstractThreadGroup[] tg = keepOnlyThreadGroups(nodes); if(nodes.length > 0) { startEngine(noTimers, isValidation, tg);
TestElement item = (TestElement) o; if (o instanceof AbstractThreadGroup) { if (!isInThreadGroups(item, threadGroupsToKeep)) { removeThreadGroupsFromHashTree(testTree.getTree(item), threadGroupsToKeep); removeThreadGroupsFromHashTree(testTree.getTree(item), threadGroupsToKeep);
/** * Start JMeter engine * @param ignoreTimer flag to ignore timers * @param threadGroupsToRun Array of AbstractThreadGroup to run */ private void startEngine(boolean ignoreTimer, AbstractThreadGroup[] threadGroupsToRun) { startEngine(ignoreTimer, false, threadGroupsToRun); }