Birt Report 3.2.22 fails in 4.3 [message #1405921] |
Fri, 08 August 2014 09:57  |
Eclipse User |
|
|
|
Hello NG,
some (long) time ago i wrote an Report Generator,
which is able to feed my POJO objects into a rptdesign (by using a DataSetProvider). (with help of Jason Weathersby)
today i came back to this code, did a test run and noticed a failure.
sadly there is only a red information line in the report view:
Quote:+ There is no report design object available.
and two exceptions in the log (see [1] and [2])
my report template is pretty simple.
it defines a data-set, and a datasource and finally some functions how data is retrieved.
iff i open the report in the new designer it tells me 'This design file was created by an earlier verion of BIRT. Click OK to convert it to a format supported by the current version of the product. (nothing happens - well it opens me the xml source editor but thats it - no automatic update so i could see whats expected.)
an example report template for a contact [3]
NOTE: the report xml is not generated by any birt libray i am using xstream to do so.
hopefully you can help me getting the code back on track?
if you need more information let me know (i just put up what i think is needed/helpful)
i guess data-sets and scripted data set got changed in the last versions, but i was not able to find out how.
Thanks in Advance
[1]
!ENTRY org.eclipse.osgi 4 0 2014-08-08 14:46:47.791
!MESSAGE An error occurred while automatically activating bundle org.eclipse.birt.report.designer.ui (140).
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.birt.report.designer.ui.ReportPlugin.start() of bundle org.eclipse.birt.report.designer.ui.
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:109)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.birt.report.viewer.utilities.ViewerClassPathHelper.getWorkspaceClassPath(ViewerClassPathHelper.java:191)
at org.eclipse.birt.report.viewer.utilities.WebViewer.startWebApp(WebViewer.java:796)
at org.eclipse.birt.report.viewer.utilities.WebViewer.display(WebViewer.java:1044)
at org.eclipse.birt.report.viewer.utilities.WebViewer.display(WebViewer.java:1038)
at at.biooffice.views.birt.ViewerView.loadReport(ViewerView.java:61)
at at.biooffice.views.birt.ViewerView$1.widgetSelected(ViewerView.java:35)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at at.biooffice.application.Application.start(Application.java:56)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Caused by: java.lang.ExceptionInInitializerError
at org.eclipse.birt.report.designer.ui.ReportPlugin.setDefaultElementNamePreference(ReportPlugin.java:630)
at org.eclipse.birt.report.designer.ui.ReportPlugin.start(ReportPlugin.java:307)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
... 48 more
Caused by: java.lang.ClassCastException: org.eclipse.birt.chart.reportitem.ChartReportItemFactoryImpl cannot be cast to org.eclipse.birt.report.model.api.extension.IReportItemFactory
at org.eclipse.birt.report.model.metadata.PeerExtensionLoader$PeerExtensionElementLoader.loadElement(PeerExtensionLoader.java:219)
at org.eclipse.birt.report.model.metadata.PeerExtensionLoader.loadExtension(PeerExtensionLoader.java:113)
at org.eclipse.birt.report.model.metadata.ExtensionLoader.doLoad(ExtensionLoader.java:150)
at org.eclipse.birt.report.model.metadata.PeerExtensionLoader.doLoad(PeerExtensionLoader.java:65)
at org.eclipse.birt.report.model.metadata.ExtensionLoader.load(ExtensionLoader.java:71)
at org.eclipse.birt.report.model.metadata.ExtensionManagerImpl.initialize(ExtensionManagerImpl.java:100)
at org.eclipse.birt.report.model.metadata.MetaDataDictionary.initialize(MetaDataDictionary.java:573)
at org.eclipse.birt.report.model.api.impl.DesignEngineImpl.ensureInitialized(DesignEngineImpl.java:96)
at org.eclipse.birt.report.model.api.impl.DesignEngineImpl.<init>(DesignEngineImpl.java:63)
at org.eclipse.birt.report.model.api.impl.DesignEngineFactory.createDesignEngine(DesignEngineFactory.java:34)
at org.eclipse.birt.report.model.api.DesignEngine.<init>(DesignEngine.java:98)
at org.eclipse.birt.report.designer.util.DEUtil.<clinit>(DEUtil.java:140)
... 53 more
Root exception:
java.lang.ExceptionInInitializerError
at org.eclipse.birt.report.designer.ui.ReportPlugin.setDefaultElementNamePreference(ReportPlugin.java:630)
at org.eclipse.birt.report.designer.ui.ReportPlugin.start(ReportPlugin.java:307)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:109)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.birt.report.viewer.utilities.ViewerClassPathHelper.getWorkspaceClassPath(ViewerClassPathHelper.java:191)
at org.eclipse.birt.report.viewer.utilities.WebViewer.startWebApp(WebViewer.java:796)
at org.eclipse.birt.report.viewer.utilities.WebViewer.display(WebViewer.java:1044)
at org.eclipse.birt.report.viewer.utilities.WebViewer.display(WebViewer.java:1038)
at at.biooffice.views.birt.ViewerView.loadReport(ViewerView.java:61)
at at.biooffice.views.birt.ViewerView$1.widgetSelected(ViewerView.java:35)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at at.biooffice.application.Application.start(Application.java:56)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Caused by: java.lang.ClassCastException: org.eclipse.birt.chart.reportitem.ChartReportItemFactoryImpl cannot be cast to org.eclipse.birt.report.model.api.extension.IReportItemFactory
at org.eclipse.birt.report.model.metadata.PeerExtensionLoader$PeerExtensionElementLoader.loadElement(PeerExtensionLoader.java:219)
at org.eclipse.birt.report.model.metadata.PeerExtensionLoader.loadExtension(PeerExtensionLoader.java:113)
at org.eclipse.birt.report.model.metadata.ExtensionLoader.doLoad(ExtensionLoader.java:150)
at org.eclipse.birt.report.model.metadata.PeerExtensionLoader.doLoad(PeerExtensionLoader.java:65)
at org.eclipse.birt.report.model.metadata.ExtensionLoader.load(ExtensionLoader.java:71)
at org.eclipse.birt.report.model.metadata.ExtensionManagerImpl.initialize(ExtensionManagerImpl.java:100)
at org.eclipse.birt.report.model.metadata.MetaDataDictionary.initialize(MetaDataDictionary.java:573)
at org.eclipse.birt.report.model.api.impl.DesignEngineImpl.ensureInitialized(DesignEngineImpl.java:96)
at org.eclipse.birt.report.model.api.impl.DesignEngineImpl.<init>(DesignEngineImpl.java:63)
at org.eclipse.birt.report.model.api.impl.DesignEngineFactory.createDesignEngine(DesignEngineFactory.java:34)
at org.eclipse.birt.report.model.api.DesignEngine.<init>(DesignEngine.java:98)
at org.eclipse.birt.report.designer.util.DEUtil.<clinit>(DEUtil.java:140)
... 53 more
[2]
org.eclipse.birt.report.exception.ViewerException: There is no report design object available.
at org.eclipse.birt.report.context.ViewerAttributeBean.__init(ViewerAttributeBean.java:226)
at org.eclipse.birt.report.context.BaseAttributeBean.init(BaseAttributeBean.java:230)
at org.eclipse.birt.report.context.ViewerAttributeBean.<init>(ViewerAttributeBean.java:118)
at org.eclipse.birt.report.context.BirtContext.__init(BirtContext.java:44)
at org.eclipse.birt.report.context.BaseContext.<init>(BaseContext.java:69)
at org.eclipse.birt.report.context.BirtContext.<init>(BirtContext.java:30)
at org.eclipse.birt.report.servlet.ViewerServlet.__getContext(ViewerServlet.java:150)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doGet(BirtSoapMessageDispatcherServlet.java:151)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:386)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:366)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Unknown Source)
[3]
<?xml version="1.0" encoding="UTF-8" ?><report xmlns="http://WWW.eclipse.org/birt/2005/design" version="1.0" id="1">
<property name="createdBy">tlmf\moser</property>
<property name="units">mm</property>
<property name="iconFile">\templates\blank_report.gif</property>
<property name="bidiLayoutOrientation">ltr</property>
<property name="imageDPI">96</property>
<data-sources>
<script-data-source name="BioOffice" id="2"/>
</data-sources>
<data-sets>
<script-data-set name="Contact" id="3">
<list-property name="resultSetHints"/>
<list-property name="columnHints"/>
<structure name="cachedMetaData">
<list-property name="resultSet"/>
</structure>
<property name="dataSource">BioOffice</property>
<methodName>open</methodName>
<code>count = 0;
/*
* load and init data reader
* import Platform from org.eclipse.core.runtime
*/
importPackage(Packages.org.eclipse.core.runtime);
/* load bundle with POJOs and data loading class */
myBundle = Platform.getBundle("at.biooffice.views.birt");
/* load data reader class */
readerClass = myBundle.loadClass("at.biooffice.views.birt.ReportDataSetProvider");
/* create new instance of DataReader */
readerInstance = readerClass.newInstance();
/* load data tidy up class */
tidyClass = myBundle.loadClass("at.biooffice.views.birt.xml.Tidy");
/* create new instance of DataReader */
tidy = tidyClass.newInstance();
// get the list
clazzContactList = readerInstance.getDataSet("Contact");</code>
<method name="fetch"><![CDATA[if (count < clazzContactList.size()){
var obj = clazzContactList.get(count);
count++;
return true;
}
return false;
]]></method>
</script-data-set>
</data-sets>
<page-setup>
<simple-master-page name="Contact" id="4"/>
</page-setup>
</report>
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03667 seconds