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

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


The following commit(s) were added to refs/heads/SLING-12701 by this push:
     new 70047c6a SLING-12701: MapEntries - move alias handling into inner 
class - move metrics
70047c6a is described below

commit 70047c6a886c74efb0cc581ee60f89dfe47e5c5d
Author: Julian Reschke <[email protected]>
AuthorDate: Thu Mar 6 19:37:40 2025 +0100

    SLING-12701: MapEntries - move alias handling into inner class - move 
metrics
---
 .../resourceresolver/impl/mapping/MapEntries.java  | 24 +++++++++++-----------
 .../impl/mapping/AliasMapEntriesTest.java          |  8 ++++----
 2 files changed, 16 insertions(+), 16 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 84bb2979..294d1606 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
@@ -121,10 +121,6 @@ public class MapEntries implements
      */
     private Map<String, Map<String, Collection<String>>> aliasMapsMap;
 
-    private final AtomicLong aliasResourcesOnStartup;
-    private final AtomicLong detectedConflictingAliases;
-    private final AtomicLong detectedInvalidAliases;
-
     private final ReentrantLock initializing = new ReentrantLock();
 
     private final StringInterpolationProvider stringInterpolationProvider;
@@ -150,10 +146,6 @@ public class MapEntries implements
         this.aliasMapsMap = new ConcurrentHashMap<>();
         this.stringInterpolationProvider = stringInterpolationProvider;
 
-        this.aliasResourcesOnStartup = new AtomicLong(0);
-        this.detectedConflictingAliases = new AtomicLong(0);
-        this.detectedInvalidAliases = new AtomicLong(0);
-
         this.ah = new AliasHandler(this.factory, this.initializing);
 
         this.useOptimizeAliasResolution = ah.initializeAliases();
@@ -166,10 +158,10 @@ public class MapEntries implements
         this.metrics = metrics;
         if (metrics.isPresent()) {
             // aliases
-            
this.metrics.get().setNumberOfDetectedConflictingAliasesSupplier(detectedConflictingAliases::get);
-            
this.metrics.get().setNumberOfDetectedInvalidAliasesSupplier(detectedInvalidAliases::get);
+            
this.metrics.get().setNumberOfDetectedConflictingAliasesSupplier(ah.detectedConflictingAliases::get);
+            
this.metrics.get().setNumberOfDetectedInvalidAliasesSupplier(ah.detectedInvalidAliases::get);
             
this.metrics.get().setNumberOfResourcesWithAliasedChildrenSupplier(() -> (long) 
aliasMapsMap.size());
-            
this.metrics.get().setNumberOfResourcesWithAliasesOnStartupSupplier(aliasResourcesOnStartup::get);
+            
this.metrics.get().setNumberOfResourcesWithAliasesOnStartupSupplier(ah.aliasResourcesOnStartup::get);
 
             // vanity paths
             
this.metrics.get().setNumberOfResourcesWithVanityPathsOnStartupSupplier(vph.vanityResourcesOnStartup::get);
@@ -777,9 +769,17 @@ public class MapEntries implements
     // keep track of some defunct aliases for diagnostics (thus size-limited)
     private static final int MAX_REPORT_DEFUNCT_ALIASES = 50;
 
+    final AtomicLong aliasResourcesOnStartup;
+    final AtomicLong detectedConflictingAliases;
+    final AtomicLong detectedInvalidAliases;
+
     public AliasHandler(MapConfigurationProvider factory, ReentrantLock 
initializing) {
         this.factory = factory;
         this.initializing = initializing;
+
+        this.aliasResourcesOnStartup = new AtomicLong(0);
+        this.detectedConflictingAliases = new AtomicLong(0);
+        this.detectedInvalidAliases = new AtomicLong(0);
     }
 
     /**
@@ -1003,7 +1003,7 @@ public class MapEntries implements
         log.info("alias initialization - completed, processed {} resources 
with sling:alias properties in {}ms (~{} resource/s){}",
                 count, TimeUnit.NANOSECONDS.toMillis(processElapsed), 
resourcePerSecond, diagnostics);
 
-        MapEntries.this.aliasResourcesOnStartup.set(count);
+        this.aliasResourcesOnStartup.set(count);
 
         return map;
     }
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 218064cb..013f3356 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
@@ -118,13 +118,13 @@ public class AliasMapEntriesTest extends 
AbstractMappingMapEntriesTest {
         aliasMapField.setAccessible(true);
         this.aliasMap = (Map<String, Map<String, String>>) 
aliasMapField.get(mapEntries);
 
-        final Field detectedInvalidAliasesField = 
MapEntries.class.getDeclaredField("detectedInvalidAliases");
+        final Field detectedInvalidAliasesField = 
MapEntries.AliasHandler.class.getDeclaredField("detectedInvalidAliases");
         detectedInvalidAliasesField.setAccessible(true);
-        this.detectedInvalidAliases = (AtomicLong) 
detectedInvalidAliasesField.get(mapEntries);
+        this.detectedInvalidAliases = (AtomicLong) 
detectedInvalidAliasesField.get(mapEntries.ah);
 
-        final Field detectedConflictingAliasesField = 
MapEntries.class.getDeclaredField("detectedConflictingAliases");
+        final Field detectedConflictingAliasesField =  
MapEntries.AliasHandler.class.getDeclaredField("detectedConflictingAliases");
         detectedConflictingAliasesField.setAccessible(true);
-        this.detectedConflictingAliases = (AtomicLong) 
detectedConflictingAliasesField.get(mapEntries);
+        this.detectedConflictingAliases = (AtomicLong) 
detectedConflictingAliasesField.get(mapEntries.ah);
     }
 
     @Override

Reply via email to