[teiid-issues] [JBoss JIRA] (TEIID-5559) odata4 NPE when accessing VDB including FK relationship across models

Steven Hawkins (Jira) issues at jboss.org
Tue Dec 4 10:47:00 EST 2018


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

Steven Hawkins commented on TEIID-5559:
---------------------------------------

Even with a few refinements that strategy doesn't quite work.  The relationship is bi-directional, so even though we can initially build the pk side, if we then add the reverse navigation then that provider needs to know the fk schema.  In other words the only real way to make this work correctly is to resolve everything upfront, then take a pass through the fks and update the set of referenced schemas on both side.

> odata4 NPE when accessing VDB including FK relationship across models
> ---------------------------------------------------------------------
>
>                 Key: TEIID-5559
>                 URL: https://issues.jboss.org/browse/TEIID-5559
>             Project: Teiid
>          Issue Type: Bug
>          Components: OData
>    Affects Versions: 8.12.16.6_4
>            Reporter: Marc Shirley
>            Assignee: Steven Hawkins
>            Priority: Major
>
> Receive error [2] when attempting to access table that utilizes a foreign key to another model with URL like [1].  access to the other model (that the foreign key references) works correctly.
> [1] http://127.0.0.1:8080/odata4/fktest/fkmodel/
> [2] 
> JBWEB000309: type JBWEB000066: Exception report
> JBWEB000068: message 
> JBWEB000069: description JBWEB000145: The server encountered an internal error that prevented it from fulfilling this request.
> JBWEB000070: exception 
> org.teiid.core.TeiidRuntimeException
> 	org.teiid.olingo.service.ODataSchemaBuilder.buildMetadata(ODataSchemaBuilder.java:58)
> 	org.teiid.olingo.service.OlingoBridge.getHandler(OlingoBridge.java:54)
> 	org.teiid.olingo.web.ODataFilter.internalDoFilter(ODataFilter.java:228)
> 	org.teiid.olingo.web.ODataFilter.doFilter(ODataFilter.java:100)
> 	org.teiid.olingo.web.CorsFilter.doFilter(CorsFilter.java:80)
> JBWEB000071: root cause 
> java.lang.NullPointerException
> 	org.teiid.olingo.service.ODataSchemaBuilder.addReverseNavigation(ODataSchemaBuilder.java:308)
> 	org.teiid.olingo.service.ODataSchemaBuilder.buildNavigationProperties(ODataSchemaBuilder.java:251)
> 	org.teiid.olingo.service.ODataSchemaBuilder.buildEntityTypes(ODataSchemaBuilder.java:144)
> 	org.teiid.olingo.service.ODataSchemaBuilder.buildMetadata(ODataSchemaBuilder.java:54)
> 	org.teiid.olingo.service.OlingoBridge.getHandler(OlingoBridge.java:54)
> 	org.teiid.olingo.web.ODataFilter.internalDoFilter(ODataFilter.java:228)
> 	org.teiid.olingo.web.ODataFilter.doFilter(ODataFilter.java:100)
> 	org.teiid.olingo.web.CorsFilter.doFilter(CorsFilter.java:80)



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the teiid-issues mailing list