当前位置: 首页>>代码示例>>Java>>正文


Java HashTree.traverse方法代码示例

本文整理汇总了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);
    }
}
 
开发者ID:Blazemeter,项目名称:jmeter-debugger,代码行数:33,代码来源:DebuggerDialog.java

示例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;
}
 
开发者ID:johrstrom,项目名称:cloud-meter,代码行数:16,代码来源:StandardJMeterEngine.java

示例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();
}
 
开发者ID:johrstrom,项目名称:cloud-meter,代码行数:8,代码来源:ClientJMeterEngine.java

示例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;
}
 
开发者ID:johrstrom,项目名称:cloud-meter,代码行数:16,代码来源:JMeterThread.java

示例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());
	}

	
}
 
开发者ID:johrstrom,项目名称:cloud-meter,代码行数:15,代码来源:HashTreeSerializer.java

示例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()
        {
        }
    });
}
 
开发者ID:d0k1,项目名称:jsflight,代码行数:32,代码来源:JMeterRecorder.java

示例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;
}
 
开发者ID:botelhojp,项目名称:apache-jmeter-2.10,代码行数:32,代码来源:ReportCheckDirty.java

示例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;
}
 
开发者ID:botelhojp,项目名称:apache-jmeter-2.10,代码行数:16,代码来源:StandardJMeterEngine.java

示例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);
}
 
开发者ID:botelhojp,项目名称:apache-jmeter-2.10,代码行数:38,代码来源:CheckDirty.java

示例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;
}
 
开发者ID:botelhojp,项目名称:apache-jmeter-2.10,代码行数:13,代码来源:JMeterThread.java

示例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();

}
 
开发者ID:denkbar,项目名称:step,代码行数:58,代码来源:JMeterLocalHandler.java

示例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];
}
 
开发者ID:Blazemeter,项目名称:jmeter-debugger,代码行数:7,代码来源:DebuggerEngineTest.java


注:本文中的org.apache.jorphan.collections.HashTree.traverse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。