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

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

commit 89d39f4b3e79ccbc73fe983ccde112f2aa1fc78f
Author: Dirk Rudolph <d...@apache.org>
AuthorDate: Fri Jun 11 11:55:40 2021 +0200

    moved SitemapGeneratorManager and SitemapUtil to exported packages
---
 .../sitemap/{impl => common}/SitemapUtil.java      | 47 ++++++++++++-
 .../generator/ResourceTreeSitemapGenerator.java    |  2 +-
 .../sling/sitemap/generator/SitemapGenerator.java  |  6 +-
 .../sitemap/generator/SitemapGeneratorManager.java | 76 ++++++++++++++++++++++
 .../sitemap/impl/SitemapGeneratorExecutor.java     |  3 +-
 ...nager.java => SitemapGeneratorManagerImpl.java} | 33 +++++-----
 .../sling/sitemap/impl/SitemapScheduler.java       | 10 ++-
 .../sling/sitemap/impl/SitemapServiceImpl.java     |  4 +-
 .../apache/sling/sitemap/impl/SitemapServlet.java  |  5 +-
 .../apache/sling/sitemap/impl/SitemapStorage.java  |  6 +-
 .../impl/console/SitemapInventoryPlugin.java       |  3 +-
 .../sitemap/TestResourceTreeSitemapGenerator.java  |  1 +
 .../sitemap/{impl => common}/SitemapUtilTest.java  |  2 +-
 .../ResourceTreeSitemapGeneratorTest.java          |  4 +-
 .../sitemap/impl/SitemapGeneratorExecutorTest.java |  2 +-
 ...t.java => SitemapGeneratorManagerImplTest.java} |  6 +-
 .../sling/sitemap/impl/SitemapSchedulerTest.java   | 11 ++--
 .../impl/SitemapServiceImplSchedulingTest.java     |  8 ++-
 .../sling/sitemap/impl/SitemapServiceImplTest.java | 11 ++--
 .../sling/sitemap/impl/SitemapServletTest.java     |  2 +-
 .../sling/sitemap/impl/SitemapStorageTest.java     |  2 +-
 21 files changed, 191 insertions(+), 53 deletions(-)

diff --git 
a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapUtil.java 
b/sitemap/src/main/java/org/apache/sling/sitemap/common/SitemapUtil.java
similarity index 84%
rename from sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapUtil.java
rename to sitemap/src/main/java/org/apache/sling/sitemap/common/SitemapUtil.java
index 7ee438e..06ba855 100644
--- a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapUtil.java
+++ b/sitemap/src/main/java/org/apache/sling/sitemap/common/SitemapUtil.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.sitemap.impl;
+package org.apache.sling.sitemap.common;
 
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.util.ISO9075;
@@ -60,6 +60,13 @@ public class SitemapUtil {
         return topLevelSitemapRoot;
     }
 
+    /**
+     * Returns the parent of the given {@link Resource} when the {@link 
Resource}'s name is
+     * {@link JcrConstants#JCR_CONTENT}.
+     *
+     * @param resource
+     * @return
+     */
     @Nullable
     public static Resource normalizeSitemapRoot(@Nullable Resource resource) {
         if (!isSitemapRoot(resource)) {
@@ -72,6 +79,12 @@ public class SitemapUtil {
         }
     }
 
+    /**
+     * Returns true when the given {@link Resource} is a sitemap root.
+     *
+     * @param resource
+     * @return
+     */
     public static boolean isSitemapRoot(@Nullable Resource resource) {
         if (resource == null) {
             return false;
@@ -89,15 +102,36 @@ public class SitemapUtil {
         return sitemapRoot;
     }
 
+    /**
+     * Returns true when the given {@link Resource} is a top level sitemap 
root.
+     *
+     * @param resource
+     * @return
+     */
     public static boolean isTopLevelSitemapRoot(@Nullable Resource resource) {
         return isSitemapRoot(resource) && 
getTopLevelSitemapRoot(resource).getPath().equals(resource.getPath());
     }
 
+    /**
+     * Returns the selector for the given sitemap root {@link Resource} and 
the given name.
+     *
+     * @param sitemapRoot
+     * @param name
+     * @return
+     */
     @NotNull
     public static String getSitemapSelector(@NotNull Resource sitemapRoot, 
@NotNull String name) {
         return getSitemapSelector(sitemapRoot, 
getTopLevelSitemapRoot(sitemapRoot), name);
     }
 
+    /**
+     * Returns the selector for the given sitemap root {@link Resource} and 
the given name.
+     *
+     * @param sitemapRoot
+     * @param topLevelSitemapRoot
+     * @param name
+     * @return
+     */
     @NotNull
     public static String getSitemapSelector(@NotNull Resource sitemapRoot, 
@NotNull Resource topLevelSitemapRoot, @NotNull String name) {
         name = SitemapGenerator.DEFAULT_SITEMAP.equals(name) ? "sitemap" : 
name + "-sitemap";
@@ -110,6 +144,14 @@ public class SitemapUtil {
         return name;
     }
 
+    /**
+     * Resolves all sitemap root {@link Resource}s for the given selector 
within the given sitemap root
+     * {@link Resource}. The given sitemap root {@link Resource} should 
usually be a top level sitemap root.
+     *
+     * @param sitemapRoot
+     * @param sitemapSelector
+     * @return
+     */
     @NotNull
     public static Map<Resource, String> resolveSitemapRoots(@NotNull Resource 
sitemapRoot, @NotNull String sitemapSelector) {
         if (sitemapSelector.equals("sitemap")) {
@@ -146,7 +188,7 @@ public class SitemapUtil {
     }
 
     /**
-     * Returns
+     * Returns all sitemap root {@link Resource}s within the given search path.
      *
      * @param resolver
      * @param searchPath
@@ -161,6 +203,7 @@ public class SitemapUtil {
             query.append('/');
         }
         
query.append("/*[@").append(SitemapService.PROPERTY_SITEMAP_ROOT).append('=').append(Boolean.TRUE).append(']');
+        query.append(" option(index tag slingSitemaps)");
 
         return new Iterator<Resource>() {
             private final Iterator<Resource> hits = 
resolver.findResources(query.toString(), Query.XPATH);
diff --git 
a/sitemap/src/main/java/org/apache/sling/sitemap/generator/ResourceTreeSitemapGenerator.java
 
b/sitemap/src/main/java/org/apache/sling/sitemap/generator/ResourceTreeSitemapGenerator.java
index 1986e40..88190c4 100644
--- 
a/sitemap/src/main/java/org/apache/sling/sitemap/generator/ResourceTreeSitemapGenerator.java
+++ 
b/sitemap/src/main/java/org/apache/sling/sitemap/generator/ResourceTreeSitemapGenerator.java
@@ -30,7 +30,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 
-import static org.apache.sling.sitemap.impl.SitemapUtil.isSitemapRoot;
+import static org.apache.sling.sitemap.common.SitemapUtil.isSitemapRoot;
 
 /**
  * A default implementation of {@link SitemapGenerator} that traverses a 
resource tree.
diff --git 
a/sitemap/src/main/java/org/apache/sling/sitemap/generator/SitemapGenerator.java
 
b/sitemap/src/main/java/org/apache/sling/sitemap/generator/SitemapGenerator.java
index 51e84f3..6d4f98b 100644
--- 
a/sitemap/src/main/java/org/apache/sling/sitemap/generator/SitemapGenerator.java
+++ 
b/sitemap/src/main/java/org/apache/sling/sitemap/generator/SitemapGenerator.java
@@ -33,12 +33,10 @@ import java.util.Set;
  * their names using {@link SitemapGenerator#getNames(Resource)} (Resource)}.
  * <p>
  * {@link SitemapGenerator#generate(Resource, String, Sitemap, 
GenerationContext)} may be called for each name and
- * each sitemap root {@link Resource}, the {@link SitemapGenerator} returned 
an non-empty {@link Set} of names.
- * </p>
+ * each sitemap root {@link Resource}, the {@link SitemapGenerator} returned 
an non-empty {@link Set} of names for.
  * <p>
  * It is possible to register multiple {@link SitemapGenerator}s for a single 
name. In this case the one with the
- * highest ranking according to the OSGI specification is taken.
- * </p>
+ * highest ranking according to the OSGI specification is used.
  */
 @ConsumerType
 public interface SitemapGenerator {
diff --git 
a/sitemap/src/main/java/org/apache/sling/sitemap/generator/SitemapGeneratorManager.java
 
b/sitemap/src/main/java/org/apache/sling/sitemap/generator/SitemapGeneratorManager.java
new file mode 100644
index 0000000..cc05fdd
--- /dev/null
+++ 
b/sitemap/src/main/java/org/apache/sling/sitemap/generator/SitemapGeneratorManager.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.sitemap.generator;
+
+import org.apache.sling.api.resource.Resource;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+import org.osgi.annotation.versioning.ProviderType;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * A service that manages all registered {@link SitemapGenerator}.
+ */
+@ProviderType
+public interface SitemapGeneratorManager {
+
+    /**
+     * Returns the {@link SitemapGenerator} for the given sitemap root {@link 
Resource} and name. This may be null
+     * when no {@link SitemapGenerator} service exists that can generate a 
sitemap with the name for the given root.
+     *
+     * @param sitemapRoot
+     * @param name
+     * @return
+     */
+    @Nullable
+    SitemapGenerator getGenerator(@NotNull Resource sitemapRoot, @NotNull 
String name);
+
+    /**
+     * Returns all names produced by all {@link SitemapGenerator}s for the 
given sitemap root.
+     *
+     * @param sitemapRoot
+     * @return
+     */
+    Set<String> getNames(@NotNull Resource sitemapRoot);
+
+    /**
+     * Returns the names of all {@link SitemapGenerator}s for the given 
resource but only retains those in the given
+     * {@link Collection} of names. The result {@link Set} will be less or 
equal in size then the given
+     * {@link Collection}.
+     *
+     * @param sitemapRoot
+     * @param retainOnly
+     * @return
+     */
+    @NotNull
+    Set<String> getNames(@NotNull Resource sitemapRoot, @NotNull 
Collection<String> retainOnly);
+
+    /**
+     * Returns a {@link Map} of {@link SitemapGenerator}s for each name 
returned by
+     * {@link SitemapGeneratorManager#getNames(Resource)}.
+     *
+     * @param sitemapRoot
+     * @return
+     */
+    @NotNull
+    Map<String, SitemapGenerator> getGenerators(@Nullable Resource 
sitemapRoot);
+}
diff --git 
a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutor.java
 
b/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutor.java
index 2c31f74..5452c7f 100644
--- 
a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutor.java
+++ 
b/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutor.java
@@ -30,6 +30,7 @@ import org.apache.sling.serviceusermapping.ServiceUserMapped;
 import org.apache.sling.sitemap.SitemapException;
 import org.apache.sling.sitemap.builder.Url;
 import org.apache.sling.sitemap.generator.SitemapGenerator;
+import org.apache.sling.sitemap.generator.SitemapGeneratorManager;
 import org.apache.sling.sitemap.impl.builder.SitemapImpl;
 import 
org.apache.sling.sitemap.impl.builder.extensions.ExtensionProviderManager;
 import org.jetbrains.annotations.NotNull;
@@ -53,7 +54,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-import static org.apache.sling.sitemap.impl.SitemapUtil.normalizeSitemapRoot;
+import static org.apache.sling.sitemap.common.SitemapUtil.normalizeSitemapRoot;
 
 @Component(
         service = JobExecutor.class,
diff --git 
a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorManager.java
 
b/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorManagerImpl.java
similarity index 80%
rename from 
sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorManager.java
rename to 
sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorManagerImpl.java
index d710062..74c9511 100644
--- 
a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorManager.java
+++ 
b/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorManagerImpl.java
@@ -20,6 +20,7 @@ package org.apache.sling.sitemap.impl;
 
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.sitemap.generator.SitemapGenerator;
+import org.apache.sling.sitemap.generator.SitemapGeneratorManager;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.osgi.service.component.annotations.*;
@@ -29,9 +30,9 @@ import org.slf4j.LoggerFactory;
 import java.util.*;
 
 @Component(service = SitemapGeneratorManager.class)
-public class SitemapGeneratorManager {
+public class SitemapGeneratorManagerImpl implements SitemapGeneratorManager {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(SitemapGeneratorManager.class);
+    private static final Logger LOG = 
LoggerFactory.getLogger(SitemapGeneratorManagerImpl.class);
 
     @Reference(service = SitemapGenerator.class, cardinality = 
ReferenceCardinality.AT_LEAST_ONE,
             policyOption = ReferencePolicyOption.GREEDY)
@@ -43,8 +44,9 @@ public class SitemapGeneratorManager {
         Collections.reverse(generators);
     }
 
+    @Override
     @Nullable
-    public SitemapGenerator getGenerator(Resource sitemapRoot, String name) {
+    public SitemapGenerator getGenerator(@NotNull Resource sitemapRoot, 
@NotNull String name) {
         for (SitemapGenerator generator : this.generators) {
             Set<String> providedNames = generator.getNames(sitemapRoot);
 
@@ -56,23 +58,20 @@ public class SitemapGeneratorManager {
         return null;
     }
 
+    @Override
+    public Set<String> getNames(@NotNull Resource sitemapRoot) {
+        return getGenerators(sitemapRoot).keySet();
+    }
+
+    @Override
     @NotNull
-    public Set<String> getApplicableNames(Resource sitemapRoot, 
Collection<String> candidates) {
-        Set<String> result = new HashSet<>(candidates.size());
-        for (SitemapGenerator generator : this.generators) {
-            for (String providedName : generator.getNames(sitemapRoot)) {
-                if (candidates.contains(providedName)) {
-                    result.add(providedName);
-                }
-                if (candidates.size() == result.size()) {
-                    // early exit
-                    return result;
-                }
-            }
-        }
-        return result;
+    public Set<String> getNames(@NotNull Resource sitemapRoot, @NotNull 
Collection<String> retainOnly) {
+        Set<String> allNames = new HashSet<>(getNames(sitemapRoot));
+        allNames.retainAll(retainOnly);
+        return allNames;
     }
 
+    @Override
     @NotNull
     public Map<String, SitemapGenerator> getGenerators(@Nullable Resource 
sitemapRoot) {
         Map<String, SitemapGenerator> consolidatedGenerators = new HashMap<>();
diff --git 
a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapScheduler.java 
b/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapScheduler.java
index 313af60..8bce19e 100644
--- a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapScheduler.java
+++ b/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapScheduler.java
@@ -26,6 +26,7 @@ import org.apache.sling.commons.scheduler.Scheduler;
 import org.apache.sling.event.jobs.Job;
 import org.apache.sling.event.jobs.JobManager;
 import org.apache.sling.serviceusermapping.ServiceUserMapped;
+import org.apache.sling.sitemap.generator.SitemapGeneratorManager;
 import org.jetbrains.annotations.Nullable;
 import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
@@ -40,7 +41,7 @@ import org.slf4j.LoggerFactory;
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static org.apache.sling.sitemap.impl.SitemapUtil.findSitemapRoots;
+import static org.apache.sling.sitemap.common.SitemapUtil.findSitemapRoots;
 
 @Component(
         service = {SitemapScheduler.class, Runnable.class},
@@ -93,7 +94,12 @@ public class SitemapScheduler implements Runnable {
     protected void activate(Configuration configuration) {
         String[] configuredGenerators = configuration.generators();
         if (configuredGenerators != null && configuredGenerators.length > 0) {
-            generators = new HashSet<>(Arrays.asList(configuredGenerators));
+            generators = Arrays.stream(configuredGenerators)
+                    .filter(configuredGenerator -> 
!"".equals(configuredGenerator.trim()))
+                    .collect(Collectors.toSet());
+            if (generators.isEmpty()) {
+                generators = null;
+            }
         } else {
             generators = null;
         }
diff --git 
a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapServiceImpl.java 
b/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapServiceImpl.java
index 1641b8b..e9ae3b8 100644
--- 
a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapServiceImpl.java
+++ 
b/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapServiceImpl.java
@@ -24,6 +24,8 @@ import org.apache.sling.event.jobs.JobManager;
 import org.apache.sling.sitemap.SitemapInfo;
 import org.apache.sling.sitemap.SitemapService;
 import org.apache.sling.sitemap.common.SitemapLinkExternalizer;
+import org.apache.sling.sitemap.common.SitemapUtil;
+import org.apache.sling.sitemap.generator.SitemapGeneratorManager;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.osgi.framework.BundleContext;
@@ -39,7 +41,7 @@ import org.slf4j.LoggerFactory;
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static org.apache.sling.sitemap.impl.SitemapUtil.*;
+import static org.apache.sling.sitemap.common.SitemapUtil.*;
 
 @Component(service = {SitemapServiceImpl.class, SitemapService.class})
 @Designate(ocd = SitemapServiceImpl.Configuration.class)
diff --git 
a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapServlet.java 
b/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapServlet.java
index a7828b1..e8adc6f 100644
--- a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapServlet.java
+++ b/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapServlet.java
@@ -26,6 +26,7 @@ import org.apache.sling.api.servlets.SlingSafeMethodsServlet;
 import org.apache.sling.sitemap.common.SitemapLinkExternalizer;
 import org.apache.sling.sitemap.SitemapException;
 import org.apache.sling.sitemap.generator.SitemapGenerator;
+import org.apache.sling.sitemap.generator.SitemapGeneratorManager;
 import 
org.apache.sling.sitemap.impl.builder.extensions.ExtensionProviderManager;
 import org.apache.sling.sitemap.impl.builder.SitemapImpl;
 import org.apache.sling.sitemap.impl.builder.SitemapIndexImpl;
@@ -42,7 +43,7 @@ import java.io.IOException;
 import java.util.*;
 
 import static org.apache.sling.sitemap.impl.SitemapServlet.*;
-import static org.apache.sling.sitemap.impl.SitemapUtil.*;
+import static org.apache.sling.sitemap.common.SitemapUtil.*;
 
 @Component(
         service = Servlet.class,
@@ -205,7 +206,7 @@ public class SitemapServlet extends SlingSafeMethodsServlet 
{
         }
         while (sitemapRoots.hasNext()) {
             Resource sitemapRoot = sitemapRoots.next();
-            Set<String> applicableNames = 
generatorManager.getApplicableNames(sitemapRoot, onDemandSitemaps);
+            Set<String> applicableNames = 
generatorManager.getNames(sitemapRoot, onDemandSitemaps);
             // applicable names we may serve directly, not applicable names, 
if any, we have to serve from storage
             for (String applicableName : applicableNames) {
                 String sitemapSelector = getSitemapSelector(sitemapRoot, 
sitemapRoot, applicableName);
diff --git 
a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapStorage.java 
b/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapStorage.java
index f368de5..0308b21 100644
--- a/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapStorage.java
+++ b/sitemap/src/main/java/org/apache/sling/sitemap/impl/SitemapStorage.java
@@ -25,7 +25,9 @@ import org.apache.sling.api.resource.*;
 import org.apache.sling.api.wrappers.ValueMapDecorator;
 import org.apache.sling.commons.scheduler.Scheduler;
 import org.apache.sling.serviceusermapping.ServiceUserMapped;
+import org.apache.sling.sitemap.common.SitemapUtil;
 import org.apache.sling.sitemap.generator.SitemapGenerator;
+import org.apache.sling.sitemap.generator.SitemapGeneratorManager;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.osgi.service.component.annotations.Activate;
@@ -49,7 +51,7 @@ import java.util.stream.Collectors;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 
-import static org.apache.sling.sitemap.impl.SitemapUtil.*;
+import static org.apache.sling.sitemap.common.SitemapUtil.*;
 
 @Component(
         service = {SitemapStorage.class, Runnable.class},
@@ -348,7 +350,7 @@ public class SitemapStorage implements Runnable {
         Map<Resource, String> candidates = 
SitemapUtil.resolveSitemapRoots(sitemapRoot, name.substring(0, lastDot));
         // check if for any of the candidate resource roots a generator with 
the name exists
         return candidates.entrySet().stream()
-                .map(entry -> 
generatorManager.getApplicableNames(entry.getKey(), 
Collections.singleton(entry.getValue())))
+                .map(entry -> generatorManager.getNames(entry.getKey(), 
Collections.singleton(entry.getValue())))
                 .anyMatch(names -> names.size() > 0);
     }
 
diff --git 
a/sitemap/src/main/java/org/apache/sling/sitemap/impl/console/SitemapInventoryPlugin.java
 
b/sitemap/src/main/java/org/apache/sling/sitemap/impl/console/SitemapInventoryPlugin.java
index 8feb7bd..e26483b 100644
--- 
a/sitemap/src/main/java/org/apache/sling/sitemap/impl/console/SitemapInventoryPlugin.java
+++ 
b/sitemap/src/main/java/org/apache/sling/sitemap/impl/console/SitemapInventoryPlugin.java
@@ -27,7 +27,7 @@ import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.commons.scheduler.Scheduler;
 import org.apache.sling.sitemap.SitemapInfo;
 import org.apache.sling.sitemap.SitemapService;
-import org.apache.sling.sitemap.impl.SitemapUtil;
+import org.apache.sling.sitemap.common.SitemapUtil;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.component.annotations.Activate;
@@ -37,7 +37,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.PrintWriter;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.Map;
diff --git 
a/sitemap/src/test/java/org/apache/sling/sitemap/TestResourceTreeSitemapGenerator.java
 
b/sitemap/src/test/java/org/apache/sling/sitemap/TestResourceTreeSitemapGenerator.java
index 0f38ce8..90e446c 100644
--- 
a/sitemap/src/test/java/org/apache/sling/sitemap/TestResourceTreeSitemapGenerator.java
+++ 
b/sitemap/src/test/java/org/apache/sling/sitemap/TestResourceTreeSitemapGenerator.java
@@ -19,6 +19,7 @@
 package org.apache.sling.sitemap;
 
 import org.apache.sling.api.resource.Resource;
+import org.apache.sling.sitemap.SitemapException;
 import org.apache.sling.sitemap.builder.Sitemap;
 import org.apache.sling.sitemap.generator.ResourceTreeSitemapGenerator;
 import org.apache.sling.sitemap.generator.SitemapGenerator;
diff --git 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapUtilTest.java 
b/sitemap/src/test/java/org/apache/sling/sitemap/common/SitemapUtilTest.java
similarity index 99%
rename from 
sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapUtilTest.java
rename to 
sitemap/src/test/java/org/apache/sling/sitemap/common/SitemapUtilTest.java
index df6130b..ded2966 100644
--- a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapUtilTest.java
+++ b/sitemap/src/test/java/org/apache/sling/sitemap/common/SitemapUtilTest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.sitemap.impl;
+package org.apache.sling.sitemap.common;
 
 import com.google.common.collect.ImmutableMap;
 import org.apache.sling.api.resource.Resource;
diff --git 
a/sitemap/src/test/java/org/apache/sling/sitemap/ResourceTreeSitemapGeneratorTest.java
 
b/sitemap/src/test/java/org/apache/sling/sitemap/generator/ResourceTreeSitemapGeneratorTest.java
similarity index 97%
rename from 
sitemap/src/test/java/org/apache/sling/sitemap/ResourceTreeSitemapGeneratorTest.java
rename to 
sitemap/src/test/java/org/apache/sling/sitemap/generator/ResourceTreeSitemapGeneratorTest.java
index 70928c1..9cb3e2b 100644
--- 
a/sitemap/src/test/java/org/apache/sling/sitemap/ResourceTreeSitemapGeneratorTest.java
+++ 
b/sitemap/src/test/java/org/apache/sling/sitemap/generator/ResourceTreeSitemapGeneratorTest.java
@@ -16,9 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.sitemap;
+package org.apache.sling.sitemap.generator;
 
 import org.apache.sling.api.resource.Resource;
+import org.apache.sling.sitemap.SitemapException;
+import org.apache.sling.sitemap.TestResourceTreeSitemapGenerator;
 import org.apache.sling.sitemap.generator.SitemapGenerator;
 import 
org.apache.sling.sitemap.impl.builder.extensions.ExtensionProviderManager;
 import org.apache.sling.sitemap.impl.builder.SitemapImpl;
diff --git 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutorTest.java
 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutorTest.java
index 7c2c123..3492eb1 100644
--- 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutorTest.java
+++ 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutorTest.java
@@ -59,7 +59,7 @@ public class SitemapGeneratorExecutorTest {
     public final SlingContext context = new 
SlingContext(ResourceResolverType.JCR_MOCK);
 
     private final SitemapGeneratorExecutor subject = new 
SitemapGeneratorExecutor();
-    private final SitemapGeneratorManager generatorManager = new 
SitemapGeneratorManager();
+    private final SitemapGeneratorManagerImpl generatorManager = new 
SitemapGeneratorManagerImpl();
     private final ExtensionProviderManager extensionProviderManager = new 
ExtensionProviderManager();
     private final SitemapStorage storage = spy(new SitemapStorage());
     private final SitemapServiceImpl sitemapService = new SitemapServiceImpl();
diff --git 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorManagerTest.java
 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorManagerImplTest.java
similarity index 95%
rename from 
sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorManagerTest.java
rename to 
sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorManagerImplTest.java
index 0e9c068..dbc3117 100644
--- 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorManagerTest.java
+++ 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapGeneratorManagerImplTest.java
@@ -39,11 +39,11 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.when;
 
 @ExtendWith({SlingContextExtension.class, MockitoExtension.class})
-public class SitemapGeneratorManagerTest {
+public class SitemapGeneratorManagerImplTest {
 
     public final SlingContext context = new SlingContext();
 
-    private final SitemapGeneratorManager subject = new 
SitemapGeneratorManager();
+    private final SitemapGeneratorManagerImpl subject = new 
SitemapGeneratorManagerImpl();
 
     @Mock
     private SitemapGenerator generator1;
@@ -96,7 +96,7 @@ public class SitemapGeneratorManagerTest {
         Map<String, SitemapGenerator> generators = 
subject.getGenerators(context.currentResource("/"));
         SitemapGenerator sitemap3Generator = 
subject.getGenerator(context.currentResource(), "sitemap3");
         SitemapGenerator defaultSitemapGenerator = 
subject.getGenerator(context.currentResource(), 
SitemapGenerator.DEFAULT_SITEMAP);
-        Set<String> applicableNames = 
subject.getApplicableNames(context.currentResource(), Arrays.asList(
+        Set<String> applicableNames = 
subject.getNames(context.currentResource(), Arrays.asList(
                 "sitemap1", "sitemap2", "sitemap3", 
SitemapGenerator.DEFAULT_SITEMAP
         ));
 
diff --git 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapSchedulerTest.java 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapSchedulerTest.java
index db4efe6..050b055 100644
--- 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapSchedulerTest.java
+++ 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapSchedulerTest.java
@@ -61,7 +61,7 @@ public class SitemapSchedulerTest {
     public final SlingContext context = new 
SlingContext(ResourceResolverType.JCR_MOCK);
 
     private final SitemapScheduler subject = new SitemapScheduler();
-    private final SitemapGeneratorManager generatorManager = new 
SitemapGeneratorManager();
+    private final SitemapGeneratorManagerImpl generatorManager = new 
SitemapGeneratorManagerImpl();
 
     private final TestGenerator generator1 = new TestGenerator() {};
     private final TestGenerator generator2 = new TestGenerator() {};
@@ -104,7 +104,8 @@ public class SitemapSchedulerTest {
         context.registerInjectActivateService(subject);
         initResourceResolver(subject, resolver -> MockJcr.setQueryResult(
                 resolver.adaptTo(Session.class),
-                "/jcr:root/content//*[@" + 
SitemapService.PROPERTY_SITEMAP_ROOT + "=true]",
+                "/jcr:root/content//*[@" + 
SitemapService.PROPERTY_SITEMAP_ROOT + "=true]" +
+                        " option(index tag slingSitemaps)",
                 Query.XPATH,
                 ImmutableList.of(
                         rootDe.adaptTo(Node.class),
@@ -134,7 +135,8 @@ public class SitemapSchedulerTest {
         context.registerInjectActivateService(subject);
         initResourceResolver(subject, resolver -> MockJcr.setQueryResult(
                 resolver.adaptTo(Session.class),
-                "/jcr:root/content//*[@" + 
SitemapService.PROPERTY_SITEMAP_ROOT + "=true]",
+                "/jcr:root/content//*[@" + 
SitemapService.PROPERTY_SITEMAP_ROOT + "=true]" +
+                        " option(index tag slingSitemaps)",
                 Query.XPATH,
                 Collections.singletonList(rootDe.adaptTo(Node.class))
         ));
@@ -167,7 +169,8 @@ public class SitemapSchedulerTest {
         });
         initResourceResolver(subject, resolver -> MockJcr.setQueryResult(
                 resolver.adaptTo(Session.class),
-                "/jcr:root/content//*[@" + 
SitemapService.PROPERTY_SITEMAP_ROOT + "=true]",
+                "/jcr:root/content//*[@" + 
SitemapService.PROPERTY_SITEMAP_ROOT + "=true]" +
+                        " option(index tag slingSitemaps)",
                 Query.XPATH,
                 Collections.singletonList(rootDe.adaptTo(Node.class))
         ));
diff --git 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapServiceImplSchedulingTest.java
 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapServiceImplSchedulingTest.java
index e3950e9..1dfd9fa 100644
--- 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapServiceImplSchedulingTest.java
+++ 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapServiceImplSchedulingTest.java
@@ -56,7 +56,7 @@ public class SitemapServiceImplSchedulingTest {
 
     private final SitemapServiceImpl subject = new SitemapServiceImpl();
     private final SitemapStorage storage = new SitemapStorage();
-    private final SitemapGeneratorManager generatorManager = new 
SitemapGeneratorManager();
+    private final SitemapGeneratorManagerImpl generatorManager = new 
SitemapGeneratorManagerImpl();
 
     @Mock
     private ServiceUserMapped serviceUser;
@@ -122,13 +122,15 @@ public class SitemapServiceImplSchedulingTest {
     private void setupResourceResolver(ResourceResolver resolver) {
         MockJcr.setQueryResult(
                 resolver.adaptTo(Session.class),
-                "/jcr:root/content/site//*[@sling:sitemapRoot=true]",
+                "/jcr:root/content/site//*[@sling:sitemapRoot=true]" +
+                        " option(index tag slingSitemaps)",
                 Query.XPATH,
                 Collections.singletonList(siteRoot.adaptTo(Node.class))
         );
         MockJcr.setQueryResult(
                 resolver.adaptTo(Session.class),
-                "/jcr:root/content/microsite//*[@sling:sitemapRoot=true]",
+                "/jcr:root/content/microsite//*[@sling:sitemapRoot=true]" +
+                        " option(index tag slingSitemaps)",
                 Query.XPATH,
                 Collections.singletonList(micrositeRoot.adaptTo(Node.class))
         );
diff --git 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapServiceImplTest.java
 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapServiceImplTest.java
index 100d376..8bc8e15 100644
--- 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapServiceImplTest.java
+++ 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapServiceImplTest.java
@@ -66,7 +66,7 @@ public class SitemapServiceImplTest {
 
     private final SitemapServiceImpl subject = new SitemapServiceImpl();
     private final SitemapStorage storage = new SitemapStorage();
-    private final SitemapGeneratorManager generatorManager = new 
SitemapGeneratorManager();
+    private final SitemapGeneratorManagerImpl generatorManager = new 
SitemapGeneratorManagerImpl();
 
     @Mock
     private ServiceUserMapped serviceUser;
@@ -148,7 +148,8 @@ public class SitemapServiceImplTest {
 
         MockJcr.setQueryResult(
                 context.resourceResolver().adaptTo(Session.class),
-                "/jcr:root/content/site/en//*[@" + 
SitemapService.PROPERTY_SITEMAP_ROOT + "=true]",
+                "/jcr:root/content/site/en//*[@" + 
SitemapService.PROPERTY_SITEMAP_ROOT + "=true]" +
+                        " option(index tag slingSitemaps)",
                 Query.XPATH,
                 Arrays.asList(enRoot.adaptTo(Node.class), 
enFaqs.adaptTo(Node.class))
         );
@@ -174,7 +175,8 @@ public class SitemapServiceImplTest {
 
         MockJcr.setQueryResult(
                 context.resourceResolver().adaptTo(Session.class),
-                "/jcr:root/content/site/en//*[@" + 
SitemapService.PROPERTY_SITEMAP_ROOT + "=true]",
+                "/jcr:root/content/site/en//*[@" + 
SitemapService.PROPERTY_SITEMAP_ROOT + "=true]" +
+                        " option(index tag slingSitemaps)",
                 Query.XPATH,
                 Arrays.asList(enRoot.adaptTo(Node.class), 
enFaqs.adaptTo(Node.class))
         );
@@ -222,7 +224,8 @@ public class SitemapServiceImplTest {
 
         MockJcr.setQueryResult(
                 context.resourceResolver().adaptTo(Session.class),
-                "/jcr:root/content/site/en//*[@" + 
SitemapService.PROPERTY_SITEMAP_ROOT + "=true]",
+                "/jcr:root/content/site/en//*[@" + 
SitemapService.PROPERTY_SITEMAP_ROOT + "=true]" +
+                        " option(index tag slingSitemaps)",
                 Query.XPATH,
                 Arrays.asList(enRoot.adaptTo(Node.class), 
enNews.adaptTo(Node.class))
         );
diff --git 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapServletTest.java 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapServletTest.java
index 5b6543c..60464a6 100644
--- 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapServletTest.java
+++ 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapServletTest.java
@@ -66,7 +66,7 @@ public class SitemapServletTest {
     private final SitemapServlet subject = new SitemapServlet();
     private final SitemapStorage storage = spy(new SitemapStorage());
     private final SitemapServiceImpl sitemapService = new SitemapServiceImpl();
-    private final SitemapGeneratorManager generatorManager = new 
SitemapGeneratorManager();
+    private final SitemapGeneratorManagerImpl generatorManager = new 
SitemapGeneratorManagerImpl();
     private final ExtensionProviderManager extensionProviderManager = new 
ExtensionProviderManager();
 
     private SitemapGenerator generator = new 
TestResourceTreeSitemapGenerator() {
diff --git 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapStorageTest.java 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapStorageTest.java
index 57264e9..5b83b15 100644
--- 
a/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapStorageTest.java
+++ 
b/sitemap/src/test/java/org/apache/sling/sitemap/impl/SitemapStorageTest.java
@@ -57,7 +57,7 @@ public class SitemapStorageTest {
     public final SlingContext context = new SlingContext();
 
     private final SitemapStorage subject = new SitemapStorage();
-    private final SitemapGeneratorManager generatorManager = new 
SitemapGeneratorManager();
+    private final SitemapGeneratorManagerImpl generatorManager = new 
SitemapGeneratorManagerImpl();
 
     @Mock(lenient = true)
     private SitemapGenerator generator;

Reply via email to