You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by re...@apache.org on 2025/03/07 11:28:23 UTC

(sling-org-apache-sling-resourceresolver) branch master updated: SLING-12703: no NPE when initializeAliases() called after dispose() (#159)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 18b5e184 SLING-12703: no NPE when initializeAliases() called after dispose() (#159)
18b5e184 is described below

commit 18b5e184cb24604a6d8af074ca0433684e940a51
Author: Julian Reschke <ju...@gmx.de>
AuthorDate: Fri Mar 7 12:28:19 2025 +0100

    SLING-12703: no NPE when initializeAliases() called after dispose() (#159)
    
    * SLING-12703: no NPE when initializeAliases() called after dispose()
    
    * SLING-12703: no NPE when initializeAliases() called after dispose() - nits
---
 .../org/apache/sling/resourceresolver/impl/mapping/MapEntries.java | 7 +++----
 .../sling/resourceresolver/impl/mapping/AliasMapEntriesTest.java   | 7 +++++++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
index 3be2e3ef..3e241210 100644
--- a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
+++ b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
@@ -756,10 +756,9 @@ public class MapEntries implements
 
         this.initializing.lock();
         try {
-            final ResourceResolver resolver = this.resolver;
-            final MapConfigurationProvider factory = this.factory;
-            if (resolver == null || factory == null) {
-                return this.factory.isOptimizeAliasResolutionEnabled();
+            // already disposed?
+            if (this.resolver == null || this.factory == null) {
+                return false;
             }
 
             List<String> conflictingAliases = new ArrayList<>();
diff --git a/src/test/java/org/apache/sling/resourceresolver/impl/mapping/AliasMapEntriesTest.java b/src/test/java/org/apache/sling/resourceresolver/impl/mapping/AliasMapEntriesTest.java
index 53e85c2b..c9d76ab3 100644
--- a/src/test/java/org/apache/sling/resourceresolver/impl/mapping/AliasMapEntriesTest.java
+++ b/src/test/java/org/apache/sling/resourceresolver/impl/mapping/AliasMapEntriesTest.java
@@ -1148,4 +1148,11 @@ public class AliasMapEntriesTest extends AbstractMappingMapEntriesTest {
         aliasMapEntry = mapEntries.getAliasMap("/parent");
         assertEquals(Collections.emptyMap(), aliasMapEntry);
     }
+
+    @Test
+    public void test_initAliasesAfterDispose() {
+        mapEntries.dispose();
+        boolean enabled = mapEntries.initializeAliases();
+        assertFalse("return value (isOptimizeAliasResolutionEnabled) should be false", enabled);
+    }
 }