[teiid-issues] [JBoss JIRA] (TEIID-4374) Procedure missing for an OData metadata request to a Swagger VDB

Van Dillon (JIRA) issues at jboss.org
Sat Aug 13 12:48:00 EDT 2016


    [ https://issues.jboss.org/browse/TEIID-4374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13278814#comment-13278814 ] 

Van Dillon edited comment on TEIID-4374 at 8/13/16 12:47 PM:
-------------------------------------------------------------

Thanks for the help on this Ramesh.  I suspected this wasn't a really bug.  But I thought someone probably had a workaround.

I'm not sure I fully understand the workaround you mention.  If I'm trying to use an existing REST service (like RHQ) that has PUT operations with both input parameters (path, query, a mix) and a body (like the executeOperation operation); are you saying I should create a wrapper that includes the parameters and the body?  What are the semantics for this?  Do you just include the parameters as:

[parameter name]=value

How would you distinguish between path and query parameters?  Is it then the responsibility of your code (the Swagger translator) or the Teiid OData interface code to unwrap this? Or does the OData implementation know how to unwrap it?

The new dependency on apache.common.io comes from SwaggerParser. If you call read(String), it uses Swagger20Parser to load the file with org.apache.commons.io.FileUtils.



was (Author: evdillon):
Thanks for the help on this Ramesh.  I suspected this wasn't a really bug.  But I thought someone probably had a workaround.

If we pass parameters in the body, is there any way to distinguish between path and query types?

The new dependency on apache.common.io comes from SwaggerParser. If you call read(String), it uses Swagger20Parser to load the file with org.apache.commons.io.FileUtils.


> Procedure missing for an OData metadata request to a Swagger VDB
> ----------------------------------------------------------------
>
>                 Key: TEIID-4374
>                 URL: https://issues.jboss.org/browse/TEIID-4374
>             Project: Teiid
>          Issue Type: Bug
>          Components: Misc. Connectors
>    Affects Versions: 9.0, 9.0.1, 9.0.2
>         Environment: Windows 10 Pro x64
> Java 8
>            Reporter: Van Dillon
>            Assignee: Ramesh Reddy
>              Labels: Beta1
>             Fix For: 9.1
>
>         Attachments: resource-adapter-rhq.xml, rhq-metadata.xml, rhq-vdb.xml, swagger.json
>
>
> When a REST PUT path defined in Swagger has a path parameter and a body it does not appear in OData metadata.
> See the attached swagger.json for an example. The operation 'executeOperation' does not appear in OData metadata.
> The code that determines if a procedure is allowed is in:
> org.teiid.olingo.service.ODataSchemaBuilder.allowedProcedure()
> The comment seems to indicate that as long as there is only a single LOB, multiple 'in' parameters are allowed.  But the actual code does not allow any other 'in' parameters if there is a LOB parameter.



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the teiid-issues mailing list