SLING-11295 Update Dependencies to 2020 (#11)

remove obsolete commons-beanutils dependency
diff --git a/core/pom.xml b/core/pom.xml
index 5f37ba3..529d433 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>3.2.3-SNAPSHOT</version>
+        <version>3.3.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
@@ -72,6 +72,16 @@
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.converter</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.function</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
             <artifactId>org.osgi.util.tracker</artifactId>
             <scope>compile</scope>
         </dependency>
@@ -162,7 +172,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-api</artifactId>
+            <artifactId>oak-jackrabbit-api</artifactId>
             <scope>compile</scope>
         </dependency>
         <!-- for org.apache.jackrabbit.oak.jcr.observation.filter used in https://github.com/apache/sling-org-apache-sling-jcr-resource/blob/18edb8d7e7106c1e1e3333b89bf4d2a49c686e3b/src/main/java/org/apache/sling/jcr/resource/internal/JcrListenerBaseConfig.java#L33-->
@@ -217,11 +227,6 @@
             <artifactId>org.apache.sling.fsresource</artifactId>
             <scope>compile</scope>
         </dependency>
-        <dependency>
-            <groupId>commons-beanutils</groupId>
-            <artifactId>commons-beanutils</artifactId>
-            <scope>compile</scope>
-        </dependency>
 
         <dependency>
             <groupId>javax.servlet</groupId>
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelper.java b/core/src/main/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelper.java
index a57885c..c75f041 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelper.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelper.java
@@ -29,6 +29,7 @@
 import org.apache.sling.api.scripting.SlingScript;
 import org.apache.sling.api.scripting.SlingScriptHelper;
 import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
@@ -61,8 +62,8 @@
     }
 
     @Override
-    @SuppressWarnings({ "unchecked", "null" })
-    public <ServiceType> ServiceType getService(@NotNull final Class<ServiceType> serviceType) {
+    @SuppressWarnings("unchecked")
+    public @Nullable <ServiceType> ServiceType getService(@NotNull final Class<ServiceType> serviceType) {
         ServiceReference serviceReference = this.bundleContext.getServiceReference(serviceType.getName());
         if (serviceReference != null) {
             return (ServiceType) this.bundleContext.getService(serviceReference);
@@ -73,7 +74,7 @@
 
     @Override
     @SuppressWarnings("unchecked")
-    public <ServiceType> ServiceType[] getServices(@NotNull final Class<ServiceType> serviceType, final String filter) {
+    public @Nullable <ServiceType> ServiceType[] getServices(@NotNull final Class<ServiceType> serviceType, final String filter) {
         try {
             ServiceReference[] serviceReferences = this.bundleContext.getServiceReferences(serviceType.getName(),
                     filter);
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/NodeTypeDefinitionScanner.java b/core/src/main/java/org/apache/sling/testing/mock/sling/NodeTypeDefinitionScanner.java
index db3f39c..56cd2d1 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/NodeTypeDefinitionScanner.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/NodeTypeDefinitionScanner.java
@@ -41,7 +41,6 @@
 import javax.jcr.nodetype.PropertyDefinition;
 import javax.jcr.nodetype.PropertyDefinitionTemplate;
 
-import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.commons.cnd.CndImporter;
 import org.apache.jackrabbit.commons.cnd.CompactNodeTypeDefReader;
 import org.apache.jackrabbit.commons.cnd.DefinitionBuilderFactory;
@@ -125,11 +124,10 @@
               new TemplateBuilderFactory(new DummyNodeTypeManager(), valueFactory, namespaceRegistry);
 
       for (String nodeTypeResource : nodeTypeResources) {
-          InputStream is = classLoader.getResourceAsStream(nodeTypeResource);
-          if (is == null) {
-              continue;
-          }
-          try {
+          try (InputStream is = classLoader.getResourceAsStream(nodeTypeResource)) {
+              if (is == null) {
+                  continue;
+              }
               Reader reader = new InputStreamReader(is);
               CompactNodeTypeDefReader<NodeTypeTemplate, NamespaceRegistry> cndReader
                       = new CompactNodeTypeDefReader<NodeTypeTemplate, NamespaceRegistry>(reader, nodeTypeResource, factory);
@@ -148,9 +146,6 @@
           catch (Throwable ex) {
               log.warn("Unable to parse node type definition: " + nodeTypeResource, ex);
           }
-          finally {
-              IOUtils.closeQuietly(is);
-          }
       }
 
     }
@@ -197,11 +192,10 @@
         Iterator<String> nodeTypeResourcesIterator = nodeTypeResources.iterator();
         while (nodeTypeResourcesIterator.hasNext()) {
             String nodeTypeResource = nodeTypeResourcesIterator.next();
-            InputStream is = classLoader.getResourceAsStream(nodeTypeResource);
-            if (is == null) {
-                continue;
-            }
-            try {
+            try (InputStream is = classLoader.getResourceAsStream(nodeTypeResource)) {
+                if (is == null) {
+                    continue;
+                }
                 Reader reader = new InputStreamReader(is);
                 CndImporter.registerNodeTypes(reader, nodeTypeResource, nodeTypeManager, namespaceRegistry, valueFactory, true);
                 nodeTypeResourcesIterator.remove();
@@ -211,9 +205,6 @@
                     log.warn("Unable to register node type: " + nodeTypeResource, ex);
                 }
             }
-            finally {
-                IOUtils.closeQuietly(is);
-            }
         }
     }
 
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java b/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java
index de0badf..687ea78 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java
@@ -616,7 +616,7 @@
      * @param classpathResourceOrFile Classpath resource URL or file path
      * @param processor Processes input stream
      */
-    @SuppressWarnings("null")
+    @SuppressWarnings({ "null", "deprecation" })
     private <T> @NotNull T processInputStreamFromClasspathOrFilesystem(@NotNull String classpathResourceOrFile, @NotNull Function<InputStream,T> processor) {
         InputStream is = ContentLoader.class.getResourceAsStream(classpathResourceOrFile);
         if (is == null) {
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/package-info.java b/core/src/main/java/org/apache/sling/testing/mock/sling/package-info.java
index fd67797..ad0ba1e 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/package-info.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/package-info.java
@@ -19,5 +19,5 @@
 /**
  * Mock implementation of selected Sling APIs.
  */
-@org.osgi.annotation.versioning.Version("3.3.0")
+@org.osgi.annotation.versioning.Version("3.3.1")
 package org.apache.sling.testing.mock.sling;
diff --git a/junit4/pom.xml b/junit4/pom.xml
index 612e10f..2ee1413 100644
--- a/junit4/pom.xml
+++ b/junit4/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>3.2.3-SNAPSHOT</version>
+        <version>3.3.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
@@ -37,13 +37,13 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.sling-mock.core</artifactId>
-            <version>3.2.3-SNAPSHOT</version>
+            <version>3.3.0-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.sling-mock.core</artifactId>
-            <version>3.2.3-SNAPSHOT</version>
+            <version>3.3.0-SNAPSHOT</version>
             <classifier>tests</classifier>
             <scope>test</scope>
         </dependency>
diff --git a/junit5/pom.xml b/junit5/pom.xml
index e179914..fefc68e 100644
--- a/junit5/pom.xml
+++ b/junit5/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>3.2.3-SNAPSHOT</version>
+        <version>3.3.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
@@ -37,13 +37,13 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.sling-mock.core</artifactId>
-            <version>3.2.3-SNAPSHOT</version>
+            <version>3.3.0-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.sling-mock.core</artifactId>
-            <version>3.2.3-SNAPSHOT</version>
+            <version>3.3.0-SNAPSHOT</version>
             <classifier>tests</classifier>
             <scope>test</scope>
         </dependency>
diff --git a/parent/pom.xml b/parent/pom.xml
index c6eb64e..629a48b 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -23,26 +23,26 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling-bundle-parent</artifactId>
-        <version>46</version>
+        <version>47</version>
         <relativePath />
     </parent>
 
     <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-    <version>3.2.3-SNAPSHOT</version>
+    <version>3.3.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Apache Sling Testing Sling Mock Parent</name>
     <description>Mock implementation of selected Sling APIs.</description>
 
     <properties>
-        <osgi-mock.version>3.2.2</osgi-mock.version>
-        <jcr-mock.version>1.5.4</jcr-mock.version>
-        <resourceresolver-mock.version>1.2.6</resourceresolver-mock.version>
+        <osgi-mock.version>3.3.0-SNAPSHOT</osgi-mock.version>
+        <jcr-mock.version>1.6.0-SNAPSHOT</jcr-mock.version>
+        <resourceresolver-mock.version>1.3.0-SNAPSHOT</resourceresolver-mock.version>
         <logging-mock.version>2.0.0</logging-mock.version>
         <servlet-helpers.version>1.4.2</servlet-helpers.version>
         <resourcebuilder.version>1.0.4</resourcebuilder.version>
 
-        <project.build.outputTimestamp>2021-12-02T20:14:16Z</project.build.outputTimestamp>
+        <project.build.outputTimestamp>2022-05-05T13:26:54Z</project.build.outputTimestamp>
     </properties>
 
     <dependencies>
@@ -84,33 +84,43 @@
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.converter</artifactId>
+            <version>1.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.function</artifactId>
+            <version>1.1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
             <artifactId>org.osgi.util.tracker</artifactId>
-            <version>1.5.1</version>
+            <version>1.5.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.models.api</artifactId>
-            <version>1.3.6</version>
+            <version>1.3.8</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.models.impl</artifactId>
-            <version>1.4.6</version>
+            <version>1.4.14</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.api</artifactId>
-            <version>2.16.4</version>
+            <version>2.22.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.resourceresolver</artifactId>
-            <version>1.5.34</version>
+            <version>1.7.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.serviceusermapper</artifactId>
-            <version>1.3.6</version>
+            <version>1.4.4</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -120,7 +130,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.resource</artifactId>
-            <version>3.0.8</version>
+            <version>3.0.18</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -130,22 +140,22 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.scripting.core</artifactId>
-            <version>2.0.54</version>
+            <version>2.3.2</version>
             <exclusions>
-              <exclusion>
-                <groupId>org.osgi</groupId>
-                <artifactId>org.osgi.core</artifactId>
-              </exclusion>
-              <exclusion>
-                <groupId>org.osgi</groupId>
-                <artifactId>org.osgi.compendium</artifactId>
-              </exclusion>
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>org.osgi.core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>org.osgi.compendium</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.commons.mime</artifactId>
-            <version>2.1.10</version>
+            <version>2.2.2</version>
         </dependency>
         <dependency>
             <groupId>org.apache.johnzon</groupId>
@@ -160,12 +170,12 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.settings</artifactId>
-            <version>1.3.8</version>
+            <version>1.3.10</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.i18n</artifactId>
-            <version>2.5.10</version>
+            <version>2.5.14</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -175,7 +185,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.xss</artifactId>
-            <version>2.0.0</version>
+            <version>2.2.6</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
@@ -184,19 +194,34 @@
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-api</artifactId>
-            <version>2.16.0</version>
+            <artifactId>oak-jackrabbit-api</artifactId>
+            <version>1.22.5</version>
+            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-jcr</artifactId>
-            <version>1.8.2</version>
+            <version>1.22.5</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>org.osgi.service.metatype.annotations</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.osgi</groupId>
+                    <artifactId>org.osgi.annotation</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>jcl-over-slf4j</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
-           <version>4.1</version>
+           <version>4.2</version>
         </dependency>
         <dependency>
             <groupId>commons-collections</groupId>
@@ -206,7 +231,7 @@
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
-            <version>2.5</version>
+            <version>2.6</version>
         </dependency>
         <dependency>
             <groupId>commons-lang</groupId>
@@ -232,28 +257,23 @@
         <dependency>
             <groupId>org.apache.jackrabbit.vault</groupId>
             <artifactId>org.apache.jackrabbit.vault</artifactId>
-            <version>3.1.44</version>
+            <version>3.2.8</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.fsresource</artifactId>
             <version>2.2.0</version>
         </dependency>
-        <dependency>
-            <groupId>commons-beanutils</groupId>
-            <artifactId>commons-beanutils</artifactId>
-            <version>1.8.3</version>
-        </dependency>
 
         <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-core</artifactId>
-            <version>3.7.0</version>
+            <version>4.5.1</version>
         </dependency>
         <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-junit-jupiter</artifactId>
-            <version>3.7.0</version>
+            <version>4.5.1</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
diff --git a/pom.xml b/pom.xml
index b494ec2..e933c8f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>3.2.3-SNAPSHOT</version>
+        <version>3.3.0-SNAPSHOT</version>
         <relativePath>parent/pom.xml</relativePath>
     </parent>
 
diff --git a/relocate/pom.xml b/relocate/pom.xml
index 0a7e4d0..870bec1 100644
--- a/relocate/pom.xml
+++ b/relocate/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>org.apache.sling.testing.sling-mock.parent</artifactId>
-        <version>3.2.3-SNAPSHOT</version>
+        <version>3.3.0-SNAPSHOT</version>
         <relativePath>../parent/pom.xml</relativePath>
     </parent>