JIRA Logged.

https://issues.apache.org/jira/projects/CAMEL/issues/CAMEL-19111

ચિરાગ/चिराग/Chirag
------------------------------------------
Sent from My Gmail Account

On Thu, Mar 2, 2023 at 9:33 AM Chirag <chirag.sangh...@gmail.com> wrote:
>
> Thanks Claus.
>
> with expression containing //Batchmaster, It does not seem to like xtokenize
>
> 2023-03-02 09:29:03.391  INFO 18204 --- [           main]
> org.apache.camel.main.MainSupport   : Apache Camel (JBang) 3.20.2 is
> starting
> 2023-03-02 09:29:03.572  INFO 18204 --- [           main]
> org.apache.camel.main.MainSupport   : Using Java 19.0.1 with PID
> 18204. Started by csanghavi in C:\work\batchsplit
> 2023-03-02 09:29:03.591  INFO 18204 --- [           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)
>
>
>
> if i don't provide expression value:
>
> 2023-03-02 09:30:28.444  INFO 2468 --- [           main]
> org.apache.camel.main.MainSupport   : Apache Camel (JBang) 3.20.2 is
> starting
> 2023-03-02 09:30:28.594  INFO 2468 --- [           main]
> org.apache.camel.main.MainSupport   : Using Java 19.0.1 with PID 2468.
> Started by csanghavi in C:\work\batchsplit
> 2023-03-02 09:30:28.611  INFO 2468 --- [           main]
> mel.cli.connector.LocalCliConnector : Camel CLI enabled (local)
> org.apache.camel.FailedToCreateRouteException: Failed to create route
> route-a6b4 at: >>> Split[xtokenize{} ->
> [To[file:/work/batchsplit/out?fileName=${exchangeId}.xml]]] <<< in
> route: Route(route-a6b4)[From[file:/work/batchsplit/in] -> [Split[x...
> because of Namespaces is not instance of java.util.Map or
> org.apache.camel.support.builder.Namespaces
>         at 
> org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:215)
>         at 
> org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:75)
>         at 
> org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
>         at 
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:937)
>         at 
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:800)
>         at 
> org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:3008)
>         at 
> org.apache.camel.support.service.BaseService.init(BaseService.java:83)
>         at 
> org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2679)
>         at 
> org.apache.camel.support.service.BaseService.start(BaseService.java:111)
>         at 
> org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2698)
>         at 
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:262)
>         at org.apache.camel.main.KameletMain.doStart(KameletMain.java:274)
>         at 
> org.apache.camel.support.service.BaseService.start(BaseService.java:119)
>         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: java.lang.IllegalArgumentException: Namespaces is not
> instance of java.util.Map or
> org.apache.camel.support.builder.Namespaces
>         at 
> org.apache.camel.language.xtokenizer.XMLTokenizeLanguage.createExpression(XMLTokenizeLanguage.java:119)
>         at 
> org.apache.camel.reifier.language.XMLTokenizerExpressionReifier.createExpression(XMLTokenizerExpressionReifier.java:42)
>         at 
> org.apache.camel.reifier.language.ExpressionReifier.createExpression(ExpressionReifier.java:177)
>         at 
> org.apache.camel.reifier.AbstractReifier.createExpression(AbstractReifier.java:119)
>         at 
> org.apache.camel.reifier.SplitReifier.createProcessor(SplitReifier.java:63)
>         at 
> org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:857)
>         at 
> org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:598)
>         at 
> org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:211)
>
> Let me get a JIRA started.
>
> ચિરાગ/चिराग/Chirag
> ------------------------------------------
> Sent from My Gmail Account
>
> On Wed, Mar 1, 2023 at 4:14 PM Claus Ibsen <claus.ib...@gmail.com> wrote:
> >
> > Hi
> >
> > Oh can you try using expression instead of path, so its
> >
> >             expression:
> >               xtokenize:
> >                 id: xtokenize-460a
> >                 expression: //Batchmaster
> >                 mode: w
> >
> > On Wed, Mar 1, 2023 at 10:13 PM Claus Ibsen <claus.ib...@gmail.com> wrote:
> >
> > > Hi
> > >
> > > Ah there is a point that xtokenize is using @XmlValue to set that "path".
> > > And the yaml-dsl is potentially not handing this correctly.
> > > Can you create a JIRA ticket and I will try to find some time to look
> > > at it?
> > >
> > > On Wed, Mar 1, 2023 at 7:35 PM Chirag <chirag.sangh...@gmail.com> wrote:
> > >
> > >> I am using 3.20.0
> > >>
> > >>
> > >> Here is my route in XML DSL:
> > >> <?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>
> > >>
> > >>
> > >> Trying to redefine this to be Yaml so that this could be
> > >> edited/maintained thru Karavan.
> > >>
> > >> ચિરાગ/चिराग/Chirag
> > >> ------------------------------------------
> > >> Sent from My Gmail Account
> > >> On Wed, Mar 1, 2023 at 1:14 AM Claus Ibsen <claus.ib...@gmail.com> wrote:
> > >> >
> > >> > Hi
> > >> >
> > >> > What karavan version do you use?
> > >> >
> > >> > xtokenize only have
> > >> > - mode
> > >> > - group
> > >> >
> > >> > as options so it may seem you use an outdated karavan version, or
> > >> something?
> > >> >
> > >> > You can try karavan online via
> > >> > https://karavan.space/
> > >> >
> > >> > And I copied your code and there is no "path" in the UI. Remove that.
> > >> >
> > >> >
> > >> >
> > >> > On Tue, Feb 28, 2023 at 7:40 PM Chirag <chirag.sangh...@gmail.com>
> > >> wrote:
> > >> >
> > >> > > This is actually two questions in one:
> > >> > >
> > >> > > I am trying to build YAML to perform an XML Splitter (I was able to
> > >> > > build one using XML DSL).
> > >> > >
> > >> > > Now trying with YAML DSL.
> > >> > >
> > >> > > Here is YAML that I came up with using Karavan that looks / feels
> > >> > > similar to XML DSL.
> > >> > > - route:
> > >> > >     id: route-a6b4
> > >> > >     from:
> > >> > >       uri: file:/work/batchsplit/in
> > >> > >       id: from-d1ca
> > >> > >       steps:
> > >> > >         - split:
> > >> > >             id: split-6d45
> > >> > >             expression:
> > >> > >               xtokenize:
> > >> > >                 id: xtokenize-460a
> > >> > >                 path: //Batchmaster
> > >> > >                 mode: w
> > >> > >             streaming: true
> > >> > >             steps:
> > >> > >               - to:
> > >> > >                   uri:
> > >> file:/work/batchsplit/out?fileName=${exchangeId}.xml
> > >> > >                   id: to-1a10
> > >> > >
> > >> > > It is erroring out:
> > >> > >
> > >> > > C:\work\batchsplit>camel run batchsplitversion1.camel.yaml
> > >> > > 2023-02-28 13:25:15.565  INFO 5972 --- [           main]
> > >> > > org.apache.camel.main.MainSupport   : Apache Camel (JBang) 3.20.2 is
> > >> > > starting
> > >> > > 2023-02-28 13:25:15.860  INFO 5972 --- [           main]
> > >> > > org.apache.camel.main.MainSupport   : Using Java 19.0.1 with PID 
> > >> > > 5972.
> > >> > > Started by csanghavi in C:\work\batchsplit
> > >> > > 2023-02-28 13:25:15.873  INFO 5972 --- [           main]
> > >> > > mel.cli.connector.LocalCliConnector : Camel CLI enabled (local)
> > >> > > Unsupported field: path
> > >> > >  in file:batchsplitversion1.camel.yaml, line 12, column 23:
> > >> > >                     path: "//Batchmaster"
> > >> > >                           ^
> > >> > >
> > >> > >         at
> > >> > >
> > >> org.apache.camel.dsl.yaml.common.YamlDeserializerBase.handleUnknownProperty(YamlDeserializerBase.java:132)
> > >> > >         at
> > >> > >
> > >> org.apache.camel.dsl.yaml.common.YamlDeserializerBase.setProperties(YamlDeserializerBase.java:126)
> > >> > >         at
> > >> > >
> > >> org.apache.camel.dsl.yaml.common.YamlDeserializerBase.construct(YamlDeserializerBase.java:65)
> > >> > >
> > >> > > a) what would be the right way to provide xpath for splitting to
> > >> xtokenize.
> > >> > > b) how to provide that using Karavan (Screenshot attached).
> > >> > >
> > >> > > Info:
> > >> > > Karavan running within Visual Studio Code on Windows. Route running
> > >> > > under Jbang 3.20.2 on Windows.
> > >> > >
> > >> > > Regards,
> > >> > >
> > >> > > ચિરાગ/चिराग/Chirag
> > >> > > ------------------------------------------
> > >> > > Sent from My Gmail Account
> > >> > >
> > >> >
> > >> >
> > >> > --
> > >> > Claus Ibsen
> > >> > -----------------
> > >> > @davsclaus
> > >> > Camel in Action 2: https://www.manning.com/ibsen2
> > >>
> > >
> > >
> > > --
> > > Claus Ibsen
> > > -----------------
> > > @davsclaus
> > > Camel in Action 2: https://www.manning.com/ibsen2
> > >
> >
> >
> > --
> > Claus Ibsen
> > -----------------
> > @davsclaus
> > Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to