Bug 137817 NPE while generating PDF report
Got this excecption when generating a big PDF report. The PDF report fails and a browser error page is displayed: WARNING: D:\workspaces\runtime-workspace\.metadata\.plugins\com.ibm.xtools.analysis.reporting\reports\codereview_severity_summary\codereview_severity_summary.pdf (The system cannot find the path specified) java.io.FileNotFoundException: D:\workspaces\runtime-workspace\.metadata\.plugins\com.ibm.xtools.analysis.reporting\reports\codereview_severity_summary\codereview_severity_summary.pdf (The system cannot find the path specified) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(FileOutputStream.java:201) at java.io.FileOutputStream.<init>(FileOutputStream.java:153) at org.eclipse.birt.report.engine.emitter.pdf.PDFEmitter.initialize(PDFEmitter.java:186) at org.eclipse.birt.report.engine.layout.impl.ReportLayoutEngine.initialize(ReportLayoutEngine.java:381) at org.eclipse.birt.report.engine.presentation.WrappedEmitter.initialize(WrappedEmitter.java:44) at org.eclipse.birt.report.engine.presentation.LocalizedEmitter.initialize(LocalizedEmitter.java:129) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.createContentEmitter(RunAndRenderTask.java:145) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:174) at com.ibm.xtools.analysis.reporting.internal.editor.ReportEditor$1.runInWorkspace(ReportEditor.java:167) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
engine/org.eclipse.birt.report.engine.emitter.pdf/src/org/eclipse/birt/report/engine/emitter/pdf/PDFEmitter.java
curPos = (ContainerPosition)containerStack.peek();	
		else 
			curPos = new ContainerPosition(0, 0);
		float x = layoutAreaX2PDF(curPos.x + templateArea.getX());
		float y = layoutAreaY2PDF(curPos.y + templateArea.getY(),  tplHeight);
		cb.addTemplate(tpl, x, y);
		cb.restoreState();
	}
	/**
	 * If the container is a PageArea, this method news a pdf page.
	 * If the container is the other containerAreas, 
	 * such as TableArea, or just the border of textArea/imageArea
	 * draw the border and background of the container
	 * @param container				the ContainerArea specified from layout
	 */
	public void startContainer(IContainerArea container)
	{
		if (container instanceof PageArea)
		{
			newPage(container);
			containerStack.push(new ContainerPosition(0, 0));
		}
		else
		{
			drawContainer(container);
			ContainerPosition pos;
			if ( ! containerStack.isEmpty() )
			{
				pos = (ContainerPosition)containerStack.peek();
				ContainerPosition current = new ContainerPosition(