Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » java.lang.UnsupportedOperationException: setSpecification is not supported.
java.lang.UnsupportedOperationException: setSpecification is not supported. [message #631504] Thu, 07 October 2010 18:49 Go to next message
Dave Missing name is currently offline Dave Missing nameFriend
Messages: 20
Registered: October 2010
Junior Member
Override database connection on server side:

task.getAppContext().put("OdaJDBCDriverPassInConnection", connection);

I got the following exception:

java.lang.UnsupportedOperationException: setSpecification is not supported.
at org.eclipse.birt.report.data.oda.jdbc.Statement.setSpecifica tion(Statement.java:943)
at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQu ery.setSpecification(OdaQuery.java:1488)
at org.eclipse.birt.data.engine.odaconsumer.Connection.setOdaQu erySpec(Connection.java:318)
at org.eclipse.birt.data.engine.odaconsumer.Connection.prepareO daQuery(Connection.java:288)
at org.eclipse.birt.data.engine.odaconsumer.Connection.prepareS tatement(Connection.java:197)
at org.eclipse.birt.data.engine.executor.DataSource.prepareStat ement(DataSource.java:300)
at org.eclipse.birt.data.engine.executor.DataSourceQuery.prepar e(DataSourceQuery.java:276)
at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQu eryExecutor.prepareOdiQuery(PreparedOdaDSQuery.java:441)
at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecu tion(QueryExecutor.java:340)
at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(Pr eparedQuery.java:448)
at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.pr oduceQueryResults(PreparedDataSourceQuery.java:190)
at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.ex ecute(PreparedDataSourceQuery.java:178)
at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute (PreparedOdaDSQuery.java:145)
at org.eclipse.birt.report.data.adapter.impl.DataRequestSession Impl.execute(DataRequestSessionImpl.java:617)
at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExec uteQuery(DteDataEngine.java:152)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.e xecute(AbstractDataEngine.java:265)
at org.eclipse.birt.report.engine.executor.ExtendedGenerateExec utor.executeQueries(ExtendedGenerateExecutor.java:205)
at org.eclipse.birt.report.engine.executor.ExtendedGenerateExec utor.execute(ExtendedGenerateExecutor.java:65)
at org.eclipse.birt.report.engine.executor.ExtendedItemExecutor .execute(ExtendedItemExecutor.java:62)
at org.eclipse.birt.report.engine.internal.executor.dup.Suppres sDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor .java:43)
at org.eclipse.birt.report.engine.internal.executor.wrap.Wrappe dReportItemExecutor.execute(WrappedReportItemExecutor.java:4 6)
at org.eclipse.birt.report.engine.internal.executor.l18n.Locali zedReportItemExecutor.execute(LocalizedReportItemExecutor.ja va:34)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStacking LM.layoutNodes(HTMLBlockStackingLM.java:65)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout (HTMLPageLM.java:90)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutE ngine.layout(HTMLReportLayoutEngine.java:99)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doR un(RunAndRenderTask.java:180)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run (RunAndRenderTask.java:77)

-------
BIRT 2.6.1

Thanks for help.
Dave
Re: java.lang.UnsupportedOperationException: setSpecification is not supported. [message #631524 is a reply to message #631504] Thu, 07 October 2010 20:20 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Dave,

I believe this is a nuisance error and the DTP dev team is aware of it.
The report should still run fine. Did it work for you.

Jason

On 10/7/2010 2:49 PM, Dave wrote:
> Override database connection on server side:
>
> task.getAppContext().put("OdaJDBCDriverPassInConnection", connection);
>
> I got the following exception:
>
> java.lang.UnsupportedOperationException: setSpecification is not supported.
> at org.eclipse.birt.report.data.oda.jdbc.Statement.setSpecifica
> tion(Statement.java:943)
> at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQu
> ery.setSpecification(OdaQuery.java:1488)
> at org.eclipse.birt.data.engine.odaconsumer.Connection.setOdaQu
> erySpec(Connection.java:318)
> at org.eclipse.birt.data.engine.odaconsumer.Connection.prepareO
> daQuery(Connection.java:288)
> at org.eclipse.birt.data.engine.odaconsumer.Connection.prepareS
> tatement(Connection.java:197)
> at org.eclipse.birt.data.engine.executor.DataSource.prepareStat
> ement(DataSource.java:300)
> at org.eclipse.birt.data.engine.executor.DataSourceQuery.prepar
> e(DataSourceQuery.java:276)
> at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQu
> eryExecutor.prepareOdiQuery(PreparedOdaDSQuery.java:441)
> at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecu
> tion(QueryExecutor.java:340)
> at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(Pr
> eparedQuery.java:448)
> at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.pr
> oduceQueryResults(PreparedDataSourceQuery.java:190)
> at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.ex
> ecute(PreparedDataSourceQuery.java:178)
> at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute
> (PreparedOdaDSQuery.java:145)
> at org.eclipse.birt.report.data.adapter.impl.DataRequestSession
> Impl.execute(DataRequestSessionImpl.java:617)
> at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExec
> uteQuery(DteDataEngine.java:152)
> at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.e
> xecute(AbstractDataEngine.java:265)
> at org.eclipse.birt.report.engine.executor.ExtendedGenerateExec
> utor.executeQueries(ExtendedGenerateExecutor.java:205)
> at org.eclipse.birt.report.engine.executor.ExtendedGenerateExec
> utor.execute(ExtendedGenerateExecutor.java:65)
> at org.eclipse.birt.report.engine.executor.ExtendedItemExecutor
> .execute(ExtendedItemExecutor.java:62)
> at org.eclipse.birt.report.engine.internal.executor.dup.Suppres
> sDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor .java:43)
> at org.eclipse.birt.report.engine.internal.executor.wrap.Wrappe
> dReportItemExecutor.execute(WrappedReportItemExecutor.java:4 6)
> at org.eclipse.birt.report.engine.internal.executor.l18n.Locali
> zedReportItemExecutor.execute(LocalizedReportItemExecutor.ja va:34)
> at org.eclipse.birt.report.engine.layout.html.HTMLBlockStacking
> LM.layoutNodes(HTMLBlockStackingLM.java:65)
> at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout
> (HTMLPageLM.java:90)
> at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutE
> ngine.layout(HTMLReportLayoutEngine.java:99)
> at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doR
> un(RunAndRenderTask.java:180)
> at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run
> (RunAndRenderTask.java:77)
>
> -------
> BIRT 2.6.1
>
> Thanks for help.
> Dave
Re: java.lang.UnsupportedOperationException: setSpecification is not supported. [message #631556 is a reply to message #631524] Thu, 07 October 2010 23:00 Go to previous messageGo to next message
Linda ChanFriend
Messages: 845
Registered: July 2009
Senior Member
Like Jason said, this is simply a trace logging message. Minor correction though: DTP has actually nothing to do with the message nor the exception.

The exception thrown by the ODA JDBC driver is simply caught and logged by BIRT data engine. In BIRT 2.6.1, the FINE level logging message even got refined to explicitly said that it is benign. Something like:

"Ignoring the UnsupportedOperationException thrown by ODA driver (<data source type>) on IQuery#setSpecification. This call is optional and does not affect query processing."

Re: java.lang.UnsupportedOperationException: setSpecification is not supported. [message #631564 is a reply to message #631504] Fri, 08 October 2010 01:39 Go to previous messageGo to next message
Dave Missing name is currently offline Dave Missing nameFriend
Messages: 20
Registered: October 2010
Junior Member
I looked at the image directory. The chart image was not created.

In eclipse design, I removed all report parameters related to jdbc connection(url, username,password), and set the connection at runtime.

task.getAppContext().put("OdaJDBCDriverPassInConnection", connection);

How should I debug the issue?

Thanks
Dave
Re: java.lang.UnsupportedOperationException: setSpecification is not supported. [message #631749 is a reply to message #631564] Fri, 08 October 2010 15:26 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Dave,

Does it work when you do not set the connection in the appcontext?

Jason

On 10/7/2010 9:39 PM, Dave wrote:
> I looked at the image directory. The chart image was not created.
>
> In eclipse design, I removed all report parameters related to jdbc
> connection(url, username,password), and set the connection at runtime.
>
> task.getAppContext().put("OdaJDBCDriverPassInConnection", connection);
>
> How should I debug the issue?
>
> Thanks
> Dave
Re: java.lang.UnsupportedOperationException: setSpecification is not supported. [message #631887 is a reply to message #631749] Sun, 10 October 2010 03:07 Go to previous messageGo to next message
Dave Missing name is currently offline Dave Missing nameFriend
Messages: 20
Registered: October 2010
Junior Member
Jason,
It is working now. It might be due to a report design error. After recreating the design, it worked fine.

I set log LEVEL to warn, FINE/DEBUG level messages was logged.

EngineConfig config = new EngineConfig( );
config.setLogConfig(logDir, Level.WARNING);
...
engine.changeLogLevel(Level.WARNING);

Is there a way to config the logging? limit log file size and file number.

Thanks,
Dave
Re: java.lang.UnsupportedOperationException: setSpecification is not supported. [message #632150 is a reply to message #631887] Mon, 11 October 2010 18:32 Go to previous message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Have you looked at

EngineConfig.setLogRollingSize

and

EngineConfig.setLogMaxBackupIndex

Jason

On 10/9/2010 11:08 PM, Dave wrote:
> Jason,
> It is working now. It might be due to a report design error. After
> recreating the design, it worked fine.
>
> I set log LEVEL to warn, FINE/DEBUG level messages was logged.
>
> EngineConfig config = new EngineConfig( );
> config.setLogConfig(logDir, Level.WARNING);
> ...
> engine.changeLogLevel(Level.WARNING);
>
> Is there a way to config the logging? limit log file size and file number.
>
> Thanks,
> Dave
Previous Topic:Report parameters in url
Next Topic:Printing report
Goto Forum:
  


Current Time: Thu Apr 25 13:47:49 GMT 2024

Powered by FUDForum. Page generated in 0.02836 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top