This is an automated email from the ASF dual-hosted git repository.

bdelacretaz pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-core.git


The following commit(s) were added to refs/heads/master by this push:
     new 7f6145e  SLING-7545 - SlingScriptEngineManager needs to be registered 
as a BundleListener
7f6145e is described below

commit 7f6145e79666c49844c49e9ce0d49d7954713a88
Author: Bertrand Delacretaz <[email protected]>
AuthorDate: Tue Mar 20 12:37:08 2018 +0100

    SLING-7545 - SlingScriptEngineManager needs to be registered as a 
BundleListener
---
 .../scripting/core/impl/jsr223/SlingScriptEngineManager.java  | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/scripting/core/impl/jsr223/SlingScriptEngineManager.java
 
b/src/main/java/org/apache/sling/scripting/core/impl/jsr223/SlingScriptEngineManager.java
index f82bc04..afa976a 100644
--- 
a/src/main/java/org/apache/sling/scripting/core/impl/jsr223/SlingScriptEngineManager.java
+++ 
b/src/main/java/org/apache/sling/scripting/core/impl/jsr223/SlingScriptEngineManager.java
@@ -46,6 +46,7 @@ import org.osgi.framework.wiring.BundleWiring;
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
 import org.osgi.service.component.annotations.Reference;
 import org.osgi.service.component.annotations.ReferenceCardinality;
 import org.osgi.service.component.annotations.ReferencePolicy;
@@ -56,7 +57,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @Component(
-        service = {ScriptEngineManager.class, SlingScriptEngineManager.class},
+        service = {ScriptEngineManager.class, SlingScriptEngineManager.class, 
BundleListener.class},
         reference = @Reference(
                 name = "ScriptEngineFactory",
                 bind = "bindScriptEngineFactory",
@@ -192,9 +193,15 @@ public class SlingScriptEngineManager extends 
ScriptEngineManager implements Bun
     @Activate
     private void activate(ComponentContext componentContext) {
         this.componentContext = componentContext;
+        componentContext.getBundleContext().addBundleListener(this);
         updateFactories();
     }
 
+    @Deactivate
+    private void deactivate(ComponentContext componentContext) {
+        componentContext.getBundleContext().removeBundleListener(this);
+    }
+
     private void bindScriptEngineFactory(final 
ServiceReference<ScriptEngineFactory> serviceReference,
                                            final ScriptEngineFactory factory) {
         synchronized (this.serviceReferences) {
@@ -310,4 +317,4 @@ public class SlingScriptEngineManager extends 
ScriptEngineManager implements Bun
             eventAdmin.postEvent(new Event(topic, props));
         }
     }
-}
+}
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to