[
https://issues.apache.org/jira/browse/CAMEL-15560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17276524#comment-17276524
]
Luca Burgazzoli commented on CAMEL-15560:
-----------------------------------------
I proposed extension just for completeness but yeah, it does not bring many
advantage here.
But would it make sense to you to hide the details about the models ?
The reasoning behind it is that as example in camel-k but could be applicable
here too, when the source is expressed as example via JavaScript (but it also
true for YAML) the distinction between loading routes, rests or templates does
not make much sense as in the same source you can set-up different stuffs.
Using the current mode it would be something like:
{code:java}
InputStream is = getClass().getResourceAsStream("routes.js");
ExtendedCamelContext ecc = context.adapt(ExtendedCamelContext.class);
RoutesBuilder builder = (ecc.getRoutesLoader().load(...);
context.addRoutes(builder);
{code}
> generic route loader
> --------------------
>
> Key: CAMEL-15560
> URL: https://issues.apache.org/jira/browse/CAMEL-15560
> Project: Camel
> Issue Type: New Feature
> Components: camel-core-api, camel-core-engine
> Reporter: Luca Burgazzoli
> Assignee: Luca Burgazzoli
> Priority: Major
> Fix For: 3.9.0
>
>
> In camel-k we have a mechanism to load routes written in different languages,
> in camel instead we only support XML.
> We should move the generic loader to Camel from Camel K and leave the
> implementations where they fit better.
> I'm proposing to remove the following methods from the ExtendedCamelContext
> and replace them with a generic discovery mechanism similar to the one used
> for components & co to find the appropriate loader based on the file
> extension.
> {code:java}
> /**
> * Sets a custom {@link XMLRoutesDefinitionLoader} to be used.
> */
> void setXMLRoutesDefinitionLoader(XMLRoutesDefinitionLoader
> xmlRoutesDefinitionLoader);
> /**
> * Gets the {@link XMLRoutesDefinitionLoader} to be used.
> */
> XMLRoutesDefinitionLoader getXMLRoutesDefinitionLoader();
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)