You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Tomohisa Igarashi (JIRA)" <ji...@apache.org> on 2017/04/10 14:11:42 UTC

[jira] [Created] (CAMEL-11132) Provide type metadata for each Components/DataFormats

Tomohisa Igarashi created CAMEL-11132:
-----------------------------------------

             Summary: 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
* 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)