You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by pa...@apache.org on 2022/02/21 13:36:11 UTC

[sling-org-apache-sling-servlets-resolver] branch master updated: SLING-11155: only register a path for absolute servlets.

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 464b4bc  SLING-11155: only register a path for absolute servlets.
464b4bc is described below

commit 464b4bce64440301be8d3b8e818cc61c1bef7c5e
Author: Karl Pauls <ka...@gmail.com>
AuthorDate: Mon Feb 21 14:36:00 2022 +0100

    SLING-11155: only register a path for absolute servlets.
---
 .../internal/bundle/BundledScriptTracker.java         | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTracker.java b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTracker.java
index 613b6ba..1cbb434 100644
--- a/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTracker.java
+++ b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTracker.java
@@ -268,15 +268,18 @@ public class BundledScriptTracker implements BundleTrackerCustomizer<List<Servic
                                     properties.put(ServletResolverConstants.SLING_SERVLET_PATHS, paths.toArray(new String[0]));
                                 }
                                 if (!properties.containsKey(ServletResolverConstants.SLING_SERVLET_PATHS)) {
-                                    bundledRenderUnitCapability.getResourceTypes().forEach(resourceType -> {
-                                        String path;
-                                        if (resourceType.toString().startsWith("/")) {
-                                            path = resourceType.toString() + "/" + resourceType.getResourceLabel() + "." + FilenameUtils.getExtension(scriptName);
-                                        } else {
-                                            path = resourceResolverFactory.getSearchPath().get(0) + resourceType.toString() + "/" + resourceType.getResourceLabel() + "." + FilenameUtils.getExtension(scriptName);
+                                    String[] rts = PropertiesUtil.toStringArray(properties.get(ServletResolverConstants.SLING_SERVLET_RESOURCE_TYPES));
+                                    if (rts != null) {
+                                        for (String resourceType : rts) {
+                                            String path;
+                                            if (resourceType.startsWith("/")) {
+                                                path = resourceType + "/" + resourceType.substring(resourceType.lastIndexOf('/') + 1) + "." + FilenameUtils.getExtension(scriptName);
+                                            } else {
+                                                path = resourceResolverFactory.getSearchPath().get(0) + resourceType + "/" + resourceType.substring(resourceType.lastIndexOf('/') + 1) + "." + FilenameUtils.getExtension(scriptName);
+                                            }
+                                            properties.put(ServletResolverConstants.SLING_SERVLET_PATHS, path);
                                         }
-                                        properties.put(ServletResolverConstants.SLING_SERVLET_PATHS, path);
-                                    });
+                                    }
                                 }
                             }
                             if (!properties.containsKey(ServletResolverConstants.SLING_SERVLET_PATHS)) {