Re: Camel JBang OpenAPI to REST DSL generator issue with enums: Unsupported field: allowableValues

2022-12-30 Thread Claus Ibsen
Hi

Okay I have fixed this for 3.20.1 onwards

allowableValues:
  - available
  - pending
  - sold

On Thu, Dec 29, 2022 at 8:50 PM Claus Ibsen  wrote:

>
>
> On Thu, Dec 29, 2022 at 8:46 PM Mikael Koskinen 
> wrote:
>
>> Hey,
>>
>> Unfortunately I don't have the ASF Jira account and the registration
>> to Jira is disabled so I can't submit the ticket.
>>
>>
> The guide how to create ASF account is linked in the text in the top, eg
> its
> https://infra.apache.org/jira-guidelines.html#who
>
>
>> Best regards,
>> Mikael
>>
>> to 29. jouluk. 2022 klo 21.12 Claus Ibsen (claus.ib...@gmail.com)
>> kirjoitti:
>> >
>> > Hi
>> >
>> > Yeah it smells like a yaml-dsl bug, can you create a JIRA ticket
>> >
>> > On Thu, Dec 29, 2022 at 10:24 AM Mikael Koskinen 
>> wrote:
>> >
>> > > Hey,
>> > >
>> > > Just a quick update: Here's a minimal gist which shows the issue:
>> > >
>> > > camel run
>> > > https://gist.github.com/mikoskinen/dccfffd7b6fa6d95f5a0bce66e491765
>> > >
>> > > Hope this helps.
>> > >
>> > > Best regards,
>> > > Mikael
>> > >
>> > > to 29. jouluk. 2022 klo 11.08 Mikael Koskinen (mijap...@gmail.com)
>> > > kirjoitti:
>> > > >
>> > > > Hi,
>> > > >
>> > > > I'm testing the Camel JBang 3.20 OpenAPI to REST generator and
>> > > > encountering some issues with enums when trying to run the generated
>> > > > file. The schema in the error message looks peculiar when trying to
>> > > > run the XML DSL as it points to spring but I'm not sure if it should
>> > > > look like that.
>> > > >
>> > > > Error with XML Rest DSL:
>> > > > org.apache.camel.RuntimeCamelException:
>> > > > org.apache.camel.xml.io.XmlPullParserException: Unexpected element
>> > > > '{http://camel.apache.org/schema/spring}allowableValues'
>> > > >
>> > > > Error with YAML Rest DSL:
>> > > > Unsupported field: allowableValues
>> > > >  in file:myroutes.yaml, line 124, column 11:
>> > > >   value:
>> > > >
>> > > > More information follows:
>> > > >
>> > > > I'm using the PetStore OpenAPI 3 spec:
>> > > >
>> > >
>> https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml
>> > > >
>> > > > I'm generating the REST DSL using:
>> > > >
>> > > > camel generate rest -i openapi.yaml -o myroutes.yaml
>> > > >
>> > > > The generation goes through without errors. But Camel isn't able to
>> > > > parse the generated file when trying to run the routes using camel
>> run
>> > > > myroutes.yaml:
>> > > >
>> > > > ---
>> > > > Unsupported field: allowableValues
>> > > >  in file:myroutes.yaml, line 124, column 11:
>> > > >   value:
>> > > >   ^
>> > > >
>> > > > 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)
>> > > > at
>> > >
>> org.apache.camel.dsl.yaml.common.YamlDeserializationContext$1.construct(YamlDeserializationContext.java:171)
>> > > > at
>> > >
>> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asType(YamlDeserializerSupport.java:344)
>> > > > at
>> > >
>> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asCollection(YamlDeserializerSupport.java:322)
>> > > > at
>> > >
>> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatCollection(YamlDeserializerSupport.java:298)
>> > > > at
>> > >
>> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatList(YamlDeserializerSupport.java:277)
>> > > > at
>> > >
>> org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$GetDefinitionDeserializer.setProperty(ModelDeserializers.java:5563)
>> > > > ---
>> > > >
>> > > > The generated file contains this which based on the error is
>> failing:
>> > > >
>> > > > get:
>> > > > - id: "findPetsByStatus"
>> > > >   path: "/pet/findByStatus"
>> > > >   description: "Multiple status values can be provided with
>> comma
>> > > > separated strings"
>> > > >   produces: "application/xml,application/json"
>> > > >   param:
>> > > >   - dataType: "string"
>> > > > defaultValue: "available"
>> > > > description: "Status values that need to be considered for
>> > > filter"
>> > > > name: "status"
>> > > > required: false
>> > > > type: "query"
>> > > > allowableValues:
>> > > >   value:
>> > > >   - "available"
>> > > >   - "pending"
>> > > >   - "sold"
>> > > >   to: "direct:findPetsByStatus"
>> > > >
>> > > > The original OpenAPI spec has this:
>> > > >
>> > > >   /pet/findByStatus:
>> > > > get:
>> > > >   tags:
>> > > > - pet
>> > > >   summary: Finds Pets by status
>> > > >   description: Multiple status values can be provided with comma
>> > > > 

Re: Camel JBang OpenAPI to REST DSL generator issue with enums: Unsupported field: allowableValues

2022-12-29 Thread Claus Ibsen
On Thu, Dec 29, 2022 at 8:46 PM Mikael Koskinen  wrote:

> Hey,
>
> Unfortunately I don't have the ASF Jira account and the registration
> to Jira is disabled so I can't submit the ticket.
>
>
The guide how to create ASF account is linked in the text in the top, eg its
https://infra.apache.org/jira-guidelines.html#who


> Best regards,
> Mikael
>
> to 29. jouluk. 2022 klo 21.12 Claus Ibsen (claus.ib...@gmail.com)
> kirjoitti:
> >
> > Hi
> >
> > Yeah it smells like a yaml-dsl bug, can you create a JIRA ticket
> >
> > On Thu, Dec 29, 2022 at 10:24 AM Mikael Koskinen 
> wrote:
> >
> > > Hey,
> > >
> > > Just a quick update: Here's a minimal gist which shows the issue:
> > >
> > > camel run
> > > https://gist.github.com/mikoskinen/dccfffd7b6fa6d95f5a0bce66e491765
> > >
> > > Hope this helps.
> > >
> > > Best regards,
> > > Mikael
> > >
> > > to 29. jouluk. 2022 klo 11.08 Mikael Koskinen (mijap...@gmail.com)
> > > kirjoitti:
> > > >
> > > > Hi,
> > > >
> > > > I'm testing the Camel JBang 3.20 OpenAPI to REST generator and
> > > > encountering some issues with enums when trying to run the generated
> > > > file. The schema in the error message looks peculiar when trying to
> > > > run the XML DSL as it points to spring but I'm not sure if it should
> > > > look like that.
> > > >
> > > > Error with XML Rest DSL:
> > > > org.apache.camel.RuntimeCamelException:
> > > > org.apache.camel.xml.io.XmlPullParserException: Unexpected element
> > > > '{http://camel.apache.org/schema/spring}allowableValues'
> > > >
> > > > Error with YAML Rest DSL:
> > > > Unsupported field: allowableValues
> > > >  in file:myroutes.yaml, line 124, column 11:
> > > >   value:
> > > >
> > > > More information follows:
> > > >
> > > > I'm using the PetStore OpenAPI 3 spec:
> > > >
> > >
> https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml
> > > >
> > > > I'm generating the REST DSL using:
> > > >
> > > > camel generate rest -i openapi.yaml -o myroutes.yaml
> > > >
> > > > The generation goes through without errors. But Camel isn't able to
> > > > parse the generated file when trying to run the routes using camel
> run
> > > > myroutes.yaml:
> > > >
> > > > ---
> > > > Unsupported field: allowableValues
> > > >  in file:myroutes.yaml, line 124, column 11:
> > > >   value:
> > > >   ^
> > > >
> > > > 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)
> > > > at
> > >
> org.apache.camel.dsl.yaml.common.YamlDeserializationContext$1.construct(YamlDeserializationContext.java:171)
> > > > at
> > >
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asType(YamlDeserializerSupport.java:344)
> > > > at
> > >
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asCollection(YamlDeserializerSupport.java:322)
> > > > at
> > >
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatCollection(YamlDeserializerSupport.java:298)
> > > > at
> > >
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatList(YamlDeserializerSupport.java:277)
> > > > at
> > >
> org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$GetDefinitionDeserializer.setProperty(ModelDeserializers.java:5563)
> > > > ---
> > > >
> > > > The generated file contains this which based on the error is failing:
> > > >
> > > > get:
> > > > - id: "findPetsByStatus"
> > > >   path: "/pet/findByStatus"
> > > >   description: "Multiple status values can be provided with comma
> > > > separated strings"
> > > >   produces: "application/xml,application/json"
> > > >   param:
> > > >   - dataType: "string"
> > > > defaultValue: "available"
> > > > description: "Status values that need to be considered for
> > > filter"
> > > > name: "status"
> > > > required: false
> > > > type: "query"
> > > > allowableValues:
> > > >   value:
> > > >   - "available"
> > > >   - "pending"
> > > >   - "sold"
> > > >   to: "direct:findPetsByStatus"
> > > >
> > > > The original OpenAPI spec has this:
> > > >
> > > >   /pet/findByStatus:
> > > > get:
> > > >   tags:
> > > > - pet
> > > >   summary: Finds Pets by status
> > > >   description: Multiple status values can be provided with comma
> > > > separated strings
> > > >   operationId: findPetsByStatus
> > > >   parameters:
> > > > - name: status
> > > >   in: query
> > > >   description: Status values that need to be considered for
> > > filter
> > > >   required: false
> > > >   explode: true
> > > >   schema:
> > > > type: 

Re: Camel JBang OpenAPI to REST DSL generator issue with enums: Unsupported field: allowableValues

2022-12-29 Thread Mikael Koskinen
Hey,

Unfortunately I don't have the ASF Jira account and the registration
to Jira is disabled so I can't submit the ticket.

Best regards,
Mikael

to 29. jouluk. 2022 klo 21.12 Claus Ibsen (claus.ib...@gmail.com) kirjoitti:
>
> Hi
>
> Yeah it smells like a yaml-dsl bug, can you create a JIRA ticket
>
> On Thu, Dec 29, 2022 at 10:24 AM Mikael Koskinen  wrote:
>
> > Hey,
> >
> > Just a quick update: Here's a minimal gist which shows the issue:
> >
> > camel run
> > https://gist.github.com/mikoskinen/dccfffd7b6fa6d95f5a0bce66e491765
> >
> > Hope this helps.
> >
> > Best regards,
> > Mikael
> >
> > to 29. jouluk. 2022 klo 11.08 Mikael Koskinen (mijap...@gmail.com)
> > kirjoitti:
> > >
> > > Hi,
> > >
> > > I'm testing the Camel JBang 3.20 OpenAPI to REST generator and
> > > encountering some issues with enums when trying to run the generated
> > > file. The schema in the error message looks peculiar when trying to
> > > run the XML DSL as it points to spring but I'm not sure if it should
> > > look like that.
> > >
> > > Error with XML Rest DSL:
> > > org.apache.camel.RuntimeCamelException:
> > > org.apache.camel.xml.io.XmlPullParserException: Unexpected element
> > > '{http://camel.apache.org/schema/spring}allowableValues'
> > >
> > > Error with YAML Rest DSL:
> > > Unsupported field: allowableValues
> > >  in file:myroutes.yaml, line 124, column 11:
> > >   value:
> > >
> > > More information follows:
> > >
> > > I'm using the PetStore OpenAPI 3 spec:
> > >
> > https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml
> > >
> > > I'm generating the REST DSL using:
> > >
> > > camel generate rest -i openapi.yaml -o myroutes.yaml
> > >
> > > The generation goes through without errors. But Camel isn't able to
> > > parse the generated file when trying to run the routes using camel run
> > > myroutes.yaml:
> > >
> > > ---
> > > Unsupported field: allowableValues
> > >  in file:myroutes.yaml, line 124, column 11:
> > >   value:
> > >   ^
> > >
> > > 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)
> > > at
> > org.apache.camel.dsl.yaml.common.YamlDeserializationContext$1.construct(YamlDeserializationContext.java:171)
> > > at
> > org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asType(YamlDeserializerSupport.java:344)
> > > at
> > org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asCollection(YamlDeserializerSupport.java:322)
> > > at
> > org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatCollection(YamlDeserializerSupport.java:298)
> > > at
> > org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatList(YamlDeserializerSupport.java:277)
> > > at
> > org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$GetDefinitionDeserializer.setProperty(ModelDeserializers.java:5563)
> > > ---
> > >
> > > The generated file contains this which based on the error is failing:
> > >
> > > get:
> > > - id: "findPetsByStatus"
> > >   path: "/pet/findByStatus"
> > >   description: "Multiple status values can be provided with comma
> > > separated strings"
> > >   produces: "application/xml,application/json"
> > >   param:
> > >   - dataType: "string"
> > > defaultValue: "available"
> > > description: "Status values that need to be considered for
> > filter"
> > > name: "status"
> > > required: false
> > > type: "query"
> > > allowableValues:
> > >   value:
> > >   - "available"
> > >   - "pending"
> > >   - "sold"
> > >   to: "direct:findPetsByStatus"
> > >
> > > The original OpenAPI spec has this:
> > >
> > >   /pet/findByStatus:
> > > get:
> > >   tags:
> > > - pet
> > >   summary: Finds Pets by status
> > >   description: Multiple status values can be provided with comma
> > > separated strings
> > >   operationId: findPetsByStatus
> > >   parameters:
> > > - name: status
> > >   in: query
> > >   description: Status values that need to be considered for
> > filter
> > >   required: false
> > >   explode: true
> > >   schema:
> > > type: string
> > > enum:
> > >   - available
> > >   - pending
> > >   - sold
> > > default: available
> > >
> > > I also tried generating XML DSL and it gives the following error when
> > running:
> > >
> > > org.apache.camel.RuntimeCamelException:
> > > org.apache.camel.xml.io.XmlPullParserException: Unexpected element
> > > '{http://camel.apache.org/schema/spring}allowableValues'
> > >
> > > I tried to find the 

Re: Camel JBang OpenAPI to REST DSL generator issue with enums: Unsupported field: allowableValues

2022-12-29 Thread Claus Ibsen
Hi

Okay so if you use as a workaround (its due to the model being special -
and it may even cause XML DSL to be wrong as well)

@XmlElementWrapper(name = "allowableValues")
@XmlElement(name = "value")
private List allowableValues;

value:
  - available
  - pending
  - sold




On Thu, Dec 29, 2022 at 8:11 PM Claus Ibsen  wrote:

> Hi
>
> Yeah it smells like a yaml-dsl bug, can you create a JIRA ticket
>
> On Thu, Dec 29, 2022 at 10:24 AM Mikael Koskinen 
> wrote:
>
>> Hey,
>>
>> Just a quick update: Here's a minimal gist which shows the issue:
>>
>> camel run
>> https://gist.github.com/mikoskinen/dccfffd7b6fa6d95f5a0bce66e491765
>>
>> Hope this helps.
>>
>> Best regards,
>> Mikael
>>
>> to 29. jouluk. 2022 klo 11.08 Mikael Koskinen (mijap...@gmail.com)
>> kirjoitti:
>> >
>> > Hi,
>> >
>> > I'm testing the Camel JBang 3.20 OpenAPI to REST generator and
>> > encountering some issues with enums when trying to run the generated
>> > file. The schema in the error message looks peculiar when trying to
>> > run the XML DSL as it points to spring but I'm not sure if it should
>> > look like that.
>> >
>> > Error with XML Rest DSL:
>> > org.apache.camel.RuntimeCamelException:
>> > org.apache.camel.xml.io.XmlPullParserException: Unexpected element
>> > '{http://camel.apache.org/schema/spring}allowableValues'
>> >
>> > Error with YAML Rest DSL:
>> > Unsupported field: allowableValues
>> >  in file:myroutes.yaml, line 124, column 11:
>> >   value:
>> >
>> > More information follows:
>> >
>> > I'm using the PetStore OpenAPI 3 spec:
>> >
>> https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml
>> >
>> > I'm generating the REST DSL using:
>> >
>> > camel generate rest -i openapi.yaml -o myroutes.yaml
>> >
>> > The generation goes through without errors. But Camel isn't able to
>> > parse the generated file when trying to run the routes using camel run
>> > myroutes.yaml:
>> >
>> > ---
>> > Unsupported field: allowableValues
>> >  in file:myroutes.yaml, line 124, column 11:
>> >   value:
>> >   ^
>> >
>> > 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)
>> > at
>> org.apache.camel.dsl.yaml.common.YamlDeserializationContext$1.construct(YamlDeserializationContext.java:171)
>> > at
>> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asType(YamlDeserializerSupport.java:344)
>> > at
>> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asCollection(YamlDeserializerSupport.java:322)
>> > at
>> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatCollection(YamlDeserializerSupport.java:298)
>> > at
>> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatList(YamlDeserializerSupport.java:277)
>> > at
>> org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$GetDefinitionDeserializer.setProperty(ModelDeserializers.java:5563)
>> > ---
>> >
>> > The generated file contains this which based on the error is failing:
>> >
>> > get:
>> > - id: "findPetsByStatus"
>> >   path: "/pet/findByStatus"
>> >   description: "Multiple status values can be provided with comma
>> > separated strings"
>> >   produces: "application/xml,application/json"
>> >   param:
>> >   - dataType: "string"
>> > defaultValue: "available"
>> > description: "Status values that need to be considered for
>> filter"
>> > name: "status"
>> > required: false
>> > type: "query"
>> > allowableValues:
>> >   value:
>> >   - "available"
>> >   - "pending"
>> >   - "sold"
>> >   to: "direct:findPetsByStatus"
>> >
>> > The original OpenAPI spec has this:
>> >
>> >   /pet/findByStatus:
>> > get:
>> >   tags:
>> > - pet
>> >   summary: Finds Pets by status
>> >   description: Multiple status values can be provided with comma
>> > separated strings
>> >   operationId: findPetsByStatus
>> >   parameters:
>> > - name: status
>> >   in: query
>> >   description: Status values that need to be considered for
>> filter
>> >   required: false
>> >   explode: true
>> >   schema:
>> > type: string
>> > enum:
>> >   - available
>> >   - pending
>> >   - sold
>> > default: available
>> >
>> > I also tried generating XML DSL and it gives the following error when
>> running:
>> >
>> > org.apache.camel.RuntimeCamelException:
>> > org.apache.camel.xml.io.XmlPullParserException: Unexpected element
>> > '{http://camel.apache.org/schema/spring}allowableValues'
>> >
>> > I tried to find the relevant parts from the 

Re: Camel JBang OpenAPI to REST DSL generator issue with enums: Unsupported field: allowableValues

2022-12-29 Thread Claus Ibsen
Hi

Yeah it smells like a yaml-dsl bug, can you create a JIRA ticket

On Thu, Dec 29, 2022 at 10:24 AM Mikael Koskinen  wrote:

> Hey,
>
> Just a quick update: Here's a minimal gist which shows the issue:
>
> camel run
> https://gist.github.com/mikoskinen/dccfffd7b6fa6d95f5a0bce66e491765
>
> Hope this helps.
>
> Best regards,
> Mikael
>
> to 29. jouluk. 2022 klo 11.08 Mikael Koskinen (mijap...@gmail.com)
> kirjoitti:
> >
> > Hi,
> >
> > I'm testing the Camel JBang 3.20 OpenAPI to REST generator and
> > encountering some issues with enums when trying to run the generated
> > file. The schema in the error message looks peculiar when trying to
> > run the XML DSL as it points to spring but I'm not sure if it should
> > look like that.
> >
> > Error with XML Rest DSL:
> > org.apache.camel.RuntimeCamelException:
> > org.apache.camel.xml.io.XmlPullParserException: Unexpected element
> > '{http://camel.apache.org/schema/spring}allowableValues'
> >
> > Error with YAML Rest DSL:
> > Unsupported field: allowableValues
> >  in file:myroutes.yaml, line 124, column 11:
> >   value:
> >
> > More information follows:
> >
> > I'm using the PetStore OpenAPI 3 spec:
> >
> https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml
> >
> > I'm generating the REST DSL using:
> >
> > camel generate rest -i openapi.yaml -o myroutes.yaml
> >
> > The generation goes through without errors. But Camel isn't able to
> > parse the generated file when trying to run the routes using camel run
> > myroutes.yaml:
> >
> > ---
> > Unsupported field: allowableValues
> >  in file:myroutes.yaml, line 124, column 11:
> >   value:
> >   ^
> >
> > 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)
> > at
> org.apache.camel.dsl.yaml.common.YamlDeserializationContext$1.construct(YamlDeserializationContext.java:171)
> > at
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asType(YamlDeserializerSupport.java:344)
> > at
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asCollection(YamlDeserializerSupport.java:322)
> > at
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatCollection(YamlDeserializerSupport.java:298)
> > at
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatList(YamlDeserializerSupport.java:277)
> > at
> org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$GetDefinitionDeserializer.setProperty(ModelDeserializers.java:5563)
> > ---
> >
> > The generated file contains this which based on the error is failing:
> >
> > get:
> > - id: "findPetsByStatus"
> >   path: "/pet/findByStatus"
> >   description: "Multiple status values can be provided with comma
> > separated strings"
> >   produces: "application/xml,application/json"
> >   param:
> >   - dataType: "string"
> > defaultValue: "available"
> > description: "Status values that need to be considered for
> filter"
> > name: "status"
> > required: false
> > type: "query"
> > allowableValues:
> >   value:
> >   - "available"
> >   - "pending"
> >   - "sold"
> >   to: "direct:findPetsByStatus"
> >
> > The original OpenAPI spec has this:
> >
> >   /pet/findByStatus:
> > get:
> >   tags:
> > - pet
> >   summary: Finds Pets by status
> >   description: Multiple status values can be provided with comma
> > separated strings
> >   operationId: findPetsByStatus
> >   parameters:
> > - name: status
> >   in: query
> >   description: Status values that need to be considered for
> filter
> >   required: false
> >   explode: true
> >   schema:
> > type: string
> > enum:
> >   - available
> >   - pending
> >   - sold
> > default: available
> >
> > I also tried generating XML DSL and it gives the following error when
> running:
> >
> > org.apache.camel.RuntimeCamelException:
> > org.apache.camel.xml.io.XmlPullParserException: Unexpected element
> > '{http://camel.apache.org/schema/spring}allowableValues'
> >
> > I tried to find the relevant parts from the Apache Camel's source code
> > and AFAIK it tries to handle allowableValues. The schema in the XML
> > error looks strange though with a reference to spring. Should that be
> > rest instead?
> >
> > Everything works OK with a simpler schema
> > (
> https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/petstore.yaml
> )
> >
> > Is this a known issue or is there some setting I could change to make
> > things work? Thanks in advance!
> >
> > Best regards,
> > 

Re: Camel JBang OpenAPI to REST DSL generator issue with enums: Unsupported field: allowableValues

2022-12-29 Thread Mikael Koskinen
Hey,

Just a quick update: Here's a minimal gist which shows the issue:

camel run https://gist.github.com/mikoskinen/dccfffd7b6fa6d95f5a0bce66e491765

Hope this helps.

Best regards,
Mikael

to 29. jouluk. 2022 klo 11.08 Mikael Koskinen (mijap...@gmail.com) kirjoitti:
>
> Hi,
>
> I'm testing the Camel JBang 3.20 OpenAPI to REST generator and
> encountering some issues with enums when trying to run the generated
> file. The schema in the error message looks peculiar when trying to
> run the XML DSL as it points to spring but I'm not sure if it should
> look like that.
>
> Error with XML Rest DSL:
> org.apache.camel.RuntimeCamelException:
> org.apache.camel.xml.io.XmlPullParserException: Unexpected element
> '{http://camel.apache.org/schema/spring}allowableValues'
>
> Error with YAML Rest DSL:
> Unsupported field: allowableValues
>  in file:myroutes.yaml, line 124, column 11:
>   value:
>
> More information follows:
>
> I'm using the PetStore OpenAPI 3 spec:
> https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml
>
> I'm generating the REST DSL using:
>
> camel generate rest -i openapi.yaml -o myroutes.yaml
>
> The generation goes through without errors. But Camel isn't able to
> parse the generated file when trying to run the routes using camel run
> myroutes.yaml:
>
> ---
> Unsupported field: allowableValues
>  in file:myroutes.yaml, line 124, column 11:
>   value:
>   ^
>
> 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)
> at 
> org.apache.camel.dsl.yaml.common.YamlDeserializationContext$1.construct(YamlDeserializationContext.java:171)
> at 
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asType(YamlDeserializerSupport.java:344)
> at 
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asCollection(YamlDeserializerSupport.java:322)
> at 
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatCollection(YamlDeserializerSupport.java:298)
> at 
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatList(YamlDeserializerSupport.java:277)
> at 
> org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$GetDefinitionDeserializer.setProperty(ModelDeserializers.java:5563)
> ---
>
> The generated file contains this which based on the error is failing:
>
> get:
> - id: "findPetsByStatus"
>   path: "/pet/findByStatus"
>   description: "Multiple status values can be provided with comma
> separated strings"
>   produces: "application/xml,application/json"
>   param:
>   - dataType: "string"
> defaultValue: "available"
> description: "Status values that need to be considered for filter"
> name: "status"
> required: false
> type: "query"
> allowableValues:
>   value:
>   - "available"
>   - "pending"
>   - "sold"
>   to: "direct:findPetsByStatus"
>
> The original OpenAPI spec has this:
>
>   /pet/findByStatus:
> get:
>   tags:
> - pet
>   summary: Finds Pets by status
>   description: Multiple status values can be provided with comma
> separated strings
>   operationId: findPetsByStatus
>   parameters:
> - name: status
>   in: query
>   description: Status values that need to be considered for filter
>   required: false
>   explode: true
>   schema:
> type: string
> enum:
>   - available
>   - pending
>   - sold
> default: available
>
> I also tried generating XML DSL and it gives the following error when running:
>
> org.apache.camel.RuntimeCamelException:
> org.apache.camel.xml.io.XmlPullParserException: Unexpected element
> '{http://camel.apache.org/schema/spring}allowableValues'
>
> I tried to find the relevant parts from the Apache Camel's source code
> and AFAIK it tries to handle allowableValues. The schema in the XML
> error looks strange though with a reference to spring. Should that be
> rest instead?
>
> Everything works OK with a simpler schema
> (https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/petstore.yaml)
>
> Is this a known issue or is there some setting I could change to make
> things work? Thanks in advance!
>
> Best regards,
> Mikael


Camel JBang OpenAPI to REST DSL generator issue with enums: Unsupported field: allowableValues

2022-12-29 Thread Mikael Koskinen
Hi,

I'm testing the Camel JBang 3.20 OpenAPI to REST generator and
encountering some issues with enums when trying to run the generated
file. The schema in the error message looks peculiar when trying to
run the XML DSL as it points to spring but I'm not sure if it should
look like that.

Error with XML Rest DSL:
org.apache.camel.RuntimeCamelException:
org.apache.camel.xml.io.XmlPullParserException: Unexpected element
'{http://camel.apache.org/schema/spring}allowableValues'

Error with YAML Rest DSL:
Unsupported field: allowableValues
 in file:myroutes.yaml, line 124, column 11:
  value:

More information follows:

I'm using the PetStore OpenAPI 3 spec:
https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml

I'm generating the REST DSL using:

camel generate rest -i openapi.yaml -o myroutes.yaml

The generation goes through without errors. But Camel isn't able to
parse the generated file when trying to run the routes using camel run
myroutes.yaml:

---
Unsupported field: allowableValues
 in file:myroutes.yaml, line 124, column 11:
  value:
  ^

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)
at 
org.apache.camel.dsl.yaml.common.YamlDeserializationContext$1.construct(YamlDeserializationContext.java:171)
at 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asType(YamlDeserializerSupport.java:344)
at 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asCollection(YamlDeserializerSupport.java:322)
at 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatCollection(YamlDeserializerSupport.java:298)
at 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatList(YamlDeserializerSupport.java:277)
at 
org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$GetDefinitionDeserializer.setProperty(ModelDeserializers.java:5563)
---

The generated file contains this which based on the error is failing:

get:
- id: "findPetsByStatus"
  path: "/pet/findByStatus"
  description: "Multiple status values can be provided with comma
separated strings"
  produces: "application/xml,application/json"
  param:
  - dataType: "string"
defaultValue: "available"
description: "Status values that need to be considered for filter"
name: "status"
required: false
type: "query"
allowableValues:
  value:
  - "available"
  - "pending"
  - "sold"
  to: "direct:findPetsByStatus"

The original OpenAPI spec has this:

  /pet/findByStatus:
get:
  tags:
- pet
  summary: Finds Pets by status
  description: Multiple status values can be provided with comma
separated strings
  operationId: findPetsByStatus
  parameters:
- name: status
  in: query
  description: Status values that need to be considered for filter
  required: false
  explode: true
  schema:
type: string
enum:
  - available
  - pending
  - sold
default: available

I also tried generating XML DSL and it gives the following error when running:

org.apache.camel.RuntimeCamelException:
org.apache.camel.xml.io.XmlPullParserException: Unexpected element
'{http://camel.apache.org/schema/spring}allowableValues'

I tried to find the relevant parts from the Apache Camel's source code
and AFAIK it tries to handle allowableValues. The schema in the XML
error looks strange though with a reference to spring. Should that be
rest instead?

Everything works OK with a simpler schema
(https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/petstore.yaml)

Is this a known issue or is there some setting I could change to make
things work? Thanks in advance!

Best regards,
Mikael