tests tree builder refactored

This commit is contained in:
Roman Chernyatchik
2012-01-27 15:25:08 +04:00
parent 5760e940bf
commit 06bf96f2f5
4 changed files with 46 additions and 72 deletions
@@ -16,13 +16,10 @@
package com.intellij.execution.testframework.sm.runner;
import com.intellij.execution.testframework.ui.AbstractTestTreeBuilder;
import com.intellij.ide.util.treeView.AbstractTreeStructure;
import com.intellij.ide.util.treeView.AbstractTreeUpdater;
import com.intellij.ide.util.treeView.IndexComparator;
import com.intellij.ide.util.treeView.NodeDescriptor;
import com.intellij.ide.util.treeView.AbstractTreeUpdater;
import com.intellij.ide.util.treeView.AbstractTreeStructure;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.progress.util.StatusBarProgress;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
@@ -43,7 +40,7 @@ public class SMTRunnerTreeBuilder extends AbstractTestTreeBuilder {
}
public SMTRunnerTreeStructure getSMRunnerTreeStructure() {
return ((SMTRunnerTreeStructure)getTreeStructure()) ;
return ((SMTRunnerTreeStructure)getTreeStructure());
}
public void updateTestsSubtree(final SMTestProxy parentTestProxy) {
@@ -64,32 +61,16 @@ public class SMTRunnerTreeBuilder extends AbstractTestTreeBuilder {
}
if (((SMTestProxy)nodeElement).getParent() == rootElement
&& ((SMTestProxy)rootElement).getChildren().size() == 1){
&& ((SMTestProxy)rootElement).getChildren().size() == 1) {
return true;
}
return false;
}
protected boolean isAlwaysShowPlus(final NodeDescriptor descriptor) {
//TODO[romeo] move to base class
return false;
}
@NotNull
protected ProgressIndicator createProgressIndicator() {
//TODO[romeo] maybe move to base class
return new StatusBarProgress();
}
protected boolean isSmartExpand() {
//TODO[romeo] move to base class
return false;
}
/**
* for java unit tests
*/
public void performUpdate() {
getUpdater().performUpdate();
}
}
}
@@ -19,6 +19,10 @@ import com.intellij.execution.testframework.AbstractTestProxy;
import com.intellij.ide.util.treeView.AbstractTreeBuilder;
import com.intellij.ide.util.treeView.AbstractTreeStructure;
import com.intellij.ide.util.treeView.IndexComparator;
import com.intellij.ide.util.treeView.NodeDescriptor;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.progress.util.StatusBarProgress;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
@@ -51,4 +55,17 @@ public abstract class AbstractTestTreeBuilder extends AbstractTreeBuilder {
}
while (current != null);
}
protected boolean isAlwaysShowPlus(final NodeDescriptor descriptor) {
return false;
}
@NotNull
protected ProgressIndicator createProgressIndicator() {
return new StatusBarProgress();
}
protected boolean isSmartExpand() {
return false;
}
}
@@ -16,8 +16,8 @@
package com.intellij.execution.junit2.ui.model;
import com.intellij.execution.junit2.events.TestEvent;
import com.intellij.execution.junit2.TestProxy;
import com.intellij.execution.junit2.events.TestEvent;
import com.intellij.execution.junit2.ui.properties.JUnitConsoleProperties;
import com.intellij.execution.testframework.AbstractTestProxy;
import com.intellij.execution.testframework.TestTreeView;
@@ -25,9 +25,6 @@ import com.intellij.execution.testframework.ui.AbstractTestTreeBuilder;
import com.intellij.ide.util.treeView.IndexComparator;
import com.intellij.ide.util.treeView.NodeDescriptor;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.progress.util.StatusBarProgress;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
@@ -41,8 +38,9 @@ public class TestTreeBuilder extends AbstractTestTreeBuilder {
private static final Logger LOG = Logger.getInstance("#com.intellij.execution.junit2.ui.model.TestTreeBuilder");
private JUnitRunningModel myModel;
private final JUnitAdapter myListener = new JUnitAdapter(){
private final JUnitAdapter myListener = new JUnitAdapter() {
private final Collection<TestProxy> myNodesToUpdate = new HashSet<TestProxy>();
public void onEventsDispatched(final List<TestEvent> events) {
for (final TestEvent event : events) {
final TestProxy testSubtree = (TestProxy)event.getTestSubtree();
@@ -75,18 +73,11 @@ public class TestTreeBuilder extends AbstractTestTreeBuilder {
treeStructure.setSpecialNode(new SpecialNode(this, model));
myModel = model;
myModel.addListener(myListener);
init(tree, new DefaultTreeModel(new DefaultMutableTreeNode(treeStructure.createDescriptor(model.getRoot(), null))), treeStructure, IndexComparator.INSTANCE, true);
init(tree, new DefaultTreeModel(new DefaultMutableTreeNode(treeStructure.createDescriptor(model.getRoot(), null))), treeStructure,
IndexComparator.INSTANCE, true);
initRootNode();
}
protected boolean isSmartExpand() {
return false;
}
protected boolean isAlwaysShowPlus(final NodeDescriptor nodeDescriptor) {
return false;
}
protected boolean isAutoExpandNode(final NodeDescriptor nodeDescriptor) {
return nodeDescriptor.getElement() == myModel.getRoot();
}
@@ -96,7 +87,7 @@ public class TestTreeBuilder extends AbstractTestTreeBuilder {
DefaultMutableTreeNode node = getNodeForElement(test);
if (node != null) {
if (node.getParent() != null) {
expandNodeChildren((DefaultMutableTreeNode) node.getParent());
expandNodeChildren((DefaultMutableTreeNode)node.getParent());
node = getNodeForElement(test);
}
return node;
@@ -112,9 +103,4 @@ public class TestTreeBuilder extends AbstractTestTreeBuilder {
}
return node;
}
@NotNull
protected ProgressIndicator createProgressIndicator() {
return new StatusBarProgress();
}
}
@@ -27,36 +27,26 @@ import javax.swing.tree.DefaultTreeModel;
/**
* @author Hani Suleiman Date: Jul 28, 2005 Time: 10:49:36 PM
*/
public class TestTreeBuilder extends AbstractTestTreeBuilder
{
public TestTreeBuilder(JTree tree, AbstractTreeStructure structure) {
super(tree, new DefaultTreeModel(new DefaultMutableTreeNode(structure.getRootElement())), structure, IndexComparator.INSTANCE);
initRootNode();
}
public class TestTreeBuilder extends AbstractTestTreeBuilder {
public TestTreeBuilder(JTree tree, AbstractTreeStructure structure) {
super(tree, new DefaultTreeModel(new DefaultMutableTreeNode(structure.getRootElement())), structure, IndexComparator.INSTANCE);
initRootNode();
}
@Override
protected boolean isSmartExpand() {
return false;
}
@Override
protected boolean isAutoExpandNode(NodeDescriptor descriptor) {
return descriptor.getElement() == getTreeStructure().getRootElement();
}
@Override
protected boolean isAlwaysShowPlus(NodeDescriptor descriptor) {
return false;
public void addItem(TestProxy parent, TestProxy proxy) {
parent.addChild(proxy);
DefaultMutableTreeNode parentNode = getNodeForElement(parent);
if (parentNode != null) {
updateSubtree(parentNode);
}
}
@Override
protected boolean isAutoExpandNode(NodeDescriptor descriptor) {
return descriptor.getElement() == getTreeStructure().getRootElement();
}
public void addItem(TestProxy parent, TestProxy proxy) {
parent.addChild(proxy);
DefaultMutableTreeNode parentNode = getNodeForElement(parent);
if (parentNode != null)
updateSubtree(parentNode);
}
public TestProxy getRoot() {
return (TestProxy) getTreeStructure().getRootElement();
}
public TestProxy getRoot() {
return (TestProxy)getTreeStructure().getRootElement();
}
}