Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-11584

JBOSS BIRT Integration compatibility issue with Hibernate 3.6+

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • 3.3.x
    • None
    • birt
    • Hide

      Not urgent. Moved off. If you disagree - comment/reassign.

      Really should move this runtime integration issue out of tools release cycle/distro. Contributions very welcome!

      Show
      Not urgent. Moved off. If you disagree - comment/reassign. Really should move this runtime integration issue out of tools release cycle/distro. Contributions very welcome!

    Description

      BIRT report design utilizing Hibernate DataSource/DataSet with query parameter(s) will trigger below listed error and fail.

      This is believed to be consequence of this incompatible change in Hibernate 3.6, see http://opensource.atlassian.com/projects/hibernate/browse/HHH-5138

      Outcome of several test runs:

      Hibernate 3.5.6 + BIRT Report w/o query parameter = OK
      Hibernate 3.5.6 + BIRT Report with query parameter = OK
      
      Hibernate 3.6.7 + BIRT Report w/o query parameter = OK
      Hibernate 3.6.7 + BIRT Report with query parameter = ERROR
      
      Hibernate 3.6.10 + BIRT Report w/o query parameter = OK
      Hibernate 3.6.10 + BIRT Report with query parameter = ERROR
      

      Tested with both stable and development versions of JBoss BIRT Integration jar (1.2.0, 1.3.0) - doesn't seem to have any impact on outcome.

      19.4.2012 12:15:33 org.eclipse.birt.report.engine.api.impl.RunAndRenderTask doRun
      SEVERE: Error happened while running the report.
      java.lang.NoSuchFieldError: STRING
      	at org.jboss.tools.birt.oda.impl.Parameter.<clinit>(Parameter.java:26)
      	at org.jboss.tools.birt.oda.impl.HibernateOdaQuery.setString(HibernateOdaQuery.java:220)
      	at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.setString(OdaQuery.java:738)
      	at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.doSetString(PreparedStatement.java:4310)
      	at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.setString(PreparedStatement.java:3919)
      	at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.setParameterValue(PreparedStatement.java:3134)
      	at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.setParameterValue(PreparedStatement.java:3070)
      	at org.eclipse.birt.data.engine.executor.DataSourceQuery.setInputParameterBinding(DataSourceQuery.java:1124)
      	at org.eclipse.birt.data.engine.executor.DataSourceQuery.addParameterDefns(DataSourceQuery.java:572)
      	at org.eclipse.birt.data.engine.executor.DataSourceQuery.prepare(DataSourceQuery.java:290)
      	at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.prepareOdiQuery(PreparedOdaDSQuery.java:455)
      	at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(QueryExecutor.java:341)
      	at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQuery.java:455)
      	at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.produceQueryResults(PreparedDataSourceQuery.java:190)
      	at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:178)
      	at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute(PreparedOdaDSQuery.java:145)
      	at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:620)
      	at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:152)
      	at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:267)
      	at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1905)
      	at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
      	at org.eclipse.birt.report.engine.executor.DataItemExecutor.execute(DataItemExecutor.java:75)
      	at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
      	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
      	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
      	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
      	at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
      	at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
      	at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111)
      	at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:160)
      	at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
      	at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
      	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
      	at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
      	at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:132)
      	at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
      	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
      	at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
      	at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
      	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:180)
      	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
      

      An example of simple JPQL query featuring problematic parameter:

      SELECT
      	id,
      	attribute1,
      	attribute2
      FROM
      	MyEntity my
      WHERE
      	id = ?
      

      Attachments

        Activity

          People

            snjeza_jira Snjezana Peco (Inactive)
            tomas.vala Tomas Vala (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: