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)

Reply via email to