Author: sseifert Date: Sat Oct 3 00:02:01 2015 New Revision: 1706507 URL: http://svn.apache.org/viewvc?rev=1706507&view=rev Log: SLING-5088 deprecate activate/deactivate methods without bundleContext parameter because there is a small risk for memory leaks
Modified: sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/MockBundleContextDynamicReferncesTest.java sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilTest.java Modified: sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java?rev=1706507&r1=1706506&r2=1706507&view=diff ============================================================================== --- sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java (original) +++ sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java Sat Oct 3 00:02:01 2015 @@ -129,7 +129,10 @@ public final class MockOsgi { * Simulate activation of service instance. Invokes the @Activate annotated method. * @param target Service instance. * @return true if activation method was called. False if no activate method is defined. + * @deprecated Please use {@link #activate(Object, BundleContext)} + * and shutdown the bundle context after usage. */ + @Deprecated public static boolean activate(Object target) { return MockOsgi.activate(target, (Dictionary<String, Object>)null); } @@ -137,9 +140,22 @@ public final class MockOsgi { /** * Simulate activation of service instance. Invokes the @Activate annotated method. * @param target Service instance. + * @param bundleContext Bundle context + * @return true if activation method was called. False if no activate method is defined. + */ + public static boolean activate(Object target, BundleContext bundleContext) { + return MockOsgi.activate(target, bundleContext, (Dictionary<String, Object>)null); + } + + /** + * Simulate activation of service instance. Invokes the @Activate annotated method. + * @param target Service instance. * @param properties Properties * @return true if activation method was called. False if no activate method is defined. + * @deprecated Please use {@link #activate(Object, BundleContext, Dictionary))} + * and shutdown the bundle context after usage. */ + @Deprecated public static boolean activate(Object target, Dictionary<String, Object> properties) { Dictionary<String, Object> mergedProperties = propertiesMergeWithOsgiMetadata(target, properties); ComponentContext componentContext = newComponentContext(mergedProperties); @@ -151,7 +167,10 @@ public final class MockOsgi { * @param target Service instance. * @param properties Properties * @return true if activation method was called. False if no activate method is defined. + * @deprecated Please use {@link #activate(Object, BundleContext, Map)))} + * and shutdown the bundle context after usage. */ + @Deprecated public static boolean activate(Object target, Map<String, Object> properties) { return activate(target, toDictionary(properties)); } @@ -184,7 +203,10 @@ public final class MockOsgi { * Simulate deactivation of service instance. Invokes the @Deactivate annotated method. * @param target Service instance. * @return true if deactivation method was called. False if no deactivate method is defined. + * @deprecated Please use {@link #deactivate(Object, BundleContext)} + * and shutdown the bundle context after usage. */ + @Deprecated public static boolean deactivate(Object target) { return MockOsgi.deactivate(target, (Dictionary<String, Object>)null); } @@ -192,9 +214,22 @@ public final class MockOsgi { /** * Simulate deactivation of service instance. Invokes the @Deactivate annotated method. * @param target Service instance. + * @param bundleContext Bundle context. + * @return true if deactivation method was called. False if no deactivate method is defined. + */ + public static boolean deactivate(Object target, BundleContext bundleContext) { + return MockOsgi.deactivate(target, bundleContext, (Dictionary<String, Object>)null); + } + + /** + * Simulate deactivation of service instance. Invokes the @Deactivate annotated method. + * @param target Service instance. * @param properties Properties * @return true if deactivation method was called. False if no deactivate method is defined. + * @deprecated Please use {@link #deactivate(Object, BundleContext, Dictionary))} + * and shutdown the bundle context after usage. */ + @Deprecated public static boolean deactivate(Object target, Dictionary<String, Object> properties) { Dictionary<String, Object> mergedProperties = propertiesMergeWithOsgiMetadata(target, properties); ComponentContext componentContext = newComponentContext(mergedProperties); @@ -206,7 +241,10 @@ public final class MockOsgi { * @param target Service instance. * @param properties Properties * @return true if deactivation method was called. False if no deactivate method is defined. + * @deprecated Please use {@link #deactivate(Object, BundleContext, Map)))} + * and shutdown the bundle context after usage. */ + @Deprecated public static boolean deactivate(Object target, Map<String, Object> properties) { return deactivate(target, toDictionary(properties)); } Modified: sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/MockBundleContextDynamicReferncesTest.java URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/MockBundleContextDynamicReferncesTest.java?rev=1706507&r1=1706506&r2=1706507&view=diff ============================================================================== --- sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/MockBundleContextDynamicReferncesTest.java (original) +++ sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/MockBundleContextDynamicReferncesTest.java Sat Oct 3 00:02:01 2015 @@ -73,7 +73,7 @@ public class MockBundleContextDynamicRef service = new Service3(); MockOsgi.injectServices(service, bundleContext); - MockOsgi.activate(service); + MockOsgi.activate(service, bundleContext); bundleContext.registerService(Service3.class.getName(), service, null); assertDependency1(dependency1a); Modified: sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilTest.java URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilTest.java?rev=1706507&r1=1706506&r2=1706507&view=diff ============================================================================== --- sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilTest.java (original) +++ sling/trunk/testing/mocks/osgi-mock/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilTest.java Sat Oct 3 00:02:01 2015 @@ -99,7 +99,7 @@ public class OsgiServiceUtilTest { assertEquals(1, reference3Configs.size()); assertEquals(200, reference3Configs.get(0).get(Constants.SERVICE_RANKING)); - assertTrue(MockOsgi.deactivate(service3)); + assertTrue(MockOsgi.deactivate(service3, bundleContext)); assertNull(service3.getComponentContext()); } @@ -128,7 +128,7 @@ public class OsgiServiceUtilTest { Service4 service4 = new Service4(); assertTrue(MockOsgi.injectServices(service4, bundleContext)); - assertFalse(MockOsgi.activate(service4)); + assertFalse(MockOsgi.activate(service4, bundleContext)); assertSame(service1, service4.getReference1()); } @@ -140,12 +140,12 @@ public class OsgiServiceUtilTest { @Test(expected=NoScrMetadataException.class) public void testActivateNoMetadata() { - MockOsgi.activate(new Object()); + MockOsgi.activate(new Object(), bundleContext); } @Test(expected=NoScrMetadataException.class) public void testDeactivateNoMetadata() { - MockOsgi.deactivate(new Object()); + MockOsgi.deactivate(new Object(), bundleContext); } @Test(expected=NoScrMetadataException.class)