Community
Participate
Working Groups
Hi, I'm trying to use Google Analytics API to get the data for the scripted data source of my report. I created a Java Project and in it; one domain class and one service class to pull the data from ga API. I can fetch the data in my service. In the same project, i created a new report and chose 'scripted data source' as data source. I also created output columns, in the dataset. I wrote the scripting code for 'open' and 'fetch' by using my service class. In the `preview results` of the data set i can view the data pulled from my applications google analytics. But in the designer 'preview' (and the other output formats under eclipse->run-> View Report) i got the exception below. (i didn't quote the class codes, because i can fetch the data successfully until the data set preview results) i put the necessary libraries in the classpath of my java project but the birt viewer cannot initialize the analytics service so throws NPE and ExceptionInInitializerError. (That's what i see in the stacktrace - below) classpath: _______________________________> <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> <classpathentry kind="lib" path="lib/activation.jar"/> <classpathentry kind="lib" path="lib/gdata-analytics-2.1.jar"/> <classpathentry kind="lib" path="lib/gdata-analytics-meta-2.1.jar"/> <classpathentry kind="lib" path="lib/gdata-client-1.0.jar"/> <classpathentry kind="lib" path="lib/gdata-client-meta-1.0.jar"/> <classpathentry kind="lib" path="lib/gdata-core-1.0.jar"/> <classpathentry kind="lib" path="lib/gdata-docs-3.0.jar"/> <classpathentry kind="lib" path="lib/gdata-docs-meta-3.0.jar"/> <classpathentry kind="lib" path="lib/gdata-media-1.0.jar"/> <classpathentry kind="lib" path="lib/google-collect-1.0-rc1.jar"/> <classpathentry kind="lib" path="lib/jsr305.jar"/> <classpathentry kind="lib" path="lib/mail.jar"/> <classpathentry kind="lib" path="lib/servlet-api.jar"/> <classpathentry kind="output" path="bin"/> </classpath> After making a deep search in Google on this issue, i tried to put the libraries under: - Report Designer -> Property Editor - Report-> Resources -> Jar Files - Eclipse birt plugin scriptlib (in my case under ~/software/springsource/sts-2.5.2.SR1/plugins/org.eclipse.bi rt.report.viewer_2.6.2.r262_v20110214/birt/scriptlib) - Eclipse birt plugin WEB-INF/lib directory (in my case~/software/springsource/sts-2.5.2.SR1/plugins/org.eclipse.birt.report.viewer_2.6.2.r262_v20110214/birt/WEB-INF/lib) None of these worked for me. I don't know the difference between the 'data set - preview results' and 'designer viewer'. I created another threads on this issue on birt-exchange forum: This one includes all my classes : http://www.birt-exchange.org/org/forum/index.php/topic/22184-google-analytics-api-as-a-scripted-data-source/page__p__76410&#entry76410 This thread is also related and gave some ideas but not a workaround.: http://www.eclipse.org/forums/index.php?t=msg&th=200425&S=68ff3f9bf4f04ae6ba19267a0573164f#msg_639706 ExceptionInInitializerError is thrown on the line: "... AnalyticsService analyticsService = new AnalyticsService("GAFetcher"); ..." and for the NPE: "... public static Version getVersion() { return VersionRegistry.get().getVersion(Service.class); } ..." stacktrace:________________________________> - org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report. AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report. faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report. at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1105) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:934) at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(BirtViewerReportService.java:973) at org.eclipse.birt.report.service.actionhandler.BirtRunAndRenderActionHandler.__execute(BirtRunAndRenderActionHandler.java:76) at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90) at org.eclipse.birt.report.presentation.aggregation.layout.EngineFragment.doService(EngineFragment.java:318) at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment.service(AbstractBaseFragment.java:76) at org.eclipse.birt.report.servlet.BirtEngineServlet.__doGet(BirtEngineServlet.java:120) at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doGet(BaseReportEngineServlet.java:185) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.birt.report.servlet.BaseReportEngineServlet.service(BaseReportEngineServlet.java:116) 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:126) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:924) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report. at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:209) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:928) ... 30 more Caused by: java.lang.ExceptionInInitializerError at gafetcher.AppUserSystemInfo.getVisitorsSystemAndVisitInfo(AppUserSystemInfo.java:43) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:161) at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:247) at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:119) at org.mozilla.javascript.gen.c5._c1(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]:5) at org.mozilla.javascript.gen.c5.call(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]) at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:108) at org.mozilla.javascript.gen.c6._c0(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]:0) at org.mozilla.javascript.gen.c6.call(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065) at org.mozilla.javascript.gen.c6.call(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]) at org.mozilla.javascript.gen.c6.exec(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]) at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawScript(JavascriptEvalUtil.java:95) at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateScript(JavascriptEvalUtil.java:134) at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:1001) at org.eclipse.birt.data.engine.script.JSMethodRunner.runScript(JSMethodRunner.java:138) at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:90) at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:246) at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleOpen(ScriptDataSetScriptExecutor.java:97) at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.open(ScriptDataSetRuntime.java:80) at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.open(PreparedScriptDSQuery.java:247) at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java:223) at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1103) at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:232) at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:173) at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:98) at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168) at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:265) at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1890) at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80) at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62) 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.HTMLPageLM.layout(HTMLPageLM.java:90) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:99) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:180) ... 32 more Caused by: java.lang.NullPointerException at com.google.gdata.client.Service.<clinit>(Service.java:97) ... 75 more {http://xml.apache.org/axis/}hostname:extelia_innovation_699 {}:org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report. at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1105) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:934) at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(BirtViewerReportService.java:973) at org.eclipse.birt.report.service.actionhandler.BirtRunAndRenderActionHandler.__execute(BirtRunAndRenderActionHandler.java:76) at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90) at org.eclipse.birt.report.presentation.aggregation.layout.EngineFragment.doService(EngineFragment.java:318) at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment.service(AbstractBaseFragment.java:76) at org.eclipse.birt.report.servlet.BirtEngineServlet.__doGet(BirtEngineServlet.java:120) at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doGet(BaseReportEngineServlet.java:185) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.birt.report.servlet.BaseReportEngineServlet.service(BaseReportEngineServlet.java:116) 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:126) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:924) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report. at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:209) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:928) ... 30 more Caused by: java.lang.ExceptionInInitializerError at gafetcher.AppUserSystemInfo.getVisitorsSystemAndVisitInfo(AppUserSystemInfo.java:43) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:161) at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:247) at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:119) at org.mozilla.javascript.gen.c5._c1(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]:5) at org.mozilla.javascript.gen.c5.call(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]) at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:108) at org.mozilla.javascript.gen.c6._c0(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]:0) at org.mozilla.javascript.gen.c6.call(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065) at org.mozilla.javascript.gen.c6.call(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]) at org.mozilla.javascript.gen.c6.exec(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]) at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawScript(JavascriptEvalUtil.java:95) at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateScript(JavascriptEvalUtil.java:134) at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:1001) at org.eclipse.birt.data.engine.script.JSMethodRunner.runScript(JSMethodRunner.java:138) at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:90) at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:246) at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleOpen(ScriptDataSetScriptExecutor.java:97) at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.open(ScriptDataSetRuntime.java:80) at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.open(PreparedScriptDSQuery.java:247) at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java:223) at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1103) at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:232) at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:173) at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:98) at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168) at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:265) at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1890) at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80) at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62) 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.HTMLPageLM.layout(HTMLPageLM.java:90) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:99) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:180) ... 32 more Caused by: java.lang.NullPointerException at com.google.gdata.client.Service.<clinit>(Service.java:97) ... 75 more org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report. at org.apache.axis.AxisFault.makeFault(AxisFault.java:101) at org.eclipse.birt.report.utility.BirtUtility.makeAxisFault(BirtUtility.java:761) at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:94) at org.eclipse.birt.report.presentation.aggregation.layout.EngineFragment.doService(EngineFragment.java:318) at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment.service(AbstractBaseFragment.java:76) at org.eclipse.birt.report.servlet.BirtEngineServlet.__doGet(BirtEngineServlet.java:120) at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doGet(BaseReportEngineServlet.java:185) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.birt.report.servlet.BaseReportEngineServlet.service(BaseReportEngineServlet.java:116) 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:126) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:924) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Caused by: org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report. at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1105) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:934) at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(BirtViewerReportService.java:973) at org.eclipse.birt.report.service.actionhandler.BirtRunAndRenderActionHandler.__execute(BirtRunAndRenderActionHandler.java:76) at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90) ... 27 more Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report. at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:209) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:928) ... 30 more Caused by: java.lang.ExceptionInInitializerError at gafetcher.AppUserSystemInfo.getVisitorsSystemAndVisitInfo(AppUserSystemInfo.java:43) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:161) at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:247) at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:119) at org.mozilla.javascript.gen.c5._c1(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]:5) at org.mozilla.javascript.gen.c5.call(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]) at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:108) at org.mozilla.javascript.gen.c6._c0(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]:0) at org.mozilla.javascript.gen.c6.call(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065) at org.mozilla.javascript.gen.c6.call(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]) at org.mozilla.javascript.gen.c6.exec(/report/data-sets/script-data-set[@id="13"]/method[@name="open"]) at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawScript(JavascriptEvalUtil.java:95) at org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateScript(JavascriptEvalUtil.java:134) at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:1001) at org.eclipse.birt.data.engine.script.JSMethodRunner.runScript(JSMethodRunner.java:138) at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:90) at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:246) at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleOpen(ScriptDataSetScriptExecutor.java:97) at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.open(ScriptDataSetRuntime.java:80) at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.open(PreparedScriptDSQuery.java:247) at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java:223) at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1103) at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:232) at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:173) at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:98) at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168) at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:265) at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1890) at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80) at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62) 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.HTMLPageLM.layout(HTMLPageLM.java:90) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:99) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:180) ... 32 more Caused by: java.lang.NullPointerException at com.google.gdata.client.Service.<clinit>(Service.java:97) ... 75 more
For the system and software information: OS : Ubuntu 10.04 kernel 2.6.32-30 IDE : SpringSource Tool Suite 2.5.2.SR1
Caused by: java.lang.NullPointerException at com.google.gdata.client.Service.<clinit>(Service.java:97) ... 75 more Could you check if this exception occurs when the API is used out of BIRT?
I created a test class that uses my google analytics service class. I debugged the Service.class and didn't get an exception. I can get the AnalyticService object. (In reply to comment #2) > Caused by: java.lang.NullPointerException > at com.google.gdata.client.Service.<clinit>(Service.java:97) > ... 75 more > > Could you check if this exception occurs when the API is used out of BIRT?
Birt's logic for using external jar/class files is basically explained ot its site: http://wiki.eclipse.org/BIRT/FAQ/Scripting: "If you are using the BIRT Designer, you have to add your classes to the classpath of the BIRT Viewer Plugin: org.eclipse.birt.report.viewer. To do this you have two choices: ... 2. Package your classes into one or more jar-files and put them into the birt/scriptlib subfolder of the Viewer-plugin. ... so, what am i missing or what is special for Google Analytics libraries?
We have checked in a patch to resolve this issue in in 2.6.3 and 2.7. You can get the latest fix from org.eclipse.birt.core/src/org.eclipse.birt.core.framework.URLClassLoader.java. Just recompile this class and replace the old one in your lib/coreapi.jar and plugins/org.eclipse.birt.core.jar. Please let us know if it resolve your issue.
Hi, I just left the office, i will try to reproduce the error and apply your patch in the weekend on my local PC, otherwise i will let you know on Monday latest when i have access to my development PC, sure. Thank you very much for your effort. (In reply to comment #5) > We have checked in a patch to resolve this issue in in 2.6.3 and 2.7. You can > get the latest fix from > org.eclipse.birt.core/src/org.eclipse.birt.core.framework.URLClassLoader.java. > > Just recompile this class and replace the old one in your lib/coreapi.jar and > plugins/org.eclipse.birt.core.jar. > > Please let us know if it resolve your issue.
This is silly but i can't open the patched class link; Could you please give it one more time?
Created attachment 194398 [details] org.eclipse.birt.core\src\org\eclipse\birt\core\framework\URLClassLoader.java
I recompiled the patched URLClassLoader.java and placed in org.eclipse.birt.core_VERSION.jar (under eclipse plugins) but didn't modify lib/coreapi.jar (actually i couldn't find it). Your patch worked for me. Now i can preview my report in any format. It resolved my issue. Thank you very much. (In reply to comment #5) > We have checked in a patch to resolve this issue in in 2.6.3 and 2.7. You can > get the latest fix from > org.eclipse.birt.core/src/org.eclipse.birt.core.framework.URLClassLoader.java. > > Just recompile this class and replace the old one in your lib/coreapi.jar and > plugins/org.eclipse.birt.core.jar. > > Please let us know if it resolve your issue.
I will explain a bit more the steps. Recompile the patched (and attached file ın comment #8). Copy all the generated class files under your eclipse plugins (in my case ~/software/springsource/sts-2.5.2.SR1/plugins/org.eclipse.birt.core_2.6.2.r262_v20110209.jar) and int that jar under '/org/eclipse/birt/core/framework/' directory( you will see old versions of these classes). (In reply to comment #9) > I recompiled the patched URLClassLoader.java and placed in > org.eclipse.birt.core_VERSION.jar (under eclipse plugins) but didn't modify > lib/coreapi.jar (actually i couldn't find it). Your patch worked for me. Now i > can preview my report in any format. It resolved my issue. > > Thank you very much. > > (In reply to comment #5) > > We have checked in a patch to resolve this issue in in 2.6.3 and 2.7. You can > > get the latest fix from > > org.eclipse.birt.core/src/org.eclipse.birt.core.framework.URLClassLoader.java. > > > > Just recompile this class and replace the old one in your lib/coreapi.jar and > > plugins/org.eclipse.birt.core.jar. > > > > Please let us know if it resolve your issue.
@developers Can i learn what was the problem with the classloader? just curious.
By having the source code, this question is meaningless, ignore it. (In reply to comment #11) > @developers > > Can i learn what was the problem with the classloader? just curious.