Franz Forsthofer created CAMEL-9572:
---------------------------------------
Summary: Validator Component: Support custom resource resolver
which depends on dynamic resource URI of the endpoint
Key: CAMEL-9572
URL: https://issues.apache.org/jira/browse/CAMEL-9572
Project: Camel
Issue Type: Improvement
Components: camel-core
Reporter: Franz Forsthofer
Assignee: Franz Forsthofer
Fix For: 2.17.0
The validator endpoint allows already to specify custom resource resolvers, via
the parameter resourceResolver. However, there is a use case where this
functionality is not sufficient. If you have a dynamically created validator
endpoint, like
<camel:recipientList>
<camel:simple>}validator:${header.XSD_FILE}?resourceResolver=#resourceResolver</camel:simple>
</camel:recipientList>
where the resource URI of the XSD document is also dynamic (in the example via
the header XSD_FILE) and if your resource resolver depends on the resource URI
of the XSD document, then the current implementation gives you no solution for
this problem. You cannot hand-over the dynamic resource URI to the custom
resource resolver.
Therefore we introduce the new parameter resourceResolverFactory where you can
specify a factory which implements the method
LSResourceResolver createResourceResolver(CamelContext camelContext, String
rootResourceUri);
This method is called when the endpoint is created and gives you access to the
endpoint resource URI (parameter rootResourceUri).
Remark: resource resolvers need to have the root resource URI in the case of
relative URIs.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)