[JBoss JIRA] (TEIID-2911) Guard against external entity resolving
by Johnathon Lee (JIRA)
[ https://issues.jboss.org/browse/TEIID-2911?page=com.atlassian.jira.plugin... ]
Johnathon Lee updated TEIID-2911:
---------------------------------
Fix Version/s: 8.4.3
> Guard against external entity resolving
> ---------------------------------------
>
> Key: TEIID-2911
> URL: https://issues.jboss.org/browse/TEIID-2911
> Project: Teiid
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: OData, Query Engine
> Affects Versions: 7.7, 8.4
> Reporter: Van Halbert
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.7, 8.4.3
>
> Attachments: org.odata4j.stax2.staximpl.StaxXMLFactoryProvider2.diff
>
>
> if applications that expose RESTEasy XML endpoints, add the following snippet to their web.xml file to disable entity expansion in RESTEasy:
> <context-param>
> <param-name>resteasy.document.expand.entity.references</param-name>
> <param-value>false</param-value>
> </context-param>
> Note that this <context-param> setting has precedence over <init-param>, and will override a contrary setting in an <init-param> element.
> However this is not sufficient for OData as OData4j is responsible for parsing the Atom feed. StaxXMLFactoryProvider2 simply creates XMLInputFactories without any options, thus they will perform external entity resolving by default. An issue will need to be opened against OData4j.
> For SQL/XML, the XMLType input factory needs to disable external entity resolving (via experimentation just setting the relevant property doesn't always work, so like other projects we'll set an XMLResolver, which does work).
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 8 months
[JBoss JIRA] (TEIID-3030) Update Saxon to current release (9.5)
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3030?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3030:
---------------------------------------
Are you using Teiid embedded?
Have you tried just using the later saxon version or are there api changes affecting Teiid?
Unfortunately we don't have complete flexibility here as the saxon dependency is normally coming from the AS/EAP platform.
> Update Saxon to current release (9.5)
> -------------------------------------
>
> Key: TEIID-3030
> URL: https://issues.jboss.org/browse/TEIID-3030
> Project: Teiid
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Affects Versions: 8.7
> Environment: Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T09:51:42-04:00)
> Maven home: C:\Java\apache-maven-3.2.2
> Java version: 1.7.0_60, vendor: Oracle Corporation
> Java home: C:\Program Files\Java\jdk1.7.0_60\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
> Reporter: Gary Gregory
> Assignee: Steven Hawkins
>
> Our product embeds a Teiid server and provides its own set of 3rd party jar files, one of which clashes with Teiid: we provide Saxon-HE 9.4.0.6 and Teiid provides 9.2.1.5. These two versions are NOT binary compatible.
> This shows up using the web services connector as a class not found error because some classes have been repackaged between Saxon 9.2.x and 9.4.x.
> If Teiid updates to the latest version (9.5), so can we, and avoid backporting our Saxon dependencies.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 8 months
[JBoss JIRA] (TEIID-3030) Update Saxon to current release (9.5)
by Gary Gregory (JIRA)
Gary Gregory created TEIID-3030:
-----------------------------------
Summary: Update Saxon to current release (9.5)
Key: TEIID-3030
URL: https://issues.jboss.org/browse/TEIID-3030
Project: Teiid
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: 8.7
Environment: Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T09:51:42-04:00)
Maven home: C:\Java\apache-maven-3.2.2
Java version: 1.7.0_60, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_60\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
Reporter: Gary Gregory
Assignee: Steven Hawkins
Our product embeds a Teiid server and provides its own set of 3rd party jar files, one of which clashes with Teiid: we provide Saxon-HE 9.4.0.6 and Teiid provides 9.2.1.5. These two versions are NOT binary compatible.
This shows up using the web services connector as a class not found error because some classes have been repackaged between Saxon 9.2.x and 9.4.x.
If Teiid updates to the latest version (9.5), so can we, and avoid backporting our Saxon dependencies.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 9 months
[JBoss JIRA] (TEIID-2977) class cast exception with odata json format function results
by Johnathon Lee (JIRA)
[ https://issues.jboss.org/browse/TEIID-2977?page=com.atlassian.jira.plugin... ]
Johnathon Lee updated TEIID-2977:
---------------------------------
Fix Version/s: 8.4.3
> class cast exception with odata json format function results
> ------------------------------------------------------------
>
> Key: TEIID-2977
> URL: https://issues.jboss.org/browse/TEIID-2977
> Project: Teiid
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: OData
> Affects Versions: 8.4
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.7.1, 8.4.3, 8.8
>
>
> If the json format is requested for function/stored procedure results, the json formatting logic will through a class cast:
> 14:56:38,642 ERROR [org.teiid.ODATA] (http-localhost/127.0.0.1:8080-1) TEIID16013 Error occured producing OData result.: java.lang.ClassCastException: org.odata4j.core.OComplexObjects$OComplexObjectImpl cannot be cast to org.odata4j.core.OCollection at org.odata4j.format.json.JsonFormatWriter.writeValue(JsonFormatWriter.java:145) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:] at org.odata4j.format.json.JsonCollectionFormatWriter.writeContent(JsonCollectionFormatWriter.java:38) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:] at org.odata4j.format.json.JsonCollectionFormatWriter.writeContent(JsonCollectionFormatWriter.java:14) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:] at
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 9 months
[JBoss JIRA] (TEIID-2871) Incorrect datatype conversion for java.lang.Byte
by Johnathon Lee (JIRA)
[ https://issues.jboss.org/browse/TEIID-2871?page=com.atlassian.jira.plugin... ]
Johnathon Lee updated TEIID-2871:
---------------------------------
Fix Version/s: 8.4.3
> Incorrect datatype conversion for java.lang.Byte
> ------------------------------------------------
>
> Key: TEIID-2871
> URL: https://issues.jboss.org/browse/TEIID-2871
> Project: Teiid
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: OData
> Affects Versions: 8.3
> Environment: On windows 7 with JBoss DV 6 GA
> Reporter: Patrick Deenen
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.7, 8.4.3
>
>
> When doing a simple odata query on a view which contains a column with a data type of byte the following exception is thrown:
> {quote}
> 10:37:46,642 WARN [org.teiid.ODATA] (http-localhost/127.0.0.1:8080-1) TEIID16012 Could not produce a sucessful OData response. Returning status ServerErrorException with message java.lang.Byte cannot be cast to org.odata4j.core.UnsignedByte.: org.odata4j.exceptions.ServerErrorException: java.lang.Byte cannot be cast to org.odata4j.core.UnsignedByte
> at org.teiid.odata.LocalClient.executeSQL(LocalClient.java:238) [classes:]
> at org.teiid.odata.TeiidProducer.getNavProperty(TeiidProducer.java:90) [classes:]
> at org.teiid.odata.TeiidProducer.getEntities(TeiidProducer.java:79) [classes:]
> at org.odata4j.producer.resources.EntitiesRequestResource.getEntitiesImpl(EntitiesRequestResource.java:371) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.odata4j.producer.resources.EntitiesRequestResource.getEntities(EntitiesRequestResource.java:266) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_45]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_45]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_45]
> at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_45]
> at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.teiid.odata.ODataServletContainerDispatcher.service(ODataServletContainerDispatcher.java:97) [classes:]
> at org.teiid.odata.ODataServlet.service(ODataServlet.java:61) [classes:]
> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.event(JBossWebContext.java:91)
> at org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.invoke(JBossWebContext.java:72)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:499) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
> Caused by: java.lang.ClassCastException: java.lang.Byte cannot be cast to org.odata4j.core.UnsignedByte
> at org.odata4j.core.OSimpleObjects.create(OSimpleObjects.java:47) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.odata4j.core.OProperties.simple(OProperties.java:54) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.teiid.odata.EntityList.buildPropery(EntityList.java:105) [classes:]
> at org.teiid.odata.EntityList.getEntity(EntityList.java:114) [classes:]
> at org.teiid.odata.EntityList.<init>(EntityList.java:85) [classes:]
> at org.teiid.odata.LocalClient.executeSQL(LocalClient.java:236) [classes:]
> ... 35 more
> {quote}
> This is probably due to the fact that in class org.teiid.translator.odata.ODataTypeManager the following is defined:
> {code}
> teiidkeyed.put(DataTypeManager.DefaultDataTypes.BYTE, EdmSimpleType.BYTE);
> {code}
> instead of
> {code}
> teiidkeyed.put(DataTypeManager.DefaultDataTypes.BYTE, EdmSimpleType.SBYTE);
> {code}
> The EdmSimpleType.BYTE tries to cast to the build in org.odata4j.core.UnsignedByte type which is not possible for a java.lang.Byte.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 9 months
[JBoss JIRA] (TEIID-2871) Incorrect datatype conversion for java.lang.Byte
by Johnathon Lee (JIRA)
[ https://issues.jboss.org/browse/TEIID-2871?page=com.atlassian.jira.plugin... ]
Johnathon Lee closed TEIID-2871.
--------------------------------
Resolution: Done
> Incorrect datatype conversion for java.lang.Byte
> ------------------------------------------------
>
> Key: TEIID-2871
> URL: https://issues.jboss.org/browse/TEIID-2871
> Project: Teiid
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: OData
> Affects Versions: 8.3
> Environment: On windows 7 with JBoss DV 6 GA
> Reporter: Patrick Deenen
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.4.3, 8.7
>
>
> When doing a simple odata query on a view which contains a column with a data type of byte the following exception is thrown:
> {quote}
> 10:37:46,642 WARN [org.teiid.ODATA] (http-localhost/127.0.0.1:8080-1) TEIID16012 Could not produce a sucessful OData response. Returning status ServerErrorException with message java.lang.Byte cannot be cast to org.odata4j.core.UnsignedByte.: org.odata4j.exceptions.ServerErrorException: java.lang.Byte cannot be cast to org.odata4j.core.UnsignedByte
> at org.teiid.odata.LocalClient.executeSQL(LocalClient.java:238) [classes:]
> at org.teiid.odata.TeiidProducer.getNavProperty(TeiidProducer.java:90) [classes:]
> at org.teiid.odata.TeiidProducer.getEntities(TeiidProducer.java:79) [classes:]
> at org.odata4j.producer.resources.EntitiesRequestResource.getEntitiesImpl(EntitiesRequestResource.java:371) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.odata4j.producer.resources.EntitiesRequestResource.getEntities(EntitiesRequestResource.java:266) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_45]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_45]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_45]
> at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_45]
> at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.teiid.odata.ODataServletContainerDispatcher.service(ODataServletContainerDispatcher.java:97) [classes:]
> at org.teiid.odata.ODataServlet.service(ODataServlet.java:61) [classes:]
> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.event(JBossWebContext.java:91)
> at org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.invoke(JBossWebContext.java:72)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:499) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
> Caused by: java.lang.ClassCastException: java.lang.Byte cannot be cast to org.odata4j.core.UnsignedByte
> at org.odata4j.core.OSimpleObjects.create(OSimpleObjects.java:47) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.odata4j.core.OProperties.simple(OProperties.java:54) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.teiid.odata.EntityList.buildPropery(EntityList.java:105) [classes:]
> at org.teiid.odata.EntityList.getEntity(EntityList.java:114) [classes:]
> at org.teiid.odata.EntityList.<init>(EntityList.java:85) [classes:]
> at org.teiid.odata.LocalClient.executeSQL(LocalClient.java:236) [classes:]
> ... 35 more
> {quote}
> This is probably due to the fact that in class org.teiid.translator.odata.ODataTypeManager the following is defined:
> {code}
> teiidkeyed.put(DataTypeManager.DefaultDataTypes.BYTE, EdmSimpleType.BYTE);
> {code}
> instead of
> {code}
> teiidkeyed.put(DataTypeManager.DefaultDataTypes.BYTE, EdmSimpleType.SBYTE);
> {code}
> The EdmSimpleType.BYTE tries to cast to the build in org.odata4j.core.UnsignedByte type which is not possible for a java.lang.Byte.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 9 months
[JBoss JIRA] (TEIID-2871) Incorrect datatype conversion for java.lang.Byte
by Johnathon Lee (JIRA)
[ https://issues.jboss.org/browse/TEIID-2871?page=com.atlassian.jira.plugin... ]
Johnathon Lee reopened TEIID-2871:
----------------------------------
re-open for fix version
> Incorrect datatype conversion for java.lang.Byte
> ------------------------------------------------
>
> Key: TEIID-2871
> URL: https://issues.jboss.org/browse/TEIID-2871
> Project: Teiid
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: OData
> Affects Versions: 8.3
> Environment: On windows 7 with JBoss DV 6 GA
> Reporter: Patrick Deenen
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.7
>
>
> When doing a simple odata query on a view which contains a column with a data type of byte the following exception is thrown:
> {quote}
> 10:37:46,642 WARN [org.teiid.ODATA] (http-localhost/127.0.0.1:8080-1) TEIID16012 Could not produce a sucessful OData response. Returning status ServerErrorException with message java.lang.Byte cannot be cast to org.odata4j.core.UnsignedByte.: org.odata4j.exceptions.ServerErrorException: java.lang.Byte cannot be cast to org.odata4j.core.UnsignedByte
> at org.teiid.odata.LocalClient.executeSQL(LocalClient.java:238) [classes:]
> at org.teiid.odata.TeiidProducer.getNavProperty(TeiidProducer.java:90) [classes:]
> at org.teiid.odata.TeiidProducer.getEntities(TeiidProducer.java:79) [classes:]
> at org.odata4j.producer.resources.EntitiesRequestResource.getEntitiesImpl(EntitiesRequestResource.java:371) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.odata4j.producer.resources.EntitiesRequestResource.getEntities(EntitiesRequestResource.java:266) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_45]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_45]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_45]
> at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_45]
> at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at org.teiid.odata.ODataServletContainerDispatcher.service(ODataServletContainerDispatcher.java:97) [classes:]
> at org.teiid.odata.ODataServlet.service(ODataServlet.java:61) [classes:]
> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.event(JBossWebContext.java:91)
> at org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.invoke(JBossWebContext.java:72)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:499) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
> at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
> Caused by: java.lang.ClassCastException: java.lang.Byte cannot be cast to org.odata4j.core.UnsignedByte
> at org.odata4j.core.OSimpleObjects.create(OSimpleObjects.java:47) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.odata4j.core.OProperties.simple(OProperties.java:54) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.teiid.odata.EntityList.buildPropery(EntityList.java:105) [classes:]
> at org.teiid.odata.EntityList.getEntity(EntityList.java:114) [classes:]
> at org.teiid.odata.EntityList.<init>(EntityList.java:85) [classes:]
> at org.teiid.odata.LocalClient.executeSQL(LocalClient.java:236) [classes:]
> ... 35 more
> {quote}
> This is probably due to the fact that in class org.teiid.translator.odata.ODataTypeManager the following is defined:
> {code}
> teiidkeyed.put(DataTypeManager.DefaultDataTypes.BYTE, EdmSimpleType.BYTE);
> {code}
> instead of
> {code}
> teiidkeyed.put(DataTypeManager.DefaultDataTypes.BYTE, EdmSimpleType.SBYTE);
> {code}
> The EdmSimpleType.BYTE tries to cast to the build in org.odata4j.core.UnsignedByte type which is not possible for a java.lang.Byte.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 9 months