Skip to content

Transform does not allow a type-only conversion #1569

@gtg-bantonio

Description

@gtg-bantonio

Describe the bug

Good day, when we tried to use the Transform EIP, we can't remove the expression. According with the examples in Camel, it should be possible to only use type conversion only with this pattern.

- from:
    uri: direct:cheese
    steps:
      - transform:
          to-type: myDataType
      - to:
          uri: log:hello

Steps to reproduce the behavior

  1. Add a new route
  2. Add the Transform
  3. Set only "To Type"
  4. Try to run it
  5. See error

Variant

Web Application

Container Management (if applicable)

Kubernetes

Operating System (if applicable)

Linux

Version

4.10.2

Relevant log output

org.apache.camel.FailedToCreateRouteException: Failed to create route: route-timer-test at: >>> Transform[Test] <<< in route: Route(route-timer-test)[From[timer:Test?repeatCount=1] -> [T... because: Both expression and data type set on transform EIP - please choose only one of them
	at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:246)
	at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:88)
	at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
	at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:765)
	at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:626)
	at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2593)
	at org.apache.camel.support.service.BaseService.init(BaseService.java:85)
	at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2211)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:115)
	at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2230)
	at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211)
	at org.apache.camel.main.KameletMain.doStart(KameletMain.java:405)
	at org.apache.camel.support.service.BaseService.start(BaseService.java:123)
	at org.apache.camel.dsl.jbang.core.commands.Run.runKameletMain(Run.java:1633)
	at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:1002)
	at org.apache.camel.dsl.jbang.core.commands.Run.doCall(Run.java:369)
	at org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:71)
	at org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:37)
	at picocli.CommandLine.executeUserObject(CommandLine.java:2031)
	at picocli.CommandLine.access$1500(CommandLine.java:148)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
	at picocli.CommandLine.execute(CommandLine.java:2174)
	at org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:205)
	at org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:72)
	at main.CamelJBang.main(CamelJBang.java:36)
Caused by: java.lang.IllegalArgumentException: Both expression and data type set on transform EIP - please choose only one of them
	at org.apache.camel.reifier.TransformReifier.createProcessor(TransformReifier.java:36)
	at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:843)
	at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:616)
	at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:238)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions