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

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


The following commit(s) were added to refs/heads/SLING-12648 by this push:
     new 12d2ad5  SLING-12648: MapEntries: factor out vanity path handling - 
move addEntry
12d2ad5 is described below

commit 12d2ad59b84ff49d766b399e2b53a84d59acdb14
Author: Julian Reschke <[email protected]>
AuthorDate: Tue Feb 4 19:04:09 2025 +0100

    SLING-12648: MapEntries: factor out vanity path handling - move addEntry
---
 .../resourceresolver/impl/mapping/MapEntries.java  | 73 +++++++++++-----------
 1 file changed, 37 insertions(+), 36 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 98da578..f3f3847 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
@@ -829,37 +829,6 @@ public class MapEntries implements
         }
     }
 
-    /**
-     * Add an entry to the resolve map.
-     */
-    private boolean addEntry(final Map<String, List<MapEntry>> entryMap, final 
String key, final MapEntry entry) {
-
-        if (entry == null) {
-            log.trace("trying to add null entry for {}", key);
-            return false;
-        } else {
-            List<MapEntry> entries = entryMap.get(key);
-            if (entries == null) {
-                entries = new ArrayList<>();
-                entries.add(entry);
-                entryMap.put(key, entries);
-            } else {
-                List<MapEntry> entriesCopy = new ArrayList<>(entries);
-                entriesCopy.add(entry);
-                // and finally sort list
-                Collections.sort(entriesCopy);
-                entryMap.put(key, entriesCopy);
-                int size = entriesCopy.size();
-                if (size == 10) {
-                    log.debug(">= 10 MapEntries for {} - check your 
configuration", key);
-                } else if (size == 100) {
-                    log.info(">= 100 MapEntries for {} - check your 
configuration", key);
-                }
-            }
-            return true;
-        }
-    }
-
     /**
      * Load aliases - Search for all nodes (except under /jcr:system) below
      * configured alias locations having the sling:alias property
@@ -1629,19 +1598,19 @@ public class MapEntries implements
                 if (addToCache) {
                     if (redirectName.indexOf('.') > -1) {
                         // 1. entry with exact match
-                        MapEntries.this.addEntry(entryMap, checkPath, 
getMapEntry(url + "$", status, vanityOrder, redirect));
+                        addEntry(entryMap, checkPath, getMapEntry(url + "$", 
status, vanityOrder, redirect));
 
                         final int idx = redirectName.lastIndexOf('.');
                         final String extension = redirectName.substring(idx + 
1);
 
                         // 2. entry with extension
-                        addedEntry = MapEntries.this.addEntry(entryMap, 
checkPath, getMapEntry(url + "\\." + extension, status, vanityOrder, redirect));
+                        addedEntry = addEntry(entryMap, checkPath, 
getMapEntry(url + "\\." + extension, status, vanityOrder, redirect));
                     } else {
                         // 1. entry with exact match
-                        MapEntries.this.addEntry(entryMap, checkPath, 
getMapEntry(url + "$", status, vanityOrder, redirect + ".html"));
+                        addEntry(entryMap, checkPath, getMapEntry(url + "$", 
status, vanityOrder, redirect + ".html"));
 
                         // 2. entry with match supporting selectors and 
extension
-                        addedEntry = MapEntries.this.addEntry(entryMap, 
checkPath, getMapEntry(url + "(\\..*)", status, vanityOrder, redirect + "$1"));
+                        addedEntry = addEntry(entryMap, checkPath, 
getMapEntry(url + "(\\..*)", status, vanityOrder, redirect + "$1"));
                     }
                     if (addedEntry) {
                         // 3. keep the path to return
@@ -1726,6 +1695,38 @@ public class MapEntries implements
         }
         return l == null ? null : l.iterator();
     }
-}
+
+        /**
+         * Add an entry to the resolve map.
+         */
+        private boolean addEntry(final Map<String, List<MapEntry>> entryMap, 
final String key, final MapEntry entry) {
+
+            if (entry == null) {
+                log.trace("trying to add null entry for {}", key);
+                return false;
+            } else {
+                List<MapEntry> entries = entryMap.get(key);
+                if (entries == null) {
+                    entries = new ArrayList<>();
+                    entries.add(entry);
+                    entryMap.put(key, entries);
+                } else {
+                    List<MapEntry> entriesCopy = new ArrayList<>(entries);
+                    entriesCopy.add(entry);
+                    // and finally sort list
+                    Collections.sort(entriesCopy);
+                    entryMap.put(key, entriesCopy);
+                    int size = entriesCopy.size();
+                    if (size == 10) {
+                        log.debug(">= 10 MapEntries for {} - check your 
configuration", key);
+                    } else if (size == 100) {
+                        log.info(">= 100 MapEntries for {} - check your 
configuration", key);
+                    }
+                }
+                return true;
+            }
+        }
+
+    }
 
 }

Reply via email to