[
https://issues.apache.org/jira/browse/SLING-6354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Burkhard Pauli updated SLING-6354:
----------------------------------
Description:
The current exporter servlet [0] doesn't expose scripting variables.
If a field for the related Sling Model should be injected via the
ScriptVariable annotation [1] and the field is not optional, the model can't be
initialized and the request to exporter servlet fails.
Example:
{code}
@Model(adaptables = SlingHttpServletRequest.class, adapters = TestModel.class,
resourceType = "core/components/test")
@Exporter(name = "jackson", extensions = "json")
public class TestModel {
@ScriptVariable
private Page currentPage;
public String getName() {
return currentPage.getName();
}
}
{code}
[0]
https://github.com/apache/sling/blob/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ExportServlet.java
[1]
https://github.com/apache/sling/blob/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/annotations/injectorspecific/ScriptVariable.java
was:
The current exporter servlet [0] doesn't expose scripting variables.
If a field for the related Sling Model should be injected via the
ScriptVariable annotation [1] and the filed field is not optional the model
can't be initialized and the request to exporter servlet fails.
Example:
{code}
@Model(adaptables = SlingHttpServletRequest.class, adapters = TestModel.class,
resourceType = "core/components/test")
@Exporter(name = "jackson", extensions = "json")
public class TestModel {
@ScriptVariable
private Page currentPage;
public String getName() {
return currentPage.getName();
}
}
{code}
[0]
https://github.com/apache/sling/blob/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ExportServlet.java
[1]
https://github.com/apache/sling/blob/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/annotations/injectorspecific/ScriptVariable.java
> Make exporter servlet scripting aware
> -------------------------------------
>
> Key: SLING-6354
> URL: https://issues.apache.org/jira/browse/SLING-6354
> Project: Sling
> Issue Type: Improvement
> Components: Extensions
> Affects Versions: Sling Models Impl 1.3.4
> Reporter: Burkhard Pauli
>
> The current exporter servlet [0] doesn't expose scripting variables.
> If a field for the related Sling Model should be injected via the
> ScriptVariable annotation [1] and the field is not optional, the model can't
> be initialized and the request to exporter servlet fails.
> Example:
> {code}
> @Model(adaptables = SlingHttpServletRequest.class, adapters =
> TestModel.class, resourceType = "core/components/test")
> @Exporter(name = "jackson", extensions = "json")
> public class TestModel {
> @ScriptVariable
> private Page currentPage;
> public String getName() {
> return currentPage.getName();
> }
> }
> {code}
> [0]
> https://github.com/apache/sling/blob/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ExportServlet.java
> [1]
> https://github.com/apache/sling/blob/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/annotations/injectorspecific/ScriptVariable.java
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)