diff --git a/org.eclipse.scout.rt.client.test/src/test/java/org/eclipse/scout/rt/client/ui/basic/tree/AbstractTreeTest.java b/org.eclipse.scout.rt.client.test/src/test/java/org/eclipse/scout/rt/client/ui/basic/tree/AbstractTreeTest.java index a2f6074bb48..ca7e0c03401 100644 --- a/org.eclipse.scout.rt.client.test/src/test/java/org/eclipse/scout/rt/client/ui/basic/tree/AbstractTreeTest.java +++ b/org.eclipse.scout.rt.client.test/src/test/java/org/eclipse/scout/rt/client/ui/basic/tree/AbstractTreeTest.java @@ -20,7 +20,6 @@ import org.eclipse.scout.rt.platform.util.CollectionUtility; import org.eclipse.scout.rt.shared.data.basic.FontSpec; import org.eclipse.scout.rt.testing.platform.runner.PlatformTestRunner; -import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -43,7 +42,6 @@ public class AbstractTreeTest { @Before public void setup() { - //BEANS.get(IExtensionRegistry.class).register(TreeNodeExtension.class); m_tree = new P_Tree(); m_node1 = new P_TreeNode("node1"); m_node2 = new P_TreeNode("node2"); @@ -60,11 +58,6 @@ public void setup() { m_tree.addTreeListener(m_treeListener); } - @After - public void tearDown() { - //BEANS.get(IExtensionRegistry.class).deregister(TreeNodeExtension.class); - } - @Test public void testNodeChangedSingleEvents() { @@ -253,7 +246,7 @@ protected boolean containsEvent(List events, int eventType, ITreeNode private static void assertDisposed(ITestDisposable... disposables) { for (ITestDisposable disposable : disposables) { - assertTrue("should be desposed, but is not: " + disposable.getName(), disposable.isDisposed()); + assertTrue("should be disposed, but is not: " + disposable.getName(), disposable.isDisposed()); } } @@ -522,13 +515,11 @@ private interface ITestDisposable { boolean isDisposed(); String getName(); - } public static class P_TreeNode extends AbstractTreeNode implements ITestDisposable { boolean m_disposeInternalCalled = false; boolean m_execDisposeCalled = false; - boolean m_additionalDisposeCalled = false; private String m_name; @@ -543,7 +534,7 @@ public String getName() { @Override public boolean isDisposed() { - return m_disposeInternalCalled && m_execDisposeCalled && m_additionalDisposeCalled; + return m_disposeInternalCalled && m_execDisposeCalled; } @Override @@ -556,10 +547,6 @@ public void disposeInternal() { super.disposeInternal(); m_disposeInternalCalled = true; } - - public void additionalDispose() { - m_additionalDisposeCalled = true; - } } public static class P_TestMenu extends AbstractMenu implements ITestDisposable { @@ -586,5 +573,4 @@ public void disposeActionInternal() { m_disposed = true; } } - } diff --git a/org.eclipse.scout.rt.client/src/main/java/org/eclipse/scout/rt/client/ui/basic/tree/AbstractTreeNode.java b/org.eclipse.scout.rt.client/src/main/java/org/eclipse/scout/rt/client/ui/basic/tree/AbstractTreeNode.java index 1d2c47f2936..29c9cc664a7 100644 --- a/org.eclipse.scout.rt.client/src/main/java/org/eclipse/scout/rt/client/ui/basic/tree/AbstractTreeNode.java +++ b/org.eclipse.scout.rt.client/src/main/java/org/eclipse/scout/rt/client/ui/basic/tree/AbstractTreeNode.java @@ -315,9 +315,7 @@ public void setFilterAccepted(boolean b) { @Override public void resetFilterCache() { - synchronized (this) { - m_filteredChildNodes = null; - } + m_filteredChildNodes = null; } @Override @@ -1015,6 +1013,12 @@ public final void dispose() { catch (RuntimeException e) { LOG.warn("Exception while disposing node.", e); } + try { + execDispose(); + } + catch (RuntimeException e) { + LOG.warn("Exception while disposing node.", e); + } finally { setDisposing(false); }