Go Back   Forum - BIRT Exchange > Designing BIRT Reports Forums > Eclipse BIRT Newsgroup Mirror
FAQ Search Today's Posts Mark Forums Read

 
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 11-26-2008, 08:00 AM
Bart Duim
 
Posts: n/a
Default Charts and emf.ecore error

I have integrated the birt report engine in my project, and it works fine
with the most reports. However, when I am trying to view a report with a
chart in it, it gives errors. At first I thought it was something with my
report, but when I use the 'Birt Example Report Combination Chart' it
gives the same error.
I've tried to debug the code (for the last 2 day's), but couldn't figure
it out.

The jars located in /reportEngine/lib are copied to my project classpath,
and the enginehome is set.

I've used the 2_3_1 and 2.5M3 builds, because I noticed that an other
version of org.eclipse.emf.ecore (see stack trace) is used in the 2.5M3
build.


To startup the engine I use the following code:


public void initEngine() throws Exception {

EngineConfig config = new EngineConfig();
config.setEngineHome("D:/birt/birt-runtime-2_5_0/ReportEngine");
config.setLogConfig("c:/Program Files/cordys/educator/logs", Level.ALL);

HashMap<String, Object> appContext = config.getAppContext();
appContext.put(EngineConstants.APPCONTEXT_CLASSLOADER_KEY,
this.getClass().getClassLoader());
config.setAppContext(appContext);

Platform.startup(config);
IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
m_reportEngine = factory.createReportEngine(config);
}


To get the html report, I use the following code:


Public void getReportHTML(UUID id, OutputStream outputStream) {

IRenderOption options = new RenderOption();
options.setOutputFormat("html");
options.setOutputStream(outputStream);

HTMLRenderOption htmlOptions = new HTMLRenderOption(options);

htmlOptions.setImageHandler(m_reportImageService.getReportImageHandler());
htmlOptions.setHtmlPagination(false);

try {
String designFileLocation =
"c:/reports/designs/"+id.toString()+".rptdesign";
String documentFileLocation =
"c:/reports/documents/"+id.toString()+".rptdocument";

IReportRunnable reportRunnable =
getReportEngine().openReportDesign(designFileLocation);

IRunTask task = getReportEngine().createRunTask(reportRunnable);

// here it gives an error
task.run(documentFileLocation);

IReportDocument rptDoc =
getReportEngine().openReportDocument(documentFileLocation);
IRenderTask renderTask = getReportEngine().createRenderTask(rptDoc);

renderTask.setRenderOption(htmlOptions);
renderTask.render();
renderTask.close();
} catch (EngineException e) {
e.printStackTrace();
}
}


the stacktrace:

java.lang.NullPointerException org.eclipse.emf.ecore.xml.namespace.impl.XMLNamespacePackageImpl.initializePackageContents(XMLNamespacePackageImpl.java:369)
org.eclipse.emf.ecore.xml.namespace.impl.XMLNamespacePackageImpl.init(XMLNamespacePackageImpl.java:144)
org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage.<clinit>XMLNamespacePackage.java:75)
org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.addNamespaceDeclarations(XMLSaveImpl.java:879)
org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.traverse(XMLSaveImpl.java:604)
org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.save(XMLSaveImpl.java:256)
org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doSave(XMLResourceImpl.java:205)
org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1344)
org.eclipse.birt.chart.model.impl.SerializerImpl.asXml(SerializerImpl.java:185)
org.eclipse.birt.chart.reportitem.ChartReportItemImpl.serialize(ChartReportItemImpl.java:250)
org.eclipse.birt.report.model.extension.PeerExtensibilityProvider.getReportItemExtensionProperty(PeerExtensibilityProvider.java:312)
org.eclipse.birt.report.model.extension.PeerExtensibilityProvider.getExtensionProperty(PeerExtensibilityProvider.java:271)
org.eclipse.birt.report.model.extension.PeerExtensibilityProvider.copyFromWithNonElementType(PeerExtensibilityProvider.java:720)
org.eclipse.birt.report.model.extension.SimplePeerExtensibilityProvider.copyFromWithNonElementType(SimplePeerExtensibilityProvider.java:159)
org.eclipse.birt.report.model.elements.ExtendedItem.baseClone(ExtendedItem.java:774)
org.eclipse.birt.report.model.core.DesignElement.doClone(DesignElement.java:2916)
org.eclipse.birt.report.model.core.StyledElement.doClone(StyledElement.java:74)
org.eclipse.birt.report.model.core.ReferencableStyledElement.doClone(ReferencableStyledElement.java:66)
org.eclipse.birt.report.model.elements.ExtendedItem.doClone(ExtendedItem.java:754)
org.eclipse.birt.report.model.core.MultiElementSlot.doClone(MultiElementSlot.java:53)
org.eclipse.birt.report.model.core.ContainerSlot.copy(ContainerSlot.java:203)
org.eclipse.birt.report.model.core.DesignElement.doClone(DesignElement.java:2969)
org.eclipse.birt.report.model.core.StyledElement.doClone(StyledElement.java:74)
org.eclipse.birt.report.model.core.MultiElementSlot.doClone(MultiElementSlot.java:53)
org.eclipse.birt.report.model.core.ContainerSlot.copy(ContainerSlot.java:203)
org.eclipse.birt.report.model.core.DesignElement.doClone(DesignElement.java:2969)
org.eclipse.birt.report.model.core.StyledElement.doClone(StyledElement.java:74)
org.eclipse.birt.report.model.core.MultiElementSlot.doClone(MultiElementSlot.java:53)
org.eclipse.birt.report.model.core.ContainerSlot.copy(ContainerSlot.java:203)
org.eclipse.birt.report.model.core.DesignElement.doClone(DesignElement.java:2969)
org.eclipse.birt.report.model.core.StyledElement.doClone(StyledElement.java:74)
org.eclipse.birt.report.model.core.ReferencableStyledElement.doClone(ReferencableStyledElement.java:66)
org.eclipse.birt.report.model.core.MultiElementSlot.doClone(MultiElementSlot.java:53)
org.eclipse.birt.report.model.core.ContainerSlot.copy(ContainerSlot.java:203)
org.eclipse.birt.report.model.core.DesignElement.doClone(DesignElement.java:2969)
org.eclipse.birt.report.model.core.Module.doClone(Module.java:757)
org.eclipse.birt.report.model.api.ModuleHandle.copy(ModuleHandle.java:3265)
org.eclipse.birt.report.engine.api.impl.ReportRunnable.cloneRunnable(ReportRunnable.java:202)
org.eclipse.birt.report.engine.api.impl.EngineTask.prepareDesign(EngineTask.java:1324)
org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:196)
org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:90)


I really can't find out why theXMLTypePackage in
XMLNamespacePackageImpl.initializePackageContents is null, mainly because
i don't know why and how the emf.ecore package is integrated within the
birt project.

Is there anyone who can explain me how and why the emf.ecore package is
used, and maybe solve the problem?



  #2 (permalink)  
Old 11-26-2008, 09:40 AM
Jason Weathersby
 
Posts: n/a
Default Re: Charts and emf.ecore error

Can you try the engine example located here:
http://wiki.eclipse.org/RCP_Example_%28BIRT%29_2.1
This is an older example, but the only thing you should have to do is
remove this section:

// Set Render context to handle url and image locataions
HTMLRenderContext renderContext = new HTMLRenderContext();
renderContext.setImageDirectory("c:/test/image");
HashMap<String, HTMLRenderContext> contextMap = new HashMap<String,
HTMLRenderContext>();
contextMap.put( EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT,
renderContext );
task.setAppContext(contextMap);

Use the HTMLRenderOption class to set the image directory.

I just tried this with 2.3.1 and it works for me. What version did you
get the stack trace from? The Chart engine uses emf to create and store
the chart model. Verify that you are not trying to open a 2.5 report
with 2.3.

Jason

Bart Duim wrote:
> I have integrated the birt report engine in my project, and it works
> fine with the most reports. However, when I am trying to view a report
> with a chart in it, it gives errors. At first I thought it was
> something with my report, but when I use the 'Birt Example Report
> Combination Chart' it gives the same error.
> I've tried to debug the code (for the last 2 day's), but couldn't figure
> it out.
>
> The jars located in /reportEngine/lib are copied to my project
> classpath, and the enginehome is set.
>
> I've used the 2_3_1 and 2.5M3 builds, because I noticed that an other
> version of org.eclipse.emf.ecore (see stack trace) is used in the 2.5M3
> build.
>
>
> To startup the engine I use the following code:
>
>
> public void initEngine() throws Exception {
>
> EngineConfig config = new EngineConfig();
> config.setEngineHome("D:/birt/birt-runtime-2_5_0/ReportEngine");
> config.setLogConfig("c:/Program Files/cordys/educator/logs",
> Level.ALL);
>
> HashMap<String, Object> appContext = config.getAppContext();
> appContext.put(EngineConstants.APPCONTEXT_CLASSLOADER_KEY,
> this.getClass().getClassLoader());
> config.setAppContext(appContext);
>
> Platform.startup(config);
> IReportEngineFactory factory = (IReportEngineFactory) Platform
>
> .createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
> m_reportEngine = factory.createReportEngine(config);
> }
>
>
> To get the html report, I use the following code:
>
>
> Public void getReportHTML(UUID id, OutputStream outputStream) {
>
> IRenderOption options = new RenderOption();
> options.setOutputFormat("html");
> options.setOutputStream(outputStream);
>
> HTMLRenderOption htmlOptions = new HTMLRenderOption(options);
>
> htmlOptions.setImageHandler(m_reportImageService.getReportImageHandler());
>
> htmlOptions.setHtmlPagination(false);
>
> try {
> String designFileLocation =
> "c:/reports/designs/"+id.toString()+".rptdesign";
> String documentFileLocation =
> "c:/reports/documents/"+id.toString()+".rptdocument";
>
> IReportRunnable reportRunnable =
> getReportEngine().openReportDesign(designFileLocation);
>
> IRunTask task = getReportEngine().createRunTask(reportRunnable);
>
> // here it gives an error
> task.run(documentFileLocation);
>
> IReportDocument rptDoc =
> getReportEngine().openReportDocument(documentFileLocation);
> IRenderTask renderTask =
> getReportEngine().createRenderTask(rptDoc);
>
> renderTask.setRenderOption(htmlOptions);
> renderTask.render();
> renderTask.close();
> } catch (EngineException e) {
> e.printStackTrace();
> }
> }
>
>
> the stacktrace:
>
> java.lang.NullPointerException
> org.eclipse.emf.ecore.xml.namespace.impl.XMLNamespacePackageImpl.initializePackageContents(XMLNamespacePackageImpl.java:369)
> org.eclipse.emf.ecore.xml.namespace.impl.XMLNamespacePackageImpl.init(XMLNamespacePackageImpl.java:144)
>
> org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage.<clinit>XMLNamespacePackage.java:75)
>
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.addNamespaceDeclarations(XMLSaveImpl.java:879)
>
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.traverse(XMLSaveImpl.java:604)
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.save(XMLSaveImpl.java:256)
> org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doSave(XMLResourceImpl.java:205)
>
> org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1344)
>
> org.eclipse.birt.chart.model.impl.SerializerImpl.asXml(SerializerImpl.java:185)
>
> org.eclipse.birt.chart.reportitem.ChartReportItemImpl.serialize(ChartReportItemImpl.java:250)
>
> org.eclipse.birt.report.model.extension.PeerExtensibilityProvider.getReportItemExtensionProperty(PeerExtensibilityProvider.java:312)
>
> org.eclipse.birt.report.model.extension.PeerExtensibilityProvider.getExtensionProperty(PeerExtensibilityProvider.java:271)
>
> org.eclipse.birt.report.model.extension.PeerExtensibilityProvider.copyFromWithNonElementType(PeerExtensibilityProvider.java:720)
>
> org.eclipse.birt.report.model.extension.SimplePeerExtensibilityProvider.copyFromWithNonElementType(SimplePeerExtensibilityProvider.java:159)
>
> org.eclipse.birt.report.model.elements.ExtendedItem.baseClone(ExtendedItem.java:774)
>
> org.eclipse.birt.report.model.core.DesignElement.doClone(DesignElement.java:2916)
>
> org.eclipse.birt.report.model.core.StyledElement.doClone(StyledElement.java:74)
>
> org.eclipse.birt.report.model.core.ReferencableStyledElement.doClone(ReferencableStyledElement.java:66)
>
> org.eclipse.birt.report.model.elements.ExtendedItem.doClone(ExtendedItem.java:754)
>
> org.eclipse.birt.report.model.core.MultiElementSlot.doClone(MultiElementSlot.java:53)
>
> org.eclipse.birt.report.model.core.ContainerSlot.copy(ContainerSlot.java:203)
>
> org.eclipse.birt.report.model.core.DesignElement.doClone(DesignElement.java:2969)
>
> org.eclipse.birt.report.model.core.StyledElement.doClone(StyledElement.java:74)
>
> org.eclipse.birt.report.model.core.MultiElementSlot.doClone(MultiElementSlot.java:53)
>
> org.eclipse.birt.report.model.core.ContainerSlot.copy(ContainerSlot.java:203)
>
> org.eclipse.birt.report.model.core.DesignElement.doClone(DesignElement.java:2969)
>
> org.eclipse.birt.report.model.core.StyledElement.doClone(StyledElement.java:74)
>
> org.eclipse.birt.report.model.core.MultiElementSlot.doClone(MultiElementSlot.java:53)
>
> org.eclipse.birt.report.model.core.ContainerSlot.copy(ContainerSlot.java:203)
>
> org.eclipse.birt.report.model.core.DesignElement.doClone(DesignElement.java:2969)
>
> org.eclipse.birt.report.model.core.StyledElement.doClone(StyledElement.java:74)
>
> org.eclipse.birt.report.model.core.ReferencableStyledElement.doClone(ReferencableStyledElement.java:66)
>
> org.eclipse.birt.report.model.core.MultiElementSlot.doClone(MultiElementSlot.java:53)
>
> org.eclipse.birt.report.model.core.ContainerSlot.copy(ContainerSlot.java:203)
>
> org.eclipse.birt.report.model.core.DesignElement.doClone(DesignElement.java:2969)
>
> org.eclipse.birt.report.model.core.Module.doClone(Module.java:757)
> org.eclipse.birt.report.model.api.ModuleHandle.copy(ModuleHandle.java:3265)
> org.eclipse.birt.report.engine.api.impl.ReportRunnable.cloneRunnable(ReportRunnable.java:202)
>
> org.eclipse.birt.report.engine.api.impl.EngineTask.prepareDesign(EngineTask.java:1324)
>
> org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:196)
> org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:90)
>
>
> I really can't find out why theXMLTypePackage in
> XMLNamespacePackageImpl.initializePackageContents is null, mainly
> because i don't know why and how the emf.ecore package is integrated
> within the birt project.
>
> Is there anyone who can explain me how and why the emf.ecore package is
> used, and maybe solve the problem?
>
>
>
  #3 (permalink)  
Old 11-27-2008, 06:50 AM
Bart Duim
 
Posts: n/a
Default Re: Charts and emf.ecore error

http://wiki.eclipse.org/ seems to be down (I get a blank page), so I can't
try the engine example.

My code is based on the information at
http://www.eclipse.org/birt/phoenix/...tEngineAPI.php, with some
minor modifications.
The report I use is the report located at
http://www.eclipse.org/birt/phoenix/...hart/index.php
but I get the same error with reports I created with the 3.2.1 standalone
designer.

The complete stacktrace stated below is from 2.5M3, the stacktrace in my
previous post is from 2.3.1

Some more information about the project:
The project I work in runs on the Springsource DM server, it is an OSGI
project that uses the Spring Framework with Hibernate at the backend, and
Wicket at the front. I've added the lib files in the ReportEngine/lib
folder to my OSGI bundle.

I couldn't get it working by using the OSGI packages from the Birt
project, because the Springsource DM server did not understand a lot of
statements in the manifest that are specific for Eclipse. I could rewrite
all the manifests, but that would take too much of my time.

stacktrace from 2.5M3:
java.lang.ExceptionInInitializerError
at
org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.addNamespaceDeclarations(XMLSaveImpl.java:879)
at
org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.traverse(XMLSaveImpl.java:604)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.save(XMLSaveImpl.java:256)
at
org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doSave(XMLResourceImpl.java:205)
at
org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1343)
at
org.eclipse.birt.chart.model.impl.SerializerImpl.asXml(SerializerImpl.java:185)
at
org.eclipse.birt.chart.reportitem.ChartReportItemImpl.serialize(ChartReportItemImpl.java:256)
at
org.eclipse.birt.report.model.extension.PeerExtensibilityProvider.hasLocalPropertyValuesOnOwnModel(PeerExtensibilityProvider.java:825)
at
org.eclipse.birt.report.model.elements.ExtendedItem.hasLocalPropertyValuesOnOwnModel(ExtendedItem.java:523)
at
org.eclipse.birt.report.model.writer.ModuleWriter.visitExtendedItem(ModuleWriter.java:1737)
at
org.eclipse.birt.report.model.elements.ExtendedItem.apply(ExtendedItem.java:137)
at
org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2627)
at
org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2648)
at
org.eclipse.birt.report.model.writer.ModuleWriter.visitCell(ModuleWriter.java:2078)
at org.eclipse.birt.report.model.elements.Cell.apply(Cell.java:81)
at
org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2627)
at
org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2648)
at
org.eclipse.birt.report.model.writer.ModuleWriter.visitRow(ModuleWriter.java:2032)
at org.eclipse.birt.report.model.elements.TableRow.apply(TableRow.java:75)
at
org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2627)
at
org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2648)
at
org.eclipse.birt.report.model.writer.ModuleWriter.visitGrid(ModuleWriter.java:2105)
at org.eclipse.birt.report.model.elements.GridItem.apply(GridItem.java:121)
at
org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2627)
at
org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2648)
at
org.eclipse.birt.report.model.writer.DesignWriter.visitReportDesign(DesignWriter.java:140)
at
org.eclipse.birt.report.model.elements.ReportDesign.apply(ReportDesign.java:89)
at
org.eclipse.birt.report.model.writer.ModuleWriter.writeFile(ModuleWriter.java:306)
at
org.eclipse.birt.report.model.writer.DocumentWriter.write(DocumentWriter.java:60)
at
org.eclipse.birt.report.model.api.util.DocumentUtil.serialize(DocumentUtil.java:63)
at
org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.saveDesign(ReportDocumentWriter.java:177)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:201)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:90)
at
reporting.service.impl.ReportHtmlServiceImpl.getReportHTML(ReportHtmlServiceImpl.java:64)
at
reporting.ui.wicket.Resource.ReportHtmlResource.getResourceState(ReportHtmlResource.java:59)
at
org.apache.wicket.markup.html.DynamicWebResource$1.checkLoadData(DynamicWebResource.java:265)
at
org.apache.wicket.markup.html.DynamicWebResource$1.getContentType(DynamicWebResource.java:207)
at
org.apache.wicket.request.target.resource.ResourceStreamRequestTarget.configure(ResourceStreamRequestTarget.java:189)
at
org.apache.wicket.request.target.resource.ResourceStreamRequestTarget.respond(ResourceStreamRequestTarget.java:137)
at
org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104)
at org.apache.wicket.RequestCycle.respond(RequestCycle.java:1186)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1253)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1349)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:387)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:199)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359)
at
org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
at
org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
at
org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174)
at
org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)
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.valves.CometConnectionManagerValve.invoke(CometConnectionManagerValve.java:248)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
com.springsource.server.servlet.tomcat.internal.ApplicationNameTrackingValve.invoke(ApplicationNameTrackingValve.java:74)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
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:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:354)
at
com.springsource.server.concurrent.core.ExecutorServiceDelegate$StatisticsGatheringRunnable.run(ExecutorServiceDelegate.java:137)
at
com.springsource.server.concurrent.core.ServerThreadPoolExecutor$1.run(ServerThreadPoolExecutor.java:145)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.NullPointerException
at
org.eclipse.emf.ecore.xml.namespace.impl.XMLNamespacePackageImpl.initializePackageContents(XMLNamespacePackageImpl.java:369)
at
org.eclipse.emf.ecore.xml.namespace.impl.XMLNamespacePackageImpl.init(XMLNamespacePackageImpl.java:144)
at
org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage.<clinit>(XMLNamespacePackage.java:75)
... 81 more

Jason Weathersby wrote:
> Can you try the engine example located here:
> http://wiki.eclipse.org/RCP_Example_%28BIRT%29_2.1
> This is an older example, but the only thing you should have to do is
> remove this section:

> // Set Render context to handle url and image locataions
> HTMLRenderContext renderContext = new HTMLRenderContext();
> renderContext.setImageDirectory("c:/test/image");
> HashMap<String, HTMLRenderContext> contextMap = new HashMap<String,
> HTMLRenderContext>();
> contextMap.put( EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT,
> renderContext );
> task.setAppContext(contextMap);

> Use the HTMLRenderOption class to set the image directory.

> I just tried this with 2.3.1 and it works for me. What version did you
> get the stack trace from? The Chart engine uses emf to create and store
> the chart model. Verify that you are not trying to open a 2.5 report
> with 2.3.

> Jason

  #4 (permalink)  
Old 11-30-2008, 05:40 PM
Jason Weathersby
 
Posts: n/a
Default Re: Charts and emf.ecore error

Bart,

You may need to log a bug for this. The BIRT runtime requires all the
BIRT plugins, plus many of the Eclipse Platform, EMF, and GEF plugins to
function.

I tried the wiki page and it is up. Can you try again?

Jason


Bart Duim wrote:
> http://wiki.eclipse.org/ seems to be down (I get a blank page), so I
> can't try the engine example.
> My code is based on the information at
> http://www.eclipse.org/birt/phoenix/...tEngineAPI.php, with
> some minor modifications.
> The report I use is the report located at
> http://www.eclipse.org/birt/phoenix/...hart/index.php
> but I get the same error with reports I created with the 3.2.1
> standalone designer.
>
> The complete stacktrace stated below is from 2.5M3, the stacktrace in my
> previous post is from 2.3.1
>
> Some more information about the project:
> The project I work in runs on the Springsource DM server, it is an OSGI
> project that uses the Spring Framework with Hibernate at the backend,
> and Wicket at the front. I've added the lib files in the
> ReportEngine/lib folder to my OSGI bundle.
> I couldn't get it working by using the OSGI packages from the Birt
> project, because the Springsource DM server did not understand a lot of
> statements in the manifest that are specific for Eclipse. I could
> rewrite all the manifests, but that would take too much of my time.
>
> stacktrace from 2.5M3:
> java.lang.ExceptionInInitializerError
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.addNamespaceDeclarations(XMLSaveImpl.java:879)
>
> at
> org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.traverse(XMLSaveImpl.java:604)
> at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.save(XMLSaveImpl.java:256)
> at
> org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doSave(XMLResourceImpl.java:205)
>
> at
> org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1343)
>
> at
> org.eclipse.birt.chart.model.impl.SerializerImpl.asXml(SerializerImpl.java:185)
>
> at
> org.eclipse.birt.chart.reportitem.ChartReportItemImpl.serialize(ChartReportItemImpl.java:256)
>
> at
> org.eclipse.birt.report.model.extension.PeerExtensibilityProvider.hasLocalPropertyValuesOnOwnModel(PeerExtensibilityProvider.java:825)
>
> at
> org.eclipse.birt.report.model.elements.ExtendedItem.hasLocalPropertyValuesOnOwnModel(ExtendedItem.java:523)
>
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.visitExtendedItem(ModuleWriter.java:1737)
>
> at
> org.eclipse.birt.report.model.elements.ExtendedItem.apply(ExtendedItem.java:137)
>
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2627)
>
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2648)
>
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.visitCell(ModuleWriter.java:2078)
>
> at org.eclipse.birt.report.model.elements.Cell.apply(Cell.java:81)
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2627)
>
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2648)
>
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.visitRow(ModuleWriter.java:2032)
>
> at org.eclipse.birt.report.model.elements.TableRow.apply(TableRow.java:75)
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2627)
>
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2648)
>
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.visitGrid(ModuleWriter.java:2105)
>
> at org.eclipse.birt.report.model.elements.GridItem.apply(GridItem.java:121)
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2627)
>
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.writeContents(ModuleWriter.java:2648)
>
> at
> org.eclipse.birt.report.model.writer.DesignWriter.visitReportDesign(DesignWriter.java:140)
>
> at
> org.eclipse.birt.report.model.elements.ReportDesign.apply(ReportDesign.java:89)
>
> at
> org.eclipse.birt.report.model.writer.ModuleWriter.writeFile(ModuleWriter.java:306)
>
> at
> org.eclipse.birt.report.model.writer.DocumentWriter.write(DocumentWriter.java:60)
>
> at
> org.eclipse.birt.report.model.api.util.DocumentUtil.serialize(DocumentUtil.java:63)
>
> at
> org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.saveDesign(ReportDocumentWriter.java:177)
>
> at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:201)
> at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:90)
> at
> reporting.service.impl.ReportHtmlServiceImpl.getReportHTML(ReportHtmlServiceImpl.java:64)
>
> at
> reporting.ui.wicket.Resource.ReportHtmlResource.getResourceState(ReportHtmlResource.java:59)
>
> at
> org.apache.wicket.markup.html.DynamicWebResource$1.checkLoadData(DynamicWebResource.java:265)
>
> at
> org.apache.wicket.markup.html.DynamicWebResource$1.getContentType(DynamicWebResource.java:207)
>
> at
> org.apache.wicket.request.target.resource.ResourceStreamRequestTarget.configure(ResourceStreamRequestTarget.java:189)
>
> at
> org.apache.wicket.request.target.resource.ResourceStreamRequestTarget.respond(ResourceStreamRequestTarget.java:137)
>
> at
> org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104)
>
> at org.apache.wicket.RequestCycle.respond(RequestCycle.java:1186)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1253)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1349)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
> at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:387)
> at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:199)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> at
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359)
>
> at
> org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
>
> at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>
> at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>
> at
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
>
> at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>
> at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>
> at
> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174)
>
> at
> org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)
>
> 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.valves.CometConnectionManagerValve.invoke(CometConnectionManagerValve.java:248)
>
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>
> at
> com.springsource.server.servlet.tomcat.internal.ApplicationNameTrackingValve.invoke(ApplicationNameTrackingValve.java:74)
>
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
> 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:286)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:354)
>
> at
> com.springsource.server.concurrent.core.ExecutorServiceDelegate$StatisticsGatheringRunnable.run(ExecutorServiceDelegate.java:137)
>
> at
> com.springsource.server.concurrent.core.ServerThreadPoolExecutor$1.run(ServerThreadPoolExecutor.java:145)
>
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
>
> Caused by: java.lang.NullPointerException
> at
> org.eclipse.emf.ecore.xml.namespace.impl.XMLNamespacePackageImpl.initializePackageContents(XMLNamespacePackageImpl.java:369)
>
> at
> org.eclipse.emf.ecore.xml.namespace.impl.XMLNamespacePackageImpl.init(XMLNamespacePackageImpl.java:144)
>
> at
> org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage.<clinit>(XMLNamespacePackage.java:75)
>
> .. 81 more
>
> Jason Weathersby wrote:
>> Can you try the engine example located here:
>> http://wiki.eclipse.org/RCP_Example_%28BIRT%29_2.1
>> This is an older example, but the only thing you should have to do is
>> remove this section:
>
>> // Set Render context to handle url and image locataions
>> HTMLRenderContext renderContext = new HTMLRenderContext();
>> renderContext.setImageDirectory("c:/test/image");
>> HashMap<String, HTMLRenderContext> contextMap = new HashMap<String,
>> HTMLRenderContext>();
>> contextMap.put( EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT,
>> renderContext );
>> task.setAppContext(contextMap);
>
>> Use the HTMLRenderOption class to set the image directory.
>
>> I just tried this with 2.3.1 and it works for me. What version did
>> you get the stack trace from? The Chart engine uses emf to create and
>> store the chart model. Verify that you are not trying to open a 2.5
>> report with 2.3.
>
>> Jason
>
 


Thread Tools
Display Modes




All times are GMT -7. The time now is 05:35 PM.


Content Relevant URLs by vBSEO 3.1.0