SLING-9406 - Add bundled script support to the servlets resolver
* Only set the resource metadata in the decorator if needed.
diff --git a/src/main/java/org/apache/sling/servlets/resolver/internal/ScriptResourceDecorator.java b/src/main/java/org/apache/sling/servlets/resolver/internal/ScriptResourceDecorator.java
index 5034cdc..a780b9a 100644
--- a/src/main/java/org/apache/sling/servlets/resolver/internal/ScriptResourceDecorator.java
+++ b/src/main/java/org/apache/sling/servlets/resolver/internal/ScriptResourceDecorator.java
@@ -44,15 +44,20 @@
@Override
public Resource decorate(Resource resource) {
String path = resource.getPath();
+ String resolutionPath = resource.getResourceMetadata().getResolutionPath();
Resource script = getResource(resource, path);
if (script == resource && Resource.RESOURCE_TYPE_NON_EXISTING.equals(resource.getResourceType())) {
int idx = path.indexOf('.');
if (idx != -1) {
path = path.substring(0, idx);
script = getResource(resource, path);
+ resolutionPath = path;
}
}
- script.getResourceMetadata().putAll(resource.getResourceMetadata());
+ if (script != resource) {
+ script.getResourceMetadata().putAll(resource.getResourceMetadata());
+ script.getResourceMetadata().setResolutionPath(resolutionPath);
+ }
return script;
}