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);
                         }
                     }