Bug 329266 - Deprecate and remove IDisposable
diff --git a/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/contexts/IEclipseContext.java b/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/contexts/IEclipseContext.java index c698c3a..7f0cbdb 100644 --- a/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/contexts/IEclipseContext.java +++ b/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/contexts/IEclipseContext.java
@@ -11,8 +11,6 @@ package org.eclipse.e4.core.contexts; -import org.eclipse.e4.core.di.IDisposable; - /** * A context is used to isolate application code from its dependencies on an application framework * or container. This helps avoid building in dependencies on a specific framework that inhibit @@ -37,7 +35,7 @@ * @noimplement This interface is not intended to be implemented by clients. * @noextend This interface is not intended to be extended by clients. */ -public interface IEclipseContext extends IDisposable { +public interface IEclipseContext { /** * Returns whether this context or a parent has a value stored for the given name. @@ -281,4 +279,9 @@ */ public IEclipseContext getActiveLeaf(); + /** + * Disposes of this object. If this object is already disposed this method + * will have no effect. + */ + public void dispose(); }
diff --git a/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/EclipseContext.java b/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/EclipseContext.java index 65ea4ff..906cb78 100644 --- a/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/EclipseContext.java +++ b/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/EclipseContext.java
@@ -22,7 +22,6 @@ import org.eclipse.e4.core.contexts.IContextFunction; import org.eclipse.e4.core.contexts.IEclipseContext; import org.eclipse.e4.core.contexts.RunAndTrack; -import org.eclipse.e4.core.di.IDisposable; import org.eclipse.e4.core.internal.contexts.osgi.ContextDebugHelper; /** @@ -185,8 +184,8 @@ } } - if (strategy instanceof IDisposable) - ((IDisposable) strategy).dispose(); + if (strategy != null) + strategy.dispose(); localValueComputations.clear(); // if this was the parent's active child, deactivate it
diff --git a/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/ILookupStrategy.java b/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/ILookupStrategy.java index 81c6905..3277b4f 100644 --- a/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/ILookupStrategy.java +++ b/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/ILookupStrategy.java
@@ -43,4 +43,10 @@ * value for the given name, and <code>false</code> otherwise. */ public boolean containsKey(String name, IEclipseContext context); + + /** + * Disposes of this object. If this object is already disposed this method + * will have no effect. + */ + public void dispose(); }
diff --git a/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/osgi/OSGiContextStrategy.java b/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/osgi/OSGiContextStrategy.java index 48da0f1..560de75 100644 --- a/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/osgi/OSGiContextStrategy.java +++ b/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/osgi/OSGiContextStrategy.java
@@ -17,7 +17,6 @@ import java.util.WeakHashMap; import org.eclipse.e4.core.contexts.IContextFunction; import org.eclipse.e4.core.contexts.IEclipseContext; -import org.eclipse.e4.core.di.IDisposable; import org.eclipse.e4.core.internal.contexts.EclipseContext; import org.eclipse.e4.core.internal.contexts.IContextDisposalListener; import org.eclipse.e4.core.internal.contexts.ILookupStrategy; @@ -35,7 +34,7 @@ * <p> * OSGi services are looked up by service class name. */ -public class OSGiContextStrategy implements IContextDisposalListener, ILookupStrategy, IDisposable, ServiceTrackerCustomizer { +public class OSGiContextStrategy implements IContextDisposalListener, ILookupStrategy, ServiceTrackerCustomizer { class ServiceData { // the service name String name;
diff --git a/bundles/org.eclipse.e4.core.di/src/org/eclipse/e4/core/di/IDisposable.java b/bundles/org.eclipse.e4.core.di/src/org/eclipse/e4/core/di/IDisposable.java index 45be430..6632607 100644 --- a/bundles/org.eclipse.e4.core.di/src/org/eclipse/e4/core/di/IDisposable.java +++ b/bundles/org.eclipse.e4.core.di/src/org/eclipse/e4/core/di/IDisposable.java
@@ -12,6 +12,9 @@ /** * A generic interface to be used on objects that require explicit disposal. + * @deprecated This interface will be removed by the end of 4.1M4: + * - The IEclipseContext includes {@link #dispose()} method in its definition; and + * - regular objects should use PreDestroy annotation instead. */ public interface IDisposable { /**
diff --git a/bundles/org.eclipse.e4.core.di/src/org/eclipse/e4/core/internal/di/InjectorImpl.java b/bundles/org.eclipse.e4.core.di/src/org/eclipse/e4/core/internal/di/InjectorImpl.java index efc4120..1554014 100644 --- a/bundles/org.eclipse.e4.core.di/src/org/eclipse/e4/core/internal/di/InjectorImpl.java +++ b/bundles/org.eclipse.e4.core.di/src/org/eclipse/e4/core/internal/di/InjectorImpl.java
@@ -36,7 +36,6 @@ import javax.inject.Provider; import javax.inject.Singleton; import org.eclipse.e4.core.di.IBinding; -import org.eclipse.e4.core.di.IDisposable; import org.eclipse.e4.core.di.IInjector; import org.eclipse.e4.core.di.InjectionException; import org.eclipse.e4.core.di.annotations.Optional; @@ -322,8 +321,6 @@ } } for (int i = 0; i < count; i++) { - if (objects[i] instanceof IDisposable) - ((IDisposable) objects[i]).dispose(); uninject(objects[i], objectSupplier); } forgetSupplier(objectSupplier);
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/EclipseContextTest.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/EclipseContextTest.java index 7f69865..abfc959 100644 --- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/EclipseContextTest.java +++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/EclipseContextTest.java
@@ -16,7 +16,6 @@ import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.eclipse.e4.core.contexts.IEclipseContext; import org.eclipse.e4.core.contexts.RunAndTrack; -import org.eclipse.e4.core.di.IDisposable; import org.eclipse.e4.core.internal.contexts.EclipseContext; public class EclipseContextTest extends TestCase { @@ -91,7 +90,7 @@ assertNull(context.get("foo")); parentContext.set("foo", "bar"); assertEquals("bar", context.get("foo")); - ((IDisposable) context).dispose(); + context.dispose(); assertNull(context.get("foo")); assertNull(((EclipseContext)parentContext).getChildren()); }
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/AnnotationsInjectionTest.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/AnnotationsInjectionTest.java index ad2e1aa..6fe02d4 100644 --- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/AnnotationsInjectionTest.java +++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/AnnotationsInjectionTest.java
@@ -23,7 +23,6 @@ import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.eclipse.e4.core.contexts.IEclipseContext; -import org.eclipse.e4.core.di.IDisposable; import org.eclipse.e4.core.di.annotations.Execute; import org.eclipse.e4.core.di.annotations.Optional; @@ -199,7 +198,7 @@ assertEquals(fieldValue, object.injectedField); assertNull(object.methodValue); - ((IDisposable) context).dispose(); + context.dispose(); if (error[0] != null) throw error[0]; } @@ -288,7 +287,7 @@ assertEquals(0, userObject.subPreDestroyCount); assertEquals(0, userObject.overriddenPreDestroyCount); - ((IDisposable) context).dispose(); + context.dispose(); assertEquals(1, userObject.superPreDestroyCount); assertEquals(1, userObject.subPreDestroyCount); assertEquals(1, userObject.overriddenPreDestroyCount); @@ -361,7 +360,7 @@ assertNotNull(object.value); assertNotNull(object.directFieldInjection); - ((IDisposable)context).dispose(); + context.dispose(); assertEquals(1, object.preDestoryCalled); assertNull(object.value);
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/Bug304585Test.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/Bug304585Test.java index 7802d60..d849a89 100644 --- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/Bug304585Test.java +++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/Bug304585Test.java
@@ -18,7 +18,6 @@ import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.eclipse.e4.core.contexts.IEclipseContext; -import org.eclipse.e4.core.di.IDisposable; import org.eclipse.e4.core.internal.contexts.EclipseContext; import org.eclipse.e4.core.internal.contexts.ILookupStrategy; @@ -47,8 +46,8 @@ ContextInjectionFactory.make(InjectFieldTarget.class, child); - ((IDisposable) child).dispose(); - ((IDisposable) parent).dispose(); + child.dispose(); + parent.dispose(); assertFalse("Strategy used after context disposed", strategy.lookupAfterDisposed); } @@ -59,12 +58,12 @@ ContextInjectionFactory.make(InjectMethodTarget.class, child); - ((IDisposable) child).dispose(); - ((IDisposable) parent).dispose(); + child.dispose(); + parent.dispose(); assertFalse("Strategy used after context disposed", strategy.lookupAfterDisposed); } - public static class Strategy implements IDisposable, ILookupStrategy { + public static class Strategy implements ILookupStrategy { private boolean disposed = false; boolean lookupAfterDisposed = false; private PrintService printer = new StringPrintService();
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ComplexDisposalTest.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ComplexDisposalTest.java index 82317ce..4ec22c0 100644 --- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ComplexDisposalTest.java +++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ComplexDisposalTest.java
@@ -20,7 +20,6 @@ import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.eclipse.e4.core.contexts.IEclipseContext; -import org.eclipse.e4.core.di.IDisposable; /** * See bug 296337: duplicate disposal of an object @@ -60,9 +59,9 @@ Test test = (Test) context.get(Test.class.getName()); assertEquals(0, test.getCount()); - ((IDisposable) context).dispose(); + context.dispose(); assertEquals("Context disposed, @PreDestroy should've been called", 1, test.getCount()); - ((IDisposable) parentContext).dispose(); + parentContext.dispose(); assertEquals("Parent context disposed, @PreDestroy should not have been called again", 1, test.getCount()); } @@ -74,9 +73,9 @@ Test test = (Test) ContextInjectionFactory.make(Test.class, context); assertEquals(0, test.getCount()); - ((IDisposable) context).dispose(); + context.dispose(); assertEquals("Context disposed, @PreDestroy should've been called", 1, test.getCount()); - ((IDisposable) parentContext).dispose(); + parentContext.dispose(); assertEquals("Parent context disposed, @PreDestroy should not have been called again", 1, test.getCount()); } @@ -89,9 +88,9 @@ ContextInjectionFactory.inject(test, context); assertEquals(0, test.getCount()); - ((IDisposable) context).dispose(); + context.dispose(); assertEquals("Context disposed, @PreDestroy should've been called", 1, test.getCount()); - ((IDisposable) parentContext).dispose(); + parentContext.dispose(); assertEquals("Parent context disposed, @PreDestroy should not have been called again", 1, test.getCount()); } }
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ContextInjectionDisposeTest.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ContextInjectionDisposeTest.java index 3088903..ef3af96 100644 --- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ContextInjectionDisposeTest.java +++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ContextInjectionDisposeTest.java
@@ -10,14 +10,16 @@ *******************************************************************************/ package org.eclipse.e4.core.internal.tests.contexts.inject; +import javax.annotation.PreDestroy; import javax.inject.Inject; + import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; + import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.eclipse.e4.core.contexts.IEclipseContext; -import org.eclipse.e4.core.di.IDisposable; /** * Tests for injection handling of context dispose, and handling disposal of injected objects. @@ -37,7 +39,7 @@ } public void testContextDisposedNoArg() { - class Injected implements IDisposable { + class Injected { boolean disposeInvoked = false; @@ -45,6 +47,8 @@ @Inject private String Field; + @SuppressWarnings("unused") + @PreDestroy public void dispose() { disposeInvoked = true; } @@ -53,18 +57,20 @@ context.set(String.class.getName(), "hello"); Injected object = new Injected(); ContextInjectionFactory.inject(object, context); - ((IDisposable) context).dispose(); + context.dispose(); assertTrue(object.disposeInvoked); } public void testDisposeContext() { - class Injected implements IDisposable { + class Injected { boolean disposeInvoked = false; @Inject Object Field; String methodValue; + @SuppressWarnings("unused") + @PreDestroy public void dispose() { disposeInvoked = true; } @@ -87,26 +93,22 @@ assertEquals(methodValue, object.methodValue); // disposing context should clear values - ((IDisposable) context).dispose(); + context.dispose(); assertNull(object.Field); assertNull(object.methodValue); assertTrue(object.disposeInvoked); } public void testReleaseObject() { - class Injected implements IDisposable { + class Injected { boolean disposeInvoked = false; - boolean destroyInvoked = false; @Inject Integer Field; Object methodValue; @SuppressWarnings("unused") - public void destroy() { - destroyInvoked = true; - } - + @PreDestroy public void dispose() { disposeInvoked = true; } @@ -134,8 +136,7 @@ assertNull(object.Field); assertNull(object.methodValue); - assertFalse(object.disposeInvoked); - assertFalse(object.destroyInvoked); + assertTrue(object.disposeInvoked); } }
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ExtraDependenciesTest.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ExtraDependenciesTest.java index 96b8a80..2ca0087 100644 --- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ExtraDependenciesTest.java +++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ExtraDependenciesTest.java
@@ -21,7 +21,6 @@ import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.eclipse.e4.core.contexts.IEclipseContext; -import org.eclipse.e4.core.di.IDisposable; public class ExtraDependenciesTest extends TestCase { @@ -79,7 +78,7 @@ assertEquals("other", object.other); // dispose the other context; should not cause disposal of the test object - ((IDisposable)otherContext).dispose(); + otherContext.dispose(); assertEquals("other", object.other); assertFalse(object.disposed); @@ -95,7 +94,7 @@ assertNull(object.other); // check that disposal of the injected context causes disposal of the injected object - ((IDisposable)context).dispose(); + context.dispose(); assertTrue(object.disposed); assertNull(object.string); assertNull(object.integer);
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/InjectionOrderTest.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/InjectionOrderTest.java index 555bd97..f1b8cd6 100644 --- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/InjectionOrderTest.java +++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/InjectionOrderTest.java
@@ -19,7 +19,6 @@ import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.eclipse.e4.core.contexts.IEclipseContext; -import org.eclipse.e4.core.di.IDisposable; public class InjectionOrderTest extends TestCase { @@ -73,7 +72,7 @@ appContext.set("inject", "b"); // now we dispose the context - ((IDisposable) appContext).dispose(); + appContext.dispose(); // check that the second 'set' invocation did not alter the order of notifications assertTrue("@PreDestroy was incorrectly called after the method was uninjected", injectTargetMethod.nonNull); @@ -97,7 +96,7 @@ appContext.set("inject", "b"); // now we dispose the context - ((IDisposable) appContext).dispose(); + appContext.dispose(); assertTrue("@PreDestroy was incorrectly called after the field was uninjected", injectTargetField.nonNull); }
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ParentContextDisposalTest.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ParentContextDisposalTest.java index 55a28e6..bf69e58 100644 --- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ParentContextDisposalTest.java +++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ParentContextDisposalTest.java
@@ -20,7 +20,6 @@ import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.eclipse.e4.core.contexts.IEclipseContext; -import org.eclipse.e4.core.di.IDisposable; public class ParentContextDisposalTest extends TestCase { static class Target { @@ -50,7 +49,7 @@ Target target = (Target) ContextInjectionFactory.make(Target.class, child); assertEquals(1, target.pc); - ((IDisposable) context).dispose(); + context.dispose(); assertEquals(1, target.pd); } }
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ServiceContextTest.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ServiceContextTest.java index 1647455..02ba0de 100644 --- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ServiceContextTest.java +++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ServiceContextTest.java
@@ -22,7 +22,6 @@ import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.eclipse.e4.core.contexts.IEclipseContext; import org.eclipse.e4.core.contexts.RunAndTrack; -import org.eclipse.e4.core.di.IDisposable; import org.eclipse.e4.core.internal.tests.CoreTestsActivator; import org.eclipse.osgi.service.debug.DebugOptions; import org.osgi.framework.BundleContext; @@ -90,7 +89,7 @@ protected void tearDown() throws Exception { super.tearDown(); - ((IDisposable) context).dispose(); + context.dispose(); for (ServiceRegistration reg : registrations) { try { reg.unregister(); @@ -170,7 +169,7 @@ assertEquals("1.0", stringPrint1, service); assertEquals("1.1", 1, ref.getUsingBundles().length); service = null; - ((IDisposable) context).dispose(); + context.dispose(); assertNull("2.0", ref.getUsingBundles()); } finally { reg1.unregister(); @@ -189,7 +188,7 @@ context.runAndTrack(new RunAndTrack() { public boolean changed(IEclipseContext context) { if (context.get(PrintService.SERVICE_NAME) == null) { - ((IDisposable) child).dispose(); + child.dispose(); done[0] = true; } return true; @@ -235,7 +234,7 @@ child = context.createChild("child-2"); service = (PrintService) child.get(PrintService.SERVICE_NAME); service = null; - ((IDisposable) child).dispose(); + child.dispose(); child = null; //now there should be no service references, even though child1 was never disposed
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/di/DisposeClassLinkTest.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/di/DisposeClassLinkTest.java index 285a3e7..2efc39d 100644 --- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/di/DisposeClassLinkTest.java +++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/di/DisposeClassLinkTest.java
@@ -19,7 +19,6 @@ import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.eclipse.e4.core.contexts.IEclipseContext; -import org.eclipse.e4.core.di.IDisposable; /** * Checks that injected objects that do not have normal links @@ -68,7 +67,7 @@ Test test = (Test) ContextInjectionFactory.make(Test.class, context); assertEquals(0, test.getCount()); - ((IDisposable) context).dispose(); + context.dispose(); assertEquals(1, test.getCount()); } @@ -78,9 +77,9 @@ Test test = (Test) ContextInjectionFactory.make(Test.class, context); assertEquals(0, test.getCount()); - ((IDisposable) context).dispose(); + context.dispose(); assertEquals(1, test.getCount()); - ((IDisposable) parentContext).dispose(); + parentContext.dispose(); assertEquals(1, test.getCount()); } @@ -91,7 +90,7 @@ ContextInjectionFactory.inject(test, context); assertEquals(0, test.getCount()); - ((IDisposable) context).dispose(); + context.dispose(); assertEquals(1, test.getCount()); } @@ -102,9 +101,9 @@ ContextInjectionFactory.inject(test, context); assertEquals(0, test.getCount()); - ((IDisposable) context).dispose(); + context.dispose(); assertEquals(1, test.getCount()); - ((IDisposable) parentContext).dispose(); + parentContext.dispose(); assertEquals(1, test.getCount()); } @@ -117,7 +116,7 @@ assertEquals("@PostConstruct should have been called once", 1, obj.postConstruct); assertEquals("@PreDestroy should not have been called", 0, obj.preDestroy); - ((IDisposable) context).dispose(); + context.dispose(); assertNull("The object should have been uninjected", obj.context); assertEquals("@PostConstruct should only have been called once", 1, obj.postConstruct);
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/di/InjectionOrderTest.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/di/InjectionOrderTest.java index 22457d2..8c321d1 100644 --- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/di/InjectionOrderTest.java +++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/di/InjectionOrderTest.java
@@ -19,7 +19,6 @@ import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.eclipse.e4.core.contexts.IEclipseContext; -import org.eclipse.e4.core.di.IDisposable; import org.eclipse.e4.core.di.InjectionException; public class InjectionOrderTest extends TestCase { @@ -60,7 +59,7 @@ exception = true; } assertTrue(exception); - ((IDisposable) appContext).dispose(); + appContext.dispose(); assertEquals(0, InjectUnsatisfied.count); } }
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/manual/InjectionErrorReportingTest.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/manual/InjectionErrorReportingTest.java index f4af7a9..dfbf57f 100644 --- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/manual/InjectionErrorReportingTest.java +++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/manual/InjectionErrorReportingTest.java
@@ -20,7 +20,6 @@ import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.eclipse.e4.core.contexts.IEclipseContext; -import org.eclipse.e4.core.di.IDisposable; import org.eclipse.e4.core.di.InjectionException; /** @@ -227,7 +226,7 @@ ContextInjectionFactory.make(InjectedPreDestroy.class, context); boolean exception = false; try { - ((IDisposable)context).dispose(); + context.dispose(); } catch (InjectionException e) { basicLog(e); exception = true;