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