SLING-12103 : Replace usage of commons.osgi with Converter
diff --git a/bnd.bnd b/bnd.bnd
index cc0b359..80c64c7 100644
--- a/bnd.bnd
+++ b/bnd.bnd
@@ -7,9 +7,6 @@
-exportcontents: ${packages;VERSIONED}
--includeresource:\
- @org.apache.sling.commons.osgi-*.jar!/org/apache/sling/commons/osgi/PropertiesUtil.*
-
-removeheaders:\
Include-Resource,\
Private-Package
diff --git a/pom.xml b/pom.xml
index 23cd88b..21c35b1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -113,9 +113,9 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>org.apache.sling</groupId>
- <artifactId>org.apache.sling.commons.osgi</artifactId>
- <version>2.4.0</version>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.util.converter</artifactId>
+ <version>1.0.9</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/src/main/java/org/apache/sling/scripting/core/impl/BindingsValuesProvidersByContextImpl.java b/src/main/java/org/apache/sling/scripting/core/impl/BindingsValuesProvidersByContextImpl.java
index 9ef85f9..2f454db 100644
--- a/src/main/java/org/apache/sling/scripting/core/impl/BindingsValuesProvidersByContextImpl.java
+++ b/src/main/java/org/apache/sling/scripting/core/impl/BindingsValuesProvidersByContextImpl.java
@@ -31,7 +31,6 @@
import javax.script.ScriptEngineFactory;
-import org.apache.sling.commons.osgi.PropertiesUtil;
import org.apache.sling.scripting.api.BindingsValuesProvider;
import org.apache.sling.scripting.api.BindingsValuesProvidersByContext;
import org.apache.sling.scripting.core.impl.jsr223.SlingScriptEngineManager;
@@ -48,6 +47,7 @@
import org.osgi.service.component.annotations.ReferencePolicyOption;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
+import org.osgi.util.converter.Converters;
import org.osgi.util.tracker.ServiceTracker;
import org.osgi.util.tracker.ServiceTrackerCustomizer;
import org.slf4j.Logger;
@@ -88,7 +88,7 @@
private abstract class ContextLoop {
private String [] getContexts(ServiceReference<?> reference) {
- return PropertiesUtil.toStringArray(reference.getProperty(CONTEXT), new String[] { DEFAULT_CONTEXT });
+ return Converters.standardConverter().convert(reference.getProperty(CONTEXT)).defaultValue(DEFAULT_CONTEXT_ARRAY).to(String[].class);
}
Object apply(ServiceReference<?> ref) {
@@ -160,7 +160,7 @@
// overrides these
final Map<String, Object> factoryProperties = scriptEngineManager.getServiceProperties(scriptEngineFactory);
if (factoryProperties != null) {
- String[] compatibleLangs = PropertiesUtil.toStringArray(factoryProperties.get("compatible.javax.script.name"), new String[0]);
+ String[] compatibleLangs = Converters.standardConverter().convert(factoryProperties.get("compatible.javax.script.name")).to(String[].class);
for (final String name : compatibleLangs) {
final Map<ServiceReference<?>, BindingsValuesProvider> langProviders = bvpc.getLangBindingsValuesProviders().get(name);
if (langProviders != null) {
diff --git a/src/main/java/org/apache/sling/scripting/core/impl/ContextBvpCollector.java b/src/main/java/org/apache/sling/scripting/core/impl/ContextBvpCollector.java
index c77914a..1c2df35 100644
--- a/src/main/java/org/apache/sling/scripting/core/impl/ContextBvpCollector.java
+++ b/src/main/java/org/apache/sling/scripting/core/impl/ContextBvpCollector.java
@@ -26,10 +26,10 @@
import javax.script.Bindings;
import javax.script.ScriptEngine;
-import org.apache.sling.commons.osgi.PropertiesUtil;
import org.apache.sling.scripting.api.BindingsValuesProvider;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
+import org.osgi.util.converter.Converters;
/** Keeps track of {@link BindingsValuesProvider} for a single context */
class ContextBvpCollector {
@@ -57,8 +57,7 @@
@SuppressWarnings("unchecked")
public Object addingService(final ServiceReference<?> ref) {
- final String[] engineNames = PropertiesUtil
- .toStringArray(ref.getProperty(ScriptEngine.NAME), new String[0]);
+ final String[] engineNames = Converters.standardConverter().convert(ref.getProperty(ScriptEngine.NAME)).to(String[].class);
Object service = bundleContext.getService(ref);
if (service != null) {
if (service instanceof Map) {
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 5939a15..fcd7679 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
@@ -38,7 +38,6 @@
import javax.script.ScriptEngineManager;
import org.apache.sling.api.scripting.SlingScriptConstants;
-import org.apache.sling.commons.osgi.PropertiesUtil;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleEvent;
@@ -449,7 +448,10 @@
for (final String key : serviceReference.getPropertyKeys()) {
factoryProperties.put(key, serviceReference.getProperty(key));
}
- final SortableScriptEngineFactory sortableScriptEngineFactory = new SortableScriptEngineFactory(scriptEngineFactory, serviceReference.getBundle().getBundleId(), PropertiesUtil.toInteger(serviceReference.getProperty(Constants.SERVICE_RANKING), 0), factoryProperties);
+ final Object prop = serviceReference.getProperty(Constants.SERVICE_RANKING);
+ final int ranking = prop instanceof Integer ? (Integer) prop : 0;
+ final SortableScriptEngineFactory sortableScriptEngineFactory = new SortableScriptEngineFactory(scriptEngineFactory, serviceReference.getBundle().getBundleId(),
+ ranking, factoryProperties);
factories.add(sortableScriptEngineFactory);
}
}