[
https://issues.apache.org/jira/browse/SLING-6531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15874594#comment-15874594
]
Konrad Windszus commented on SLING-6531:
----------------------------------------
The question is, how can the information about the validation be propagated
without leveraging an exception and without having a request/thread at hand
(compare with
http://apache-sling.73963.n3.nabble.com/RTC-ThreadLocal-for-getting-current-request-in-sling-td4042387.html).
My proposal is:
Attach the {{ValidationResult}} to the {{Resource}} by leveraging the
{{Resource.getResourceMetadata().put("sling.validation", validationResult)}}.
Then make the {{ValidationResult}} accessible by registering an
{{AdapterFactory}} for adaptations from {{Resource}} to {{ValidationResult}}
which will expose that object again (by looking it up in the Resources
metadata).
> Do not always throw exceptions to propagate information about failed
> validations
> --------------------------------------------------------------------------------
>
> Key: SLING-6531
> URL: https://issues.apache.org/jira/browse/SLING-6531
> Project: Sling
> Issue Type: Improvement
> Components: Extensions
> Affects Versions: Sling Models Validation Impl 1.0.0
> Reporter: Konrad Windszus
> Assignee: Konrad Windszus
> Fix For: Sling Models Validation Impl 1.0.0
>
>
> Right now the {{o.a.s.models.validation.impl.ModelValidationImpl}} will
> always throw an {{InvalidResourceException}} in case the underlying resource
> is not valid (according to Sling Validation). With the advent of different
> severities per issue (SLING-5373) this seems a bit too strict because some
> validators could be used just for informational purposes. Those validations
> should not prevent the Sling Model from being instantiated.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)