You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Marat Gubaidullin (Jira)" <ji...@apache.org> on 2021/12/07 17:07:00 UTC

[jira] [Updated] (CAMEL-17294) camel-jbang: Json library enums are case sensitive

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

Marat Gubaidullin updated CAMEL-17294:
--------------------------------------
    Description: 
Json DataFormat library names are case sensitive, ex. the following code work fine:
{code:java}
- from:
    uri: "platform-http:/hello"
    steps:
      - set-body:
          constant: "Hello World"
      - marshal:
          json: 
            library: Gson
 {code}

However {code:java} library: gson {code} throws an exception

{noformat}
java.lang.IllegalArgumentException: No enum constant org.apache.camel.model.dataformat.JsonLibrary.gson
        at java.base/java.lang.Enum.valueOf(Enum.java:240)
        at org.apache.camel.model.dataformat.JsonLibrary.valueOf(JsonLibrary.java:25)
        at org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$JsonDataFormatDeserializer.setProperty(ModelDeserializers.java:7375)
{noformat}


  was:
Json DataFormat library names are case sensitive, ex. the following code work fine:
{code:java}
- from:
    uri: "platform-http:/hello"
    steps:
      - set-body:
          constant: "Hello World"
      - marshal:
          json: 
            library: Gson
 {code}

However {code:java} library: gson {code} throws an exception

{noformat}
java.lang.IllegalArgumentException: No enum constant org.apache.camel.model.dataformat.JsonLibrary.gson
        at java.base/java.lang.Enum.valueOf(Enum.java:240)
        at org.apache.camel.model.dataformat.JsonLibrary.valueOf(JsonLibrary.java:25)
        at org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$JsonDataFormatDeserializer.setProperty(ModelDeserializers.java:7375)
{noformat}

For {code:java} library: jackson {code} throws an exception
{noformat}
java.lang.IllegalArgumentException: No enum constant org.apache.camel.model.dataformat.JsonLibrary.jackson
        at java.base/java.lang.Enum.valueOf(Enum.java:240)
        at org.apache.camel.model.dataformat.JsonLibrary.valueOf(JsonLibrary.java:25)
        at org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$JsonDataFormatDeserializer.setProperty(ModelDeserializers.java:7375)
        at org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$JsonDataFormatDeserializer.setProperty(ModelDeserializers.java:7269)
        at org.apache.camel.dsl.yaml.common.YamlDeserializerBase.setProperties(YamlDeserializerBase.java:103)
        at org.apache.camel.dsl.yaml.common.YamlDeserializerBase.construct(YamlDeserializerBase.java:51)
{noformat}



> camel-jbang: Json library enums are case sensitive
> --------------------------------------------------
>
>                 Key: CAMEL-17294
>                 URL: https://issues.apache.org/jira/browse/CAMEL-17294
>             Project: Camel
>          Issue Type: Improvement
>            Reporter: Marat Gubaidullin
>            Priority: Major
>
> Json DataFormat library names are case sensitive, ex. the following code work fine:
> {code:java}
> - from:
>     uri: "platform-http:/hello"
>     steps:
>       - set-body:
>           constant: "Hello World"
>       - marshal:
>           json: 
>             library: Gson
>  {code}
> However {code:java} library: gson {code} throws an exception
> {noformat}
> java.lang.IllegalArgumentException: No enum constant org.apache.camel.model.dataformat.JsonLibrary.gson
>         at java.base/java.lang.Enum.valueOf(Enum.java:240)
>         at org.apache.camel.model.dataformat.JsonLibrary.valueOf(JsonLibrary.java:25)
>         at org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$JsonDataFormatDeserializer.setProperty(ModelDeserializers.java:7375)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)