Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » BIRT » Birt Chart Script Error
Birt Chart Script Error [message #755894] Thu, 10 November 2011 05:28 Go to next message
gaurikate is currently offline gaurikate
Messages: 15
Registered: August 2011
Junior Member
I am trying a test deployment of report using charts with BIRT and I am getting a NullPointerException from a class(SetChartPalette.class) in the BIRT functions library(birt.functions.lib_2.5.2.1.jar). The tables etc in the report work fine. Google does not bring up any related discussions so any help is appreciated since I am at a standstill. Thanks!

The details are as follows:

OS : Ubuntu 10.4 64-bit
Eclipse: Helios (Build id: 20100917-0705)
Tomcat: 6.0.29
BIRT: 2.6.1
Browsers: Firefox 3.6.13 & Chromium 8.0.552.224


The exception:
-

null ( 1 time(s) )
detail : org.eclipse.birt.report.engine.api.EngineException
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1195)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:1046)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localizeForeign(LocalizedContentVisitor.java:579)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:163)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:37)
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:90)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:99)
at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:662)
at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:284)
at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1537)
at org.eclipse.birt.report.service.BirtViewerReportService.getPage(BirtViewerReportService.java:204)
at org.eclipse.birt.report.service.actionhandler.BirtChangeParameterActionHandler.doRenderPage(BirtChangeParameterActionHandler.java:82)
at org.eclipse.birt.report.service.actionhandler.AbstractChangeParameterActionHandler.__execute(AbstractChangeParameterActionHandler.java:103)
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleChangeParameter(BirtDocumentProcessor.java:100)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.eclipse.birt.chart.exception.ChartException
at org.eclipse.birt.chart.factory.Generator.render(Generator.java:1306)
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.renderToImageFile(ChartReportItemPresentationBase.java:1010)
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.generateRenderObject(ChartReportItemPresentationBase.java:861)
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.onRowSets(ChartReportItemPresentationBase.java:819)
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationProxy.onRowSets(ChartReportItemPresentationProxy.java:108)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:1023)
... 66 more
Caused by: java.lang.NullPointerException
at innovent.birt.functions.SetChartPalette.setSeriesFont(SetChartPalette.java:106)
at innovent.birt.functions.SetChartPalette.execute(SetChartPalette.java:97)
at org.eclipse.birt.core.script.functionservice.impl.ScriptFunction.execute(ScriptFunction.java:146)
at org.eclipse.birt.core.script.functionservice.impl.CategoryWrapper$1.call(CategoryWrapper.java:67)
at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76)
at org.mozilla.javascript.gen.c37._c1(/report/body/grid[@id="8"]/row[@id="12"]/cell[@id="576"]/extended-item[@id="574"]/method[@name="onRender"]:15)
at org.mozilla.javascript.gen.c37.call(/report/body/grid[@id="8"]/row[@id="12"]/cell[@id="576"]/extended-item[@id="574"]/method[@name="onRender"])
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)
at org.mozilla.javascript.gen.c37.call(/report/body/grid[@id="8"]/row[@id="12"]/cell[@id="576"]/extended-item[@id="574"]/method[@name="onRender"])
at org.eclipse.birt.chart.script.AbstractScriptHandler.callJavascriptFunction(AbstractScriptHandler.java:370)
at org.eclipse.birt.chart.script.AbstractScriptHandler.callFunction(AbstractScriptHandler.java:558)
at org.eclipse.birt.chart.render.AxesRenderer.renderPlot(AxesRenderer.java:2256)
at org.eclipse.birt.chart.render.AxesRenderer.render(AxesRenderer.java:313)
at org.eclipse.birt.chart.factory.Generator.render(Generator.java:1301)
... 71 more
Re: Birt Chart Script Error [message #756050 is a reply to message #755894] Thu, 10 November 2011 16:26 Go to previous messageGo to next message
Scott Rosenbaum is currently offline Scott Rosenbaum
Messages: 425
Registered: July 2009
Senior Member
Thanks for using the birt.functions.lib.

I looked at the issue log and it looks like there is all ready a fix in for that problem. Could you download version 2.5.1.3 from the google code site and see if that takes care of the issue?

http://code.google.com/a/eclipselabs.org/p/birt-functions-lib/downloads/list

Scott Rosenbaum
Re: Birt Chart Script Error [message #756123 is a reply to message #756050] Fri, 11 November 2011 05:49 Go to previous messageGo to next message
gaurikate is currently offline gaurikate
Messages: 15
Registered: August 2011
Junior Member
Yup!!!!!!!!! Still the same exception sir.. Sad

Re: Birt Chart Script Error [message #757249 is a reply to message #756123] Thu, 17 November 2011 10:48 Go to previous messageGo to next message
gaurikate is currently offline gaurikate
Messages: 15
Registered: August 2011
Junior Member
Please help me.
How can I fix this issue or any other way to color the series in bar chart using external CSS?
Re: Birt Chart Script Error [message #775295 is a reply to message #755894] Thu, 05 January 2012 18:32 Go to previous messageGo to next message
Shane Dodge is currently offline Shane Dodge
Messages: 6
Registered: January 2012
Junior Member
I have a similar error.
After creating a chart I get the error below when I attempt to 'Edit' the chart.
The Select Chart Type and Format Chart tabs appear to work normally. The error occurs when I get to the 'Select Data' tab.
I also added the recommended jar file.

java.lang.NullPointerException at:
java.lang.String.contains(Unknown Source)
org.eclipse.birt.chart.ui.swt.wizard.data.BaseDataDefinitionComponent$SharedBindingHelper.translateFromBindingName(BaseDataDefinitionComponent.java:1177)
org.eclipse.birt.chart.ui.swt.wizard.data.BaseDataDefinitionComponent.updateText(BaseDataDefinitionComponent.java:1031)
org.eclipse.birt.chart.ui.swt.DataDefinitionTextManager.refreshAll(DataDefinitionTextManager.java:137)
org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.handleEvent(TaskSelectData.java:439)
org.eclipse.birt.chart.ui.swt.DefaultChartDataSheet.notifyListeners(DefaultChartDataSheet.java:72)
org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.fireEvent(StandardChartDataSheet.java:306)
org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.updatePredefinedQueries(StandardChartDataSheet.java:2975)
org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.createDataSelector(StandardChartDataSheet.java:1100)
org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.createDataArea(TaskSelectData.java:277)
org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.placeComponents(TaskSelectData.java:243)
org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.createControl(TaskSelectData.java:153)
org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBaseDialog.switchTask(WizardBaseDialog.java:317)
org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBase.switchTo(WizardBase.java:234)
org.eclipse.birt.chart.ui.swt.wizard.ChartWizard.switchTo(ChartWizard.java:289)
org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBaseDialog.widgetSelected(WizardBaseDialog.java:509)
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:2743)
org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1429)
org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:257)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
org.eclipse.jface.window.Window.open(Window.java:801)
org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBase.open(WizardBase.java:92)
org.eclipse.birt.chart.ui.swt.wizard.ChartWizard.open(ChartWizard.java:243)
org.eclipse.birt.chart.reportitem.ui.ChartReportItemBuilderImpl.open(ChartReportItemBuilderImpl.java:288)
org.eclipse.birt.report.designer.internal.ui.extension.ExtendedEditPart.performDirectEdit(ExtendedEditPart.java:185)
org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.performRequest(ReportElementEditPart.java:150)
org.eclipse.gef.tools.SelectEditPartTracker.performOpen(SelectEditPartTracker.java:194)
org.eclipse.gef.tools.SelectEditPartTracker.handleDoubleClick(SelectEditPartTracker.java:137)
org.eclipse.gef.tools.AbstractTool.mouseDoubleClick(AbstractTool.java:1069)
org.eclipse.birt.report.designer.internal.ui.editors.schematic.tools.ReportElementDragTracker.mouseDoubleClick(ReportElementDragTracker.java:125)
org.eclipse.gef.tools.SelectionTool.mouseDoubleClick(SelectionTool.java:525)
org.eclipse.gef.EditDomain.mouseDoubleClick(EditDomain.java:231)
org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseDoubleClicked(DomainEventDispatcher.java:291)
org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDoubleClick(LightweightSystem.java:518)
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:189)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
org.eclipse.equinox.launcher.Main.run(Main.java:1408)

Caused By:null
java.lang.String.contains(Unknown Source)
org.eclipse.birt.chart.ui.swt.wizard.data.BaseDataDefinitionComponent$SharedBindingHelper.translateFromBindingName(BaseDataDefinitionComponent.java:1177)
org.eclipse.birt.chart.ui.swt.wizard.data.BaseDataDefinitionComponent.updateText(BaseDataDefinitionComponent.java:1031)
org.eclipse.birt.chart.ui.swt.DataDefinitionTextManager.refreshAll(DataDefinitionTextManager.java:137)
org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.handleEvent(TaskSelectData.java:439)
org.eclipse.birt.chart.ui.swt.DefaultChartDataSheet.notifyListeners(DefaultChartDataSheet.java:72)
org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.fireEvent(StandardChartDataSheet.java:306)
org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.updatePredefinedQueries(StandardChartDataSheet.java:2975)
org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.createDataSelector(StandardChartDataSheet.java:1100)
org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.createDataArea(TaskSelectData.java:277)
org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.placeComponents(TaskSelectData.java:243)
org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.createControl(TaskSelectData.java:153)
org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBaseDialog.switchTask(WizardBaseDialog.java:317)
org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBase.switchTo(WizardBase.java:234)
org.eclipse.birt.chart.ui.swt.wizard.ChartWizard.switchTo(ChartWizard.java:289)
org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBaseDialog.widgetSelected(WizardBaseDialog.java:509)
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:2743)
org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1429)
org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:257)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
org.eclipse.jface.window.Window.open(Window.java:801)
org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBase.open(WizardBase.java:92)
org.eclipse.birt.chart.ui.swt.wizard.ChartWizard.open(ChartWizard.java:243)
org.eclipse.birt.chart.reportitem.ui.ChartReportItemBuilderImpl.open(ChartReportItemBuilderImpl.java:288)
org.eclipse.birt.report.designer.internal.ui.extension.ExtendedEditPart.performDirectEdit(ExtendedEditPart.java:185)
org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.performRequest(ReportElementEditPart.java:150)
org.eclipse.gef.tools.SelectEditPartTracker.performOpen(SelectEditPartTracker.java:194)
org.eclipse.gef.tools.SelectEditPartTracker.handleDoubleClick(SelectEditPartTracker.java:137)
org.eclipse.gef.tools.AbstractTool.mouseDoubleClick(AbstractTool.java:1069)
org.eclipse.birt.report.designer.internal.ui.editors.schematic.tools.ReportElementDragTracker.mouseDoubleClick(ReportElementDragTracker.java:125)
org.eclipse.gef.tools.SelectionTool.mouseDoubleClick(SelectionTool.java:525)
org.eclipse.gef.EditDomain.mouseDoubleClick(EditDomain.java:231)
org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseDoubleClicked(DomainEventDispatcher.java:291)
org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDoubleClick(LightweightSystem.java:518)
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:189)
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
org.eclipse.equinox.launcher.Main.run(Main.java:1408)

[Updated on: Thu, 05 January 2012 18:53]

Report message to a moderator

Re: Birt Chart Script Error [message #775323 is a reply to message #775295] Thu, 05 January 2012 19:07 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Can you post the report?

Jason

On 1/5/2012 1:32 PM, Shane Dodge wrote:
> I have a similar error.
> After creating a chart I get the error below when I attempt to 'Edit'
> the chart.
> The Select Chart Type and Format Chart tabs appear to work normally. The
> error occurs when I get to the 'Select Data' tab.
>
> java.lang.NullPointerException at:
> java.lang.String.contains(Unknown Source)
> org.eclipse.birt.chart.ui.swt.wizard.data.BaseDataDefinitionComponent$SharedBindingHelper.translateFromBindingName(BaseDataDefinitionComponent.java:1177)
>
> org.eclipse.birt.chart.ui.swt.wizard.data.BaseDataDefinitionComponent.updateText(BaseDataDefinitionComponent.java:1031)
>
> org.eclipse.birt.chart.ui.swt.DataDefinitionTextManager.refreshAll(DataDefinitionTextManager.java:137)
>
> org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.handleEvent(TaskSelectData.java:439)
>
> org.eclipse.birt.chart.ui.swt.DefaultChartDataSheet.notifyListeners(DefaultChartDataSheet.java:72)
>
> org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.fireEvent(StandardChartDataSheet.java:306)
>
> org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.updatePredefinedQueries(StandardChartDataSheet.java:2975)
>
> org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.createDataSelector(StandardChartDataSheet.java:1100)
>
> org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.createDataArea(TaskSelectData.java:277)
>
> org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.placeComponents(TaskSelectData.java:243)
>
> org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.createControl(TaskSelectData.java:153)
>
> org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBaseDialog.switchTask(WizardBaseDialog.java:317)
>
> org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBase.switchTo(WizardBase.java:234)
>
> org.eclipse.birt.chart.ui.swt.wizard.ChartWizard.switchTo(ChartWizard.java:289)
>
> org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBaseDialog.widgetSelected(WizardBaseDialog.java:509)
>
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
> org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
> org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:2743)
> org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1429)
> org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:257)
> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
> org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
> org.eclipse.jface.window.Window.open(Window.java:801)
> org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBase.open(WizardBase.java:92)
>
> org.eclipse.birt.chart.ui.swt.wizard.ChartWizard.open(ChartWizard.java:243)
> org.eclipse.birt.chart.reportitem.ui.ChartReportItemBuilderImpl.open(ChartReportItemBuilderImpl.java:288)
>
> org.eclipse.birt.report.designer.internal.ui.extension.ExtendedEditPart.performDirectEdit(ExtendedEditPart.java:185)
>
> org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.performRequest(ReportElementEditPart.java:150)
>
> org.eclipse.gef.tools.SelectEditPartTracker.performOpen(SelectEditPartTracker.java:194)
>
> org.eclipse.gef.tools.SelectEditPartTracker.handleDoubleClick(SelectEditPartTracker.java:137)
>
> org.eclipse.gef.tools.AbstractTool.mouseDoubleClick(AbstractTool.java:1069)
> org.eclipse.birt.report.designer.internal.ui.editors.schematic.tools.ReportElementDragTracker.mouseDoubleClick(ReportElementDragTracker.java:125)
>
> org.eclipse.gef.tools.SelectionTool.mouseDoubleClick(SelectionTool.java:525)
>
> org.eclipse.gef.EditDomain.mouseDoubleClick(EditDomain.java:231)
> org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseDoubleClicked(DomainEventDispatcher.java:291)
>
> org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDoubleClick(LightweightSystem.java:518)
>
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:189)
> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
> org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
> org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
> org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
>
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
>
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
>
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
>
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> java.lang.reflect.Method.invoke(Unknown Source)
> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
> org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
> org.eclipse.equinox.launcher.Main.run(Main.java:1408)
>
> Caused By:null
> java.lang.String.contains(Unknown Source)
> org.eclipse.birt.chart.ui.swt.wizard.data.BaseDataDefinitionComponent$SharedBindingHelper.translateFromBindingName(BaseDataDefinitionComponent.java:1177)
>
> org.eclipse.birt.chart.ui.swt.wizard.data.BaseDataDefinitionComponent.updateText(BaseDataDefinitionComponent.java:1031)
>
> org.eclipse.birt.chart.ui.swt.DataDefinitionTextManager.refreshAll(DataDefinitionTextManager.java:137)
>
> org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.handleEvent(TaskSelectData.java:439)
>
> org.eclipse.birt.chart.ui.swt.DefaultChartDataSheet.notifyListeners(DefaultChartDataSheet.java:72)
>
> org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.fireEvent(StandardChartDataSheet.java:306)
>
> org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.updatePredefinedQueries(StandardChartDataSheet.java:2975)
>
> org.eclipse.birt.chart.reportitem.ui.StandardChartDataSheet.createDataSelector(StandardChartDataSheet.java:1100)
>
> org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.createDataArea(TaskSelectData.java:277)
>
> org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.placeComponents(TaskSelectData.java:243)
>
> org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData.createControl(TaskSelectData.java:153)
>
> org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBaseDialog.switchTask(WizardBaseDialog.java:317)
>
> org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBase.switchTo(WizardBase.java:234)
>
> org.eclipse.birt.chart.ui.swt.wizard.ChartWizard.switchTo(ChartWizard.java:289)
>
> org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBaseDialog.widgetSelected(WizardBaseDialog.java:509)
>
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
> org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
> org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:2743)
> org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1429)
> org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:257)
> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
> org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
> org.eclipse.jface.window.Window.open(Window.java:801)
> org.eclipse.birt.core.ui.frameworks.taskwizard.WizardBase.open(WizardBase.java:92)
>
> org.eclipse.birt.chart.ui.swt.wizard.ChartWizard.open(ChartWizard.java:243)
> org.eclipse.birt.chart.reportitem.ui.ChartReportItemBuilderImpl.open(ChartReportItemBuilderImpl.java:288)
>
> org.eclipse.birt.report.designer.internal.ui.extension.ExtendedEditPart.performDirectEdit(ExtendedEditPart.java:185)
>
> org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.performRequest(ReportElementEditPart.java:150)
>
> org.eclipse.gef.tools.SelectEditPartTracker.performOpen(SelectEditPartTracker.java:194)
>
> org.eclipse.gef.tools.SelectEditPartTracker.handleDoubleClick(SelectEditPartTracker.java:137)
>
> org.eclipse.gef.tools.AbstractTool.mouseDoubleClick(AbstractTool.java:1069)
> org.eclipse.birt.report.designer.internal.ui.editors.schematic.tools.ReportElementDragTracker.mouseDoubleClick(ReportElementDragTracker.java:125)
>
> org.eclipse.gef.tools.SelectionTool.mouseDoubleClick(SelectionTool.java:525)
>
> org.eclipse.gef.EditDomain.mouseDoubleClick(EditDomain.java:231)
> org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseDoubleClicked(DomainEventDispatcher.java:291)
>
> org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDoubleClick(LightweightSystem.java:518)
>
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:189)
> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
> org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
> org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
> org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
>
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
>
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
>
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
>
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> java.lang.reflect.Method.invoke(Unknown Source)
> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
> org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
> org.eclipse.equinox.launcher.Main.run(Main.java:1408)
Re: Birt Chart Script Error [message #775436 is a reply to message #775323] Fri, 06 January 2012 01:00 Go to previous messageGo to next message
Shane Dodge is currently offline Shane Dodge
Messages: 6
Registered: January 2012
Junior Member
The file is uploaded

An additional note is that I am hoping to attach the chart into the header of a group and utilize the aggregation and groups established in the grouped table.

Thanks again for your help,
Shane
Re: Birt Chart Script Error [message #775736 is a reply to message #775436] Fri, 06 January 2012 15:54 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Shane,

On the second tab of the chart wizard does the data say it is inheriting
the columns and groups? I am attaching an example report that puts a
chart in a group header.

Jason

On 1/5/2012 8:00 PM, Shane Dodge wrote:
> The file is uploaded
>
> An additional note is that I am hoping to attach the chart into the header of a group and utilize the aggregation and groups established in the grouped table.
>
> Thanks again for your help,
> Shane
Re: Birt Chart Script Error [message #775751 is a reply to message #775736] Fri, 06 January 2012 16:23 Go to previous messageGo to next message
Shane Dodge is currently offline Shane Dodge
Messages: 6
Registered: January 2012
Junior Member
Yes - The data is being inherited from the 'Container' on the second tab.

I am able to run a report without error from the main table, but the 'Set Aggregation Function' is causing issues. I would prefer to use the container grouping if at all possible rather than data binding a bunch of calculations to the chart.

Shane
Re: Birt Chart Script Error [message #775762 is a reply to message #775751] Fri, 06 January 2012 16:33 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Shane,

Any way you can reproduce the issue with an example report so I can
debug it?

Jason

On 1/6/2012 11:23 AM, Shane Dodge wrote:
> Yes - The data is being inherited from the 'Container' on the second tab.
>
> I am able to run a report without error from the main table, but the
> 'Set Aggregation Function' is causing issues. I would prefer to use the
> container grouping if at all possible rather than data binding a bunch
> of calculations to the chart.
>
> Shane
Re: Birt Chart Script Error [message #775816 is a reply to message #775762] Fri, 06 January 2012 18:18 Go to previous messageGo to next message
Shane Dodge is currently offline Shane Dodge
Messages: 6
Registered: January 2012
Junior Member
Thanks again for your help on this.

The good news (for me) is that I am able to repro the issue with the sample data and the report is attached. Please look at the ProductCodeGroup I created. The group uses the following if (BirtComp.like(row["PRODUCTCODE"],"%1678")) "Group1"
else if (BirtComp.like(row["PRODUCTCODE"],"%1949")) "Group2"
etc

It seems like this is where the chart has issues. Once I try to add that grouping to the chart I get the Null Pointer Exception.

I am not sure I have much in the way of options to work around this type of grouping because of the way my dataset is created. I have a huge concatenated string that I need to group by the a word that exists in the middle of that string.

Shane
Re: Birt Chart Script Error [message #775834 is a reply to message #775816] Fri, 06 January 2012 18:45 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Shane,


What did you put on the category and y-axis values?

Jason

On 1/6/2012 1:18 PM, Shane Dodge wrote:
> Thanks again for your help on this.
>
> The good news (for me) is that I am able to repro the issue with the sample data and the report is attached. Please look at the ProductCodeGroup I created. The group uses the following if (BirtComp.like(row["PRODUCTCODE"],"%1678")) "Group1"
> else if (BirtComp.like(row["PRODUCTCODE"],"%1949")) "Group2"
> etc
>
> It seems like this is where the chart has issues. Once I try to add that grouping to the chart I get the Null Pointer Exception.
>
> I am not sure I have much in the way of options to work around this type of grouping because of the way my dataset is created. I have a huge concatenated string that I need to group by the a word that exists in the middle of that string.
>
> Shane
Re: Birt Chart Script Error [message #775836 is a reply to message #775834] Fri, 06 January 2012 18:58 Go to previous messageGo to next message
Shane Dodge is currently offline Shane Dodge
Messages: 6
Registered: January 2012
Junior Member
Y axis = row["Aggregation"] This is the sum of the quantity ordered by group within the table

X axis = row["ProductCodeGroup1"] This is the category grouping within the table

Shane
Re: Birt Chart Script Error [message #775841 is a reply to message #775816] Fri, 06 January 2012 19:07 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason Weathersby
Messages: 9167
Registered: July 2009
Senior Member

Shane,

This does appear to be a bug. Any chance you could open a bugzilla
entry with your sample? As a work around why not directly attach the
chart to the dataset and then use the category expression:

if (BirtComp.like(row["PRODUCTCODE"],"%1678")) "Group1"
else if (BirtComp.like(row["PRODUCTCODE"],"%1949")) "Group2"
else if (BirtComp.like(row["PRODUCTCODE"],"%2016")) "Group3"
else if (BirtComp.like(row["PRODUCTCODE"],"%4698")) "Group4"
else if (BirtComp.like(row["PRODUCTCODE"],"%4757")) "Group5"
else "Group6";

I modified the example to do this and it is attached. I also added a
binding to the table to get the group name. I use this in the group
instead of the expression.

Jason

On 1/6/2012 1:18 PM, Shane Dodge wrote:
> Thanks again for your help on this.
>
> The good news (for me) is that I am able to repro the issue with the sample data and the report is attached. Please look at the ProductCodeGroup I created. The group uses the following if (BirtComp.like(row["PRODUCTCODE"],"%1678")) "Group1"
> else if (BirtComp.like(row["PRODUCTCODE"],"%1949")) "Group2"
> etc
>
> It seems like this is where the chart has issues. Once I try to add that grouping to the chart I get the Null Pointer Exception.
>
> I am not sure I have much in the way of options to work around this type of grouping because of the way my dataset is created. I have a huge concatenated string that I need to group by the a word that exists in the middle of that string.
>
> Shane
Re: Birt Chart Script Error [message #775918 is a reply to message #775841] Fri, 06 January 2012 23:32 Go to previous message
Shane Dodge is currently offline Shane Dodge
Messages: 6
Registered: January 2012
Junior Member
Thanks again for your help - your work around resolved my issue.

I also logged a bug on the original post
Bug 368070
https://bugs.eclipse.org/bugs/show_bug.cgi?id=368070
Previous Topic:Page numbering by master page
Next Topic:Birt 3.7 - Frameset mapping crashes my Tomcat server
Goto Forum:
  


Current Time: Wed Oct 22 21:45:09 GMT 2014

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

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