From 43c75ac89f43dea0d4ee3f858ce3382c51d04f7d Mon Sep 17 00:00:00 2001 From: Pawel Piech Date: Mon, 24 May 2010 22:22:42 +0000 Subject: [PATCH] Refactoring of update listener to match debug platform tests. --- .../cdt/tests/dsf/vm/PerformanceTests.java | 11 +++------- .../dsf/vm/TestModelUpdatesListener.java | 20 +++++++++++++++++-- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/dsf/org.eclipse.cdt.tests.dsf/src/org/eclipse/cdt/tests/dsf/vm/PerformanceTests.java b/dsf/org.eclipse.cdt.tests.dsf/src/org/eclipse/cdt/tests/dsf/vm/PerformanceTests.java index 9c4eb4141a1..37a7e453960 100644 --- a/dsf/org.eclipse.cdt.tests.dsf/src/org/eclipse/cdt/tests/dsf/vm/PerformanceTests.java +++ b/dsf/org.eclipse.cdt.tests.dsf/src/org/eclipse/cdt/tests/dsf/vm/PerformanceTests.java @@ -53,11 +53,8 @@ abstract public class PerformanceTests extends TestCase implements ITestModelUpd fViewer = createViewer(fDisplay, fShell); - fListener = new TestModelUpdatesListener(false, false); - fViewer.addViewerUpdateListener(fListener); - fViewer.addLabelUpdateListener(fListener); - fViewer.addModelChangedListener(fListener); - + fListener = new TestModelUpdatesListener(fViewer, false, false); + fModel = new TestModel(); fModel.setRoot( new TestElement(fModel, "root", new TestElement[0] ) ); fModel.setElementChildren(TreePath.EMPTY, makeModelElements(fModel, getTestModelDepth(), "model")); @@ -76,9 +73,7 @@ abstract public class PerformanceTests extends TestCase implements ITestModelUpd protected void tearDown() throws Exception { fVMAdapter.dispose(); - fViewer.removeLabelUpdateListener(fListener); - fViewer.removeViewerUpdateListener(fListener); - fViewer.removeModelChangedListener(fListener); + fListener.dispose(); fViewer.getPresentationContext().dispose(); // Close the shell and exit. fShell.close(); diff --git a/dsf/org.eclipse.cdt.tests.dsf/src/org/eclipse/cdt/tests/dsf/vm/TestModelUpdatesListener.java b/dsf/org.eclipse.cdt.tests.dsf/src/org/eclipse/cdt/tests/dsf/vm/TestModelUpdatesListener.java index 090c264f78c..9888e79a643 100644 --- a/dsf/org.eclipse.cdt.tests.dsf/src/org/eclipse/cdt/tests/dsf/vm/TestModelUpdatesListener.java +++ b/dsf/org.eclipse.cdt.tests.dsf/src/org/eclipse/cdt/tests/dsf/vm/TestModelUpdatesListener.java @@ -23,6 +23,7 @@ import junit.framework.Assert; import org.eclipse.cdt.tests.dsf.vm.TestModel.TestElement; import org.eclipse.debug.internal.ui.viewers.model.ILabelUpdateListener; import org.eclipse.debug.internal.ui.viewers.model.ITreeModelContentProviderTarget; +import org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer; import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenCountUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate; import org.eclipse.debug.internal.ui.viewers.model.provisional.IHasChildrenUpdate; @@ -114,7 +115,9 @@ public class TestModelUpdatesListener } }; - + + private final ITreeModelViewer fViewer; + private boolean fFailOnRedundantUpdates; private boolean fFailOnMultipleModelUpdateSequences; private boolean fFailOnMultipleLabelUpdateSequences; @@ -136,11 +139,24 @@ public class TestModelUpdatesListener private long fTimeoutTime; - public TestModelUpdatesListener(boolean failOnRedundantUpdates, boolean failOnMultipleModelUpdateSequences) { + public TestModelUpdatesListener(ITreeModelViewer viewer, boolean failOnRedundantUpdates, boolean failOnMultipleModelUpdateSequences) { setFailOnRedundantUpdates(failOnRedundantUpdates); setFailOnMultipleModelUpdateSequences(failOnMultipleModelUpdateSequences); + fViewer = viewer; + fViewer.addLabelUpdateListener(this); + fViewer.addModelChangedListener(this); + fViewer.addStateUpdateListener(this); + fViewer.addViewerUpdateListener(this); + } + + public void dispose() { + fViewer.removeLabelUpdateListener(this); + fViewer.removeModelChangedListener(this); + fViewer.removeStateUpdateListener(this); + fViewer.removeViewerUpdateListener(this); } + public void setFailOnRedundantUpdates(boolean failOnRedundantUpdates) { fFailOnRedundantUpdates = failOnRedundantUpdates; }