camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Franz Forsthofer (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CAMEL-9580) XSLT Component: Support custom URI resolver which depends on dynamic resource URI of the endpoint
Date Mon, 08 Feb 2016 16:12:39 GMT

     [ https://issues.apache.org/jira/browse/CAMEL-9580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Franz Forsthofer updated CAMEL-9580:
------------------------------------
    Description: 
The XSLT component allows already specifying custom URI resolvers via the parameter uriResolver.
However, when your custom URI resolver depends on the dynamic URI of the endpoint then the
current solution is not sufficient. Suppose you have a dynamically created XSLT endpoint,
like

 <camel:recipientList>
<camel:simple>xslt:${header.XSLT_FILE}?uriResolver=#uriResolver</camel:simple>
</camel:recipientList>

where the resource URI of the XSLT document is also dynamic (in the example via the header
XSLT_File). In this case you cannot hand-over the dynamic resource URI to the custom URI resolver.


The contribution solves this problem by introducing a new parameter uriResolverFactory where
you can specify a factory which implements the method

URIResolver createUriResolver(CamelContext camelContext, String resourceUri)

This method is called when the endpoint is created and gives you access to the endpoint resource
URI.

We also support that the resource URI factory can be set on the component so that you must
not set the factory on each endpoint.

Further advantage of the new approach is that you can now easily extend the default resource
resolver org.apache.camel.builder.xml.XsltUriResolver which also depends on the resource URI
of the endpoint. 

  was:
The XSLT component allows already specifying custom URI resolvers via the parameter uriResolver.
However, when your custom URI resolver depends on the dynamic URI of the endpoint then the
current solution is not sufficient. Suppose you have a dynamically created XSLT endpoint,
like

 <camel:recipientList>
<camel:simple>xslt:${header.XSLT_FILE}?uriResolver=#uriResolver</camel:simple>
</camel:recipientList>

where the resource URI of the XSLT document is also dynamic (in the example via the header
XSLT_File). In this case you cannot hand-over the dynamic resource URI to the custom URI resolver.


The contribution solves this problem by introducing a new parameter uriResolverFactory where
you can specify a factdory which implements the method

URIResolver createUriResolver(CamelContext camelContext, String resourceUri)

This method is called when the endpoint is created and gives you access to the endpoint resource
URI.

We also support that the resource URI factory can be set on the component so that you must
not set the factory on each endpoint.

Further advantage of the new approach is that you can now easily extend the default resource
resolver org.apache.camel.builder.xml.XsltUriResolver which also depends on the resource URI
of the endpoint. 


> XSLT Component: Support custom URI resolver which depends on dynamic resource URI of
the endpoint
> -------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-9580
>                 URL: https://issues.apache.org/jira/browse/CAMEL-9580
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>            Reporter: Franz Forsthofer
>            Assignee: Franz Forsthofer
>             Fix For: 2.17.0
>
>
> The XSLT component allows already specifying custom URI resolvers via the parameter uriResolver.
However, when your custom URI resolver depends on the dynamic URI of the endpoint then the
current solution is not sufficient. Suppose you have a dynamically created XSLT endpoint,
like
>  <camel:recipientList>
> <camel:simple>xslt:${header.XSLT_FILE}?uriResolver=#uriResolver</camel:simple>
> </camel:recipientList>
> where the resource URI of the XSLT document is also dynamic (in the example via the header
XSLT_File). In this case you cannot hand-over the dynamic resource URI to the custom URI resolver.

> The contribution solves this problem by introducing a new parameter uriResolverFactory
where you can specify a factory which implements the method
> URIResolver createUriResolver(CamelContext camelContext, String resourceUri)
> This method is called when the endpoint is created and gives you access to the endpoint
resource URI.
> We also support that the resource URI factory can be set on the component so that you
must not set the factory on each endpoint.
> Further advantage of the new approach is that you can now easily extend the default resource
resolver org.apache.camel.builder.xml.XsltUriResolver which also depends on the resource URI
of the endpoint. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message