created an attachment (id=168361)
report

description:
exception thrown out when preview a chart using positive/negative patterns

build:
<2.6.0.v20100513-0630>

steps to reproduce:
1. new a chart.
2. on format chart page, select series node and click series palette button.
3. select positive/negative color and select two patterns.
4. preview 

actual result:
exception thrown out

errorlog:
org.eclipse.birt.report.engine.api.engineexception: org.eclipse.birt.chart.model.attribute.impl.patternimageimpl cannot be cast to org.eclipse.birt.chart.model.attribute.colordefinition
   at org.eclipse.birt.report.engine.executor.executioncontext.addexception(executioncontext.java:1210)
   at org.eclipse.birt.report.engine.presentation.localizedcontentvisitor.processextendedcontent(localizedcontentvisitor.java:1037)
   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.htmlpagelm.layout(htmlpagelm.java:90)
   at org.eclipse.birt.report.engine.layout.html.htmlreportlayoutengine.layout(htmlreportlayoutengine.java:99)
   at org.eclipse.birt.report.engine.presentation.reportdocumentbuilder.build(reportdocumentbuilder.java:249)
   at org.eclipse.birt.report.engine.api.impl.runtask.dorun(runtask.java:252)
   at org.eclipse.birt.report.engine.api.impl.runtask.run(runtask.java:85)
   at org.eclipse.birt.report.service.reportengineservice.runreport(reportengineservice.java:1307)
   at org.eclipse.birt.report.service.birtviewerreportservice.runreport(birtviewerreportservice.java:158)
   at org.eclipse.birt.report.service.actionhandler.birtrunreportactionhandler.__execute(birtrunreportactionhandler.java:81)
   at org.eclipse.birt.report.service.actionhandler.birtgetpageactionhandler.__checkdocumentexists(birtgetpageactionhandler.java:58)
   at org.eclipse.birt.report.service.actionhandler.abstractgetpageactionhandler.prepareparameters(abstractgetpageactionhandler.java:119)
   at org.eclipse.birt.report.service.actionhandler.abstractgetpageactionhandler.__execute(abstractgetpageactionhandler.java:104)
   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.handlegetpage(birtdocumentprocessor.java:87)
   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.generatedmethodaccessor37.invoke(unknown source)
   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:727)
   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.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: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.content(httpconnection.java:939)
   at org.mortbay.jetty.httpparser.parsenext(httpparser.java:756)
   at org.mortbay.jetty.httpparser.parseavailable(httpparser.java:218)
   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.chart.exception.chartexception: org.eclipse.birt.chart.model.attribute.impl.patternimageimpl cannot be cast to org.eclipse.birt.chart.model.attribute.colordefinition
   at org.eclipse.birt.chart.factory.generator.render(generator.java:1289)
   at org.eclipse.birt.chart.reportitem.chartreportitempresentationbase.rendertoimagefile(chartreportitempresentationbase.java:1006)
   at org.eclipse.birt.chart.reportitem.chartreportitempresentationbase.generaterenderobject(chartreportitempresentationbase.java:855)
   at org.eclipse.birt.chart.reportitem.chartreportitempresentationbase.onrowsets(chartreportitempresentationbase.java:814)
   at org.eclipse.birt.chart.reportitem.chartreportitempresentationproxy.onrowsets(chartreportitempresentationproxy.java:108)
   at org.eclipse.birt.report.engine.presentation.localizedcontentvisitor.processextendedcontent(localizedcontentvisitor.java:1014)
... 61 more
caused by: java.lang.classcastexception: org.eclipse.birt.chart.model.attribute.impl.patternimageimpl cannot be cast to org.eclipse.birt.chart.model.attribute.colordefinition
   at org.eclipse.birt.chart.util.fillutil.getbrighterfill(fillutil.java:174)
   at org.eclipse.birt.chart.util.fillutil.getpalettefill(fillutil.java:418)
   at org.eclipse.birt.chart.extension.render.bar.renderseries(bar.java:399)
   at org.eclipse.birt.chart.render.axesrenderer.renderplot(axesrenderer.java:2265)
   at org.eclipse.birt.chart.render.axesrenderer.render(axesrenderer.java:313)
   at org.eclipse.birt.chart.factory.generator.render(generator.java:1284)
... 66 more
added support of using pattern image in positive/negative fill.
verify the bug