Support simple path mappings for bundle provided resources
----------------------------------------------------------
Key: SLING-357
URL: https://issues.apache.org/jira/browse/SLING-357
Project: Sling
Issue Type: Improvement
Components: Resource
Reporter: Felix Meschberger
Assignee: Felix Meschberger
Fix For: 2.0.0
Currently the bundle provided resources are provided in the Resource tree with
the same path. This is mostly ok, but poses some issues, if the bundle provides
compiled classes of certain scripting languages such as JSP or Scala. In this
case, the classes are expected below /var/classes, while the bundle provides
them under /.
To support showing these classes under /var/classes a simple path mapping
scheme is to be added to the BundleResourceProvider which allows to specify
such prefixes.
Two syntaxes are conceivable:
(1) Special separator between the resource path prefix and the rest of the
path. For example to provide classes from the sample package located at /sample
in bundle to Sling, bundle resource provider configuration string would be
"/var/classes!/sample" Here the full path would be the one to use in the
repository and the part after the "!" would be the bundle entry path.
A corrolary to this first syntax could be define a special prefix - e.g.
${classes}! - to denote script classes to be prefixed with a configurable
value, such as /var/classes. This would have the benefit of allowing flexible
mapping of these resources at run time instead of fixing it at compile time,
which may be problematic.
(2) A bundle resource path is actually an assignment of the bundle entry prath
to the mapped resource path. For example to provide classes from the sample
package located at /sample in bundle to Sling, bundle resource provider
configuration string would be "/sample=/var/classes!/sample".
Again, we should allow a special value in the right hand side to denote the
class path.
The first syntax IMHO is very simple and allows minimizing typing work, while
the second syntax is more flexible as it supports complete remapping of bundle
entry path prefix to resource path.
In a first step, I will implement the first syntax with the additional
${classes} support.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.