[ 
https://issues.apache.org/jira/browse/CAMEL-19111?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17695875#comment-17695875
 ] 

Chirag Sanghavi commented on CAMEL-19111:
-----------------------------------------

Error received with YAML is:
{code:title=Exception Received|borderStyle=solid}

C:\work\batchsplit>camel run batchsplitversion1.camel.yaml
2023-03-02 14:24:07.387  INFO 8680 --- [           main] 
org.apache.camel.main.MainSupport   : Apache Camel (JBang) 3.20.2 is starting
2023-03-02 14:24:07.653  INFO 8680 --- [           main] 
org.apache.camel.main.MainSupport   : Using Java 19.0.1 with PID 8680. Started 
by csanghavi in C:\work\batchsplit
2023-03-02 14:24:07.678  INFO 8680 --- [           main] 
mel.cli.connector.LocalCliConnector : Camel CLI enabled (local)
org.apache.camel.RuntimeCamelException: Error pre-parsing resource: 
file:batchsplitversion1.camel.yaml      
        at 
org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader.preParseRoute(YamlRoutesBuilderLoader.java:766)
        at 
org.apache.camel.impl.engine.DefaultRoutesLoader.preParseRoute(DefaultRoutesLoader.java:138)
     
        at 
org.apache.camel.main.RoutesConfigurer.configureModeline(RoutesConfigurer.java:283)
        at 
org.apache.camel.main.BaseMainSupport.modelineRoutes(BaseMainSupport.java:629)
        at 
org.apache.camel.main.BaseMainSupport.autoconfigure(BaseMainSupport.java:485)
        at org.apache.camel.main.MainSupport.autoconfigure(MainSupport.java:74)
        at org.apache.camel.main.KameletMain.autoconfigure(KameletMain.java:466)
        at 
org.apache.camel.main.BaseMainSupport.postProcessCamelContext(BaseMainSupport.java:693)
        at 
org.apache.camel.main.MainSupport.initCamelContext(MainSupport.java:404)
        at org.apache.camel.main.KameletMain.doInit(KameletMain.java:265)
        at 
org.apache.camel.support.service.BaseService.init(BaseService.java:83)
        at 
org.apache.camel.support.service.BaseService.start(BaseService.java:111)
        at 
org.apache.camel.dsl.jbang.core.commands.Run.runKameletMain(Run.java:732)
        at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:564)
        at org.apache.camel.dsl.jbang.core.commands.Run.call(Run.java:218)
        at org.apache.camel.dsl.jbang.core.commands.Run.call(Run.java:77)
        at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
        at picocli.CommandLine.access$1500(CommandLine.java:148)
        at 
picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
        at 
picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
        at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
        at picocli.CommandLine.execute(CommandLine.java:2170)
        at 
org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:134)
        at main.CamelJBang.main(CamelJBang.java:36)
Caused by: mapping values are not allowed here
 in file:batchsplitversion1.camel.yaml, line 10, column 24:
                  xtokenize:
                           ^

        at 
org.snakeyaml.engine.v2.scanner.ScannerImpl.fetchValue(ScannerImpl.java:822)
        at 
org.snakeyaml.engine.v2.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:333)
        at 
org.snakeyaml.engine.v2.scanner.ScannerImpl.checkToken(ScannerImpl.java:192)
        at 
org.snakeyaml.engine.v2.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:616)
        at 
org.snakeyaml.engine.v2.parser.ParserImpl.lambda$produce$0(ParserImpl.java:181)
        at java.base/java.util.Optional.ifPresent(Optional.java:178)
        at 
org.snakeyaml.engine.v2.parser.ParserImpl.produce(ParserImpl.java:181)
        at 
org.snakeyaml.engine.v2.parser.ParserImpl.peekEvent(ParserImpl.java:189)
        at 
org.snakeyaml.engine.v2.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:58)
        at 
org.snakeyaml.engine.v2.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:44)
        at 
org.snakeyaml.engine.v2.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:134)
        at 
org.snakeyaml.engine.v2.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:114)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeScalarNode(Composer.java:230)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeNode(Composer.java:200)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeValueNode(Composer.java:311)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeMappingChildren(Composer.java:302)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeMappingNode(Composer.java:289)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeNode(Composer.java:204)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeValueNode(Composer.java:311)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeMappingChildren(Composer.java:302)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeMappingNode(Composer.java:289)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeNode(Composer.java:204)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeSequenceNode(Composer.java:256)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeNode(Composer.java:202)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeValueNode(Composer.java:311)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeMappingChildren(Composer.java:302)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeMappingNode(Composer.java:289)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeNode(Composer.java:204)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeValueNode(Composer.java:311)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeMappingChildren(Composer.java:302)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeMappingNode(Composer.java:289)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeNode(Composer.java:204)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeValueNode(Composer.java:311)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeMappingChildren(Composer.java:302)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeMappingNode(Composer.java:289)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeNode(Composer.java:204)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeSequenceNode(Composer.java:256)
        at 
org.snakeyaml.engine.v2.composer.Composer.composeNode(Composer.java:202)
        at org.snakeyaml.engine.v2.composer.Composer.next(Composer.java:161)
        at 
org.snakeyaml.engine.v2.composer.Composer.getSingleNode(Composer.java:123)
        at 
org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader.preParseRoute(YamlRoutesBuilderLoader.java:763)
        ... 25 more

{code}


> Yaml DSL does not seem to work with split/xtokenize
> ---------------------------------------------------
>
>                 Key: CAMEL-19111
>                 URL: https://issues.apache.org/jira/browse/CAMEL-19111
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-yaml-dsl
>    Affects Versions: 3.20.2
>            Reporter: Chirag Sanghavi
>            Priority: Major
>             Fix For: 3.20.3, 3.21.0, 4.0-M3, 4.0
>
>
> This scenario works with XML DSL
> Here is XML DSL
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- camel-k: language=xml --><routes 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>         xmlns="http://camel.apache.org/schema/spring";
>         xsi:schemaLocation="
>             http://camel.apache.org/schema/spring
>             https://camel.apache.org/schema/spring/camel-spring.xsd";>    <!-- 
> Write your routes here, for example: -->
>     
>     <route>
>         <from uri="file:///c://work//batchsplit//in"/>
>         <split streaming="true">
>             <xtokenize mode="w">//BatchMaster</xtokenize>
>             <to 
> uri="file:///c://work//batchsplit//out?fileName=${exchangeId}.xml"/>
>         </split>
>     </route></routes>
>  {code}
> Here is Yaml version that I tried:
> {code:yaml}
> - route:
>     id: route-a6b4
>     from:
>       uri: file:/work/batchsplit/in
>       id: from-d1ca
>       steps:
>         - split:
>             id: split-6d45
>             expression: //Batchmaster
>             xtokenize:
>                 id: xtokenize-460a
>                 mode: w
>             streaming: true
>             steps:
>               - to:
>                   uri: file:/work/batchsplit/out?fileName=${exchangeId}.xml
>                   id: to-1a10
> {code}
> I have tried to run this thru camel-jbang.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to