You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2015/10/02 19:01:50 UTC
svn commit: r1706447 - in
/sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi:
MockBundleContext.java MockOsgi.java context/OsgiContextImpl.java
package-info.java
Author: sseifert
Date: Fri Oct 2 17:01:49 2015
New Revision: 1706447
URL: http://svn.apache.org/viewvc?rev=1706447&view=rev
Log:
SLING-5089 mock-osgi: Deactivate all services on shutdown
Modified:
sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockBundleContext.java
sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java
sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java
sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/package-info.java
Modified: sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockBundleContext.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockBundleContext.java?rev=1706447&r1=1706446&r2=1706447&view=diff
==============================================================================
--- sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockBundleContext.java (original)
+++ sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/MockBundleContext.java Fri Oct 2 17:01:49 2015
@@ -290,6 +290,20 @@ class MockBundleContext implements Bundl
// no mock implementation, simulate that no property is found and return null
return null;
}
+
+ /**
+ * Deactivates all bundles registered in this mocked bundle context.
+ */
+ public void shutdown() {
+ for (MockServiceRegistration serviceRegistration : ImmutableList.copyOf(registeredServices)) {
+ try {
+ MockOsgi.deactivate(serviceRegistration.getService(), this, serviceRegistration.getProperties());
+ }
+ catch (NoScrMetadataException ex) {
+ // ignore, no deactivate method is available then
+ }
+ }
+ }
// --- unsupported operations ---
@Override
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=1706447&r1=1706446&r2=1706447&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 Fri Oct 2 17:01:49 2015
@@ -258,4 +258,11 @@ public final class MockOsgi {
return OsgiServiceUtil.modified(target, bundleContext, mergedProperties);
}
+ /**
+ * Deactivates all bundles registered in the mocked bundle context.
+ */
+ public static void shutdown(BundleContext bundleContext) {
+ ((MockBundleContext)bundleContext).shutdown();
+ }
+
}
Modified: sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java?rev=1706447&r1=1706446&r2=1706447&view=diff
==============================================================================
--- sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java (original)
+++ sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImpl.java Fri Oct 2 17:01:49 2015
@@ -53,7 +53,12 @@ public class OsgiContextImpl {
* Teardown actions after test method execution
*/
protected void tearDown() {
- // can be overridden by subclasses
+ if (componentContext != null) {
+ // deactivate all services
+ MockOsgi.shutdown(componentContext.getBundleContext());
+ }
+
+ this.componentContext = null;
}
/**
Modified: sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/package-info.java?rev=1706447&r1=1706446&r2=1706447&view=diff
==============================================================================
--- sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/package-info.java (original)
+++ sling/trunk/testing/mocks/osgi-mock/src/main/java/org/apache/sling/testing/mock/osgi/package-info.java Fri Oct 2 17:01:49 2015
@@ -19,5 +19,5 @@
/**
* Mock implementation of selected OSGi APIs.
*/
-@aQute.bnd.annotation.Version("2.3")
+@aQute.bnd.annotation.Version("2.4")
package org.apache.sling.testing.mock.osgi;