[ 
https://issues.apache.org/jira/browse/CAMEL-11132?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomohisa Igarashi updated CAMEL-11132:
--------------------------------------
    Description: 
CAMEL-10447 has introduced InputType/OutputType declaration and declarative 
Transformer/Validator based on those types declared on a route.

Next step is to provide type metadata for each Components/DataFormats:
* Let components/DataFormats provide metadata about what data types are 
supported so that app developer can see
* Narrow down the possible data types (i.e. exclude unsupported types) and 
transformers when writing a route in IDE, allow IDE to show those candidates as 
a hint so that app developer can choose from. Also maven plugin could leverage 
those metadata
* Provide such facility from camel side so that the maven plugin and/or IDE can 
leverage it

Annotation would be an option, but it only provides static types. For example 
xslt component only consumes/produces XML so "XML" could be provided via 
annotation. But dozer component consumes/produces arbitrary data formats and 
the actual type to be used is determined via configuration, so it cannot be 
provided via annotation. It would need a common way to calculate possible input 
types and output types on a component/endpoint and dataformat from its 
configuration.

Sometimes even body of the input message would affect the possible output 
types. To visualize this we'll need some kind of simulation with a test message.

  was:
CAMEL-10447 has introduced InputType/OutputType declaration and declarative 
Transformer/Validator based on those types declared on a route.

Next step is to provide type metadata for each Components/DataFormats:
* Let components/DataFormats provide metadata about what data types are 
supported so that app developer can see
* Narrow down the possible data types (i.e. exclude unsupported types) and 
transformers when writing a route in IDE, allow IDE to show those candidates as 
a hint so that app developer can choose from
* Provide such facility from camel side so that the maven plugin and/or IDE can 
leverage it

Annotation would be an option, but it only provides static types. For example 
xslt component only consumes/produces XML so "XML" could be provided via 
annotation. But dozer component consumes/produces arbitrary data formats and 
the actual type to be used is determined via configuration, so it cannot be 
provided via annotation. It would need a common way to calculate possible input 
types and output types on a component/endpoint and dataformat from its 
configuration.

Sometimes even body of the input message would affect the possible output 
types. To visualize this we'll need some kind of simulation with a test message.


> Provide type metadata for each Components/DataFormats
> -----------------------------------------------------
>
>                 Key: CAMEL-11132
>                 URL: https://issues.apache.org/jira/browse/CAMEL-11132
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>            Reporter: Tomohisa Igarashi
>            Assignee: Tomohisa Igarashi
>             Fix For: 2.20.0
>
>
> CAMEL-10447 has introduced InputType/OutputType declaration and declarative 
> Transformer/Validator based on those types declared on a route.
> Next step is to provide type metadata for each Components/DataFormats:
> * Let components/DataFormats provide metadata about what data types are 
> supported so that app developer can see
> * Narrow down the possible data types (i.e. exclude unsupported types) and 
> transformers when writing a route in IDE, allow IDE to show those candidates 
> as a hint so that app developer can choose from. Also maven plugin could 
> leverage those metadata
> * Provide such facility from camel side so that the maven plugin and/or IDE 
> can leverage it
> Annotation would be an option, but it only provides static types. For example 
> xslt component only consumes/produces XML so "XML" could be provided via 
> annotation. But dozer component consumes/produces arbitrary data formats and 
> the actual type to be used is determined via configuration, so it cannot be 
> provided via annotation. It would need a common way to calculate possible 
> input types and output types on a component/endpoint and dataformat from its 
> configuration.
> Sometimes even body of the input message would affect the possible output 
> types. To visualize this we'll need some kind of simulation with a test 
> message.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to