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].