public void run() { Vector vpath= new Vector(); int index= fModel.findTest(test, (Test)fModel.getRoot(), vpath); if (index >= 0) { Object[] path= new Object[vpath.size()]; vpath.copyInto(path); TreePath treePath= new TreePath(path); fModel.fireNodeChanged(treePath, index); if (expand) { Object[] fullPath= new Object[vpath.size()+1]; vpath.copyInto(fullPath); fullPath[vpath.size()]= fModel.getChild(treePath.getLastPathComponent(), index);; TreePath fullTreePath= new TreePath(fullPath); fTree.scrollPathToVisible(fullTreePath); } } } }
public void revealFailure(Test failure) { JTree tree= fTreeBrowser.getTree(); TestTreeModel model= (TestTreeModel)tree.getModel(); Vector vpath= new Vector(); int index= model.findTest(failure, (Test)model.getRoot(), vpath); if (index >= 0) { Object[] path= new Object[vpath.size()+1]; vpath.copyInto(path); Object last= path[vpath.size()-1]; path[vpath.size()]= model.getChild(last, index); TreePath selectionPath= new TreePath(path); tree.setSelectionPath(selectionPath); tree.makeVisible(selectionPath); } }
/** * Finds the path to a test. Returns the index of the test in its * parent test suite. */ public int findTest(Test target, Test node, Vector path) { if (target.equals(node)) return 0; TestSuite suite= isTestSuite(node); for (int i= 0; i < getChildCount(node); i++) { Test t= suite.testAt(i); int index= findTest(target, t, path); if (index >= 0) { path.insertElementAt(node, 0); if (path.size() == 1) return i; return index; } } return -1; } /**