本文整理汇总了Java中org.apache.jorphan.collections.HashTree.traverse方法的典型用法代码示例。如果您正苦于以下问题:Java HashTree.traverse方法的具体用法?Java HashTree.traverse怎么用?Java HashTree.traverse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.jorphan.collections.HashTree
的用法示例。
在下文中一共展示了HashTree.traverse方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: selectThreadGroup
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
private void selectThreadGroup(AbstractThreadGroup tg) {
debugger.selectThreadGroup(tg);
treeModel.clearTestPlan();
HashTree origTree = debugger.getSelectedTree();
TreeCloner cloner = new TreeCloner();
origTree.traverse(cloner);
HashTree selectedTree = cloner.getClonedTree();
// Hack to resolve ModuleControllers from JMeter.java
SearchClass<ReplaceableController> replaceableControllers = new SearchClass<>(ReplaceableController.class);
selectedTree.traverse(replaceableControllers);
Collection<ReplaceableController> replaceableControllersRes = replaceableControllers.getSearchResults();
for (ReplaceableController replaceableController : replaceableControllersRes) {
replaceableController.resolveReplacementSubTree((JMeterTreeNode) treeModel.getRoot());
}
JMeter.convertSubTree(selectedTree);
try {
treeModel.addSubTree(selectedTree, (JMeterTreeNode) treeModel.getRoot());
} catch (IllegalUserActionException e) {
throw new RuntimeException(e);
}
// select TG for visual convenience
SearchByClass<DebuggingThreadGroup> tgs = new SearchByClass<>(DebuggingThreadGroup.class);
selectedTree.traverse(tgs);
for (DebuggingThreadGroup forSel : tgs.getSearchResults()) {
Wrapper<AbstractThreadGroup> wtg = new ThreadGroupWrapper();
wtg.setWrappedElement(forSel);
selectTargetInTree(wtg);
}
}
示例2: configure
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
@Override
public void configure(HashTree testTree) {
// Is testplan serialised?
SearchByClass<TestPlan> testPlan = new SearchByClass<>(TestPlan.class);
testTree.traverse(testPlan);
Object[] plan = testPlan.getSearchResults().toArray();
if (plan.length == 0) {
throw new RuntimeException("Could not find the TestPlan class!");
}
TestPlan tp = (TestPlan) plan[0];
serialized = tp.isSerialized();
tearDownOnShutdown = tp.isTearDownOnShutdown();
active = true;
test = testTree;
}
示例3: configure
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override
public void configure(HashTree testTree) {
TreeCloner cloner = new TreeCloner(false);
testTree.traverse(cloner);
test = cloner.getClonedTree();
}
示例4: JMeterThread
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
public JMeterThread(HashTree test, JMeterThreadMonitor monitor, ListenerNotifier note) {
this.monitor = monitor;
threadVars = new JMeterVariables();
testTree = test;
compiler = new TestCompiler(testTree);
threadGroupLoopController = (Controller) testTree.getArray()[0];
SearchByClass<TestIterationListener> threadListenerSearcher = new SearchByClass<>(TestIterationListener.class); // TL - IS
test.traverse(threadListenerSearcher);
testIterationStartListeners = threadListenerSearcher.getSearchResults();
SearchByClass<SampleMonitor> sampleMonitorSearcher = new SearchByClass<>(SampleMonitor.class);
test.traverse(sampleMonitorSearcher);
sampleMonitors = sampleMonitorSearcher.getSearchResults();
notifier = note;
running = true;
}
示例5: serialize
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
@Override
public void serialize(HashTree tree, JsonGenerator generator, SerializerProvider serializer){
try {
generator.writeStartArray();
tree.traverse(new JSonTraverser(generator));
generator.writeEndArray();
} catch (IOException e) {
log.error("Cannot begin or end testplan serialization. Exception type: {}, message {}.",
e.getClass().getName(), e.getMessage());
}
}
示例6: findMainNodesAndTrees
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
private void findMainNodesAndTrees(HashTree hashTree)
{
hashTree.traverse(new HashTreeTraverser()
{
@Override
public void addNode(Object node, HashTree subTree)
{
System.out.println("Node: " + node.toString());
if (node instanceof Arguments && ((Arguments)node).getName().equalsIgnoreCase("UDV"))
{
vars = (Arguments)node;
}
if (node instanceof TransactionController)
{
transactionControllerSubTree = subTree;
}
}
@Override
public void processPath()
{
}
@Override
public void subtractNode()
{
}
});
}
示例7: doAction
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
/**
* @see org.apache.jmeter.gui.action.Command#doAction(ActionEvent)
*/
@Override
public void doAction(ActionEvent e) {
String action = e.getActionCommand();
if (action.equals(SUB_TREE_SAVED)) {
HashTree subTree = (HashTree) e.getSource();
subTree.traverse(this);
} else if (action.equals(SUB_TREE_LOADED)) {
ListedHashTree addTree = (ListedHashTree) e.getSource();
addTree.traverse(this);
} else if (action.equals(ADD_ALL)) {
previousGuiItems.clear();
ReportGuiPackage.getInstance().getTreeModel().getReportPlan().traverse(this);
} else if (action.equals(REMOVE)) {
ReportGuiPackage guiPackage = ReportGuiPackage.getInstance();
ReportTreeNode[] nodes = guiPackage.getTreeListener().getSelectedNodes();
removeMode = true;
for (int i = nodes.length - 1; i >= 0; i--) {
guiPackage.getTreeModel().getCurrentSubTree(nodes[i]).traverse(this);
}
removeMode = false;
}
checkMode = true;
dirty = false;
HashTree wholeTree = ReportGuiPackage.getInstance().getTreeModel().getReportPlan();
wholeTree.traverse(this);
ReportGuiPackage.getInstance().setDirty(dirty);
checkMode = false;
}
示例8: configure
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
@Override
public void configure(HashTree testTree) {
// Is testplan serialised?
SearchByClass<TestPlan> testPlan = new SearchByClass<TestPlan>(TestPlan.class);
testTree.traverse(testPlan);
Object[] plan = testPlan.getSearchResults().toArray();
if (plan.length == 0) {
throw new RuntimeException("Could not find the TestPlan class!");
}
TestPlan tp = (TestPlan) plan[0];
serialized = tp.isSerialized();
tearDownOnShutdown = tp.isTearDownOnShutdown();
active = true;
test = testTree;
}
示例9: doAction
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
/**
* @see Command#doAction(ActionEvent)
*/
@Override
public void doAction(ActionEvent e) {
String action = e.getActionCommand();
if (action.equals(ActionNames.SUB_TREE_SAVED)) {
HashTree subTree = (HashTree) e.getSource();
subTree.traverse(this);
} else if (action.equals(ActionNames.SUB_TREE_LOADED)) {
ListedHashTree addTree = (ListedHashTree) e.getSource();
addTree.traverse(this);
} else if (action.equals(ActionNames.ADD_ALL)) {
previousGuiItems.clear();
GuiPackage.getInstance().getTreeModel().getTestPlan().traverse(this);
} else if (action.equals(ActionNames.CHECK_REMOVE)) {
GuiPackage guiPackage = GuiPackage.getInstance();
JMeterTreeNode[] nodes = guiPackage.getTreeListener().getSelectedNodes();
removeMode = true;
for (int i = nodes.length - 1; i >= 0; i--) {
guiPackage.getTreeModel().getCurrentSubTree(nodes[i]).traverse(this);
}
removeMode = false;
}
// If we are merging in another test plan, we know the test plan is dirty now
if(action.equals(ActionNames.SUB_TREE_MERGED)) {
dirty = true;
}
else {
dirty = false;
checkMode = true;
HashTree wholeTree = GuiPackage.getInstance().getTreeModel().getTestPlan();
wholeTree.traverse(this);
checkMode = false;
}
GuiPackage.getInstance().setDirty(dirty);
}
示例10: JMeterThread
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
public JMeterThread(HashTree test, JMeterThreadMonitor monitor, ListenerNotifier note) {
this.monitor = monitor;
threadVars = new JMeterVariables();
testTree = test;
compiler = new TestCompiler(testTree);
controller = (Controller) testTree.getArray()[0];
SearchByClass<TestIterationListener> threadListenerSearcher = new SearchByClass<TestIterationListener>(TestIterationListener.class); // TL - IS
test.traverse(threadListenerSearcher);
testIterationStartListeners = threadListenerSearcher.getSearchResults();
notifier = note;
running = true;
}
示例11: handle
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
@Override
public OutputMessage handle(AgentTokenWrapper token, InputMessage message) throws Exception {
ApplicationContext context = token.getServices().getApplicationContextBuilder().getCurrentContext();
if(context.get("initialized")==null) {
FileVersionId jmeterLibs = getFileVersionId("$jmeter.libraries", message.getProperties());
FileVersion jmeterLibFolder = token.getServices().getFileManagerClient().requestFileVersion(jmeterLibs.getFileId(), jmeterLibs.getVersion());
jmeterHome = jmeterLibFolder.getFile().getAbsolutePath();
updateClasspathSystemProperty();
JMeterUtils.setJMeterHome(jmeterHome);
JMeterUtils.loadJMeterProperties(jmeterHome+"/bin/jmeter.properties");
JMeterUtils.initLogging();
JMeterUtils.initLocale();
context.put("initialized", true);
}
OutputMessageBuilder out = new OutputMessageBuilder();
File testPlanFile = retrieveFileVersion("$jmeter.testplan.file", message.getProperties()).getFile();
StandardJMeterEngine jmeter = new StandardJMeterEngine();
HashTree testPlanTree = SaveService.loadTree(testPlanFile);
Arguments arguments = createArguments(message);
SampleListenerImpl listener = new SampleListenerImpl(out);
testPlanTree.traverse(new HashTreeTraverser() {
@Override
public void subtractNode() {
}
@Override
public void processPath() {
}
@Override
public void addNode(Object node, HashTree subTree) {
if (node instanceof TestPlan) {
testPlanTree.getTree(node).add(listener);
testPlanTree.getTree(node).add(arguments);
}
}
});
jmeter.configure(testPlanTree);
try {
jmeter.run();
} finally {
listener.collect();
}
return out.build();
}
示例12: getFirstTG
import org.apache.jorphan.collections.HashTree; //导入方法依赖的package包/类
private AbstractThreadGroup getFirstTG(HashTree tree) {
SearchClass<AbstractThreadGroup> searcher = new SearchClass<>(AbstractThreadGroup.class);
tree.traverse(searcher);
Collection<AbstractThreadGroup> searchResults = searcher.getSearchResults();
return searchResults.toArray(new AbstractThreadGroup[0])[0];
}