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