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
float remainY = height;
				
				 
				
				PdfTemplate template = null;
				if (height > img.scaledHeight())
				{
					template = cbUnder.createTemplate(
							width-absPosX>img.scaledWidth() ? img.scaledWidth() : width-absPosX, img.scaledHeight());
					template.addImage(img, img.scaledWidth(), 0, 0, img.scaledHeight(), 0, 0);
				}
				while ( remainY > 0 )
				{
					if(remainY<img.scaledHeight())
					{
						PdfTemplate templateY = cbUnder.createTemplate(
								width-absPosX>img.scaledWidth() ? img.scaledWidth() : width-absPosX, remainY);
						templateY.addImage(img, 
								width>img.scaledWidth() ? img.scaledWidth() : width-absPosX, 0, 0, img.scaledHeight(), 
								0, -(img.scaledHeight()-remainY));
						cbUnder.addTemplate(templateY, x+absPosX, y-height);
						remainY=0;
					}
					else
					{
						cbUnder.addTemplate(template, x+absPosX, y-height+remainY-img.scaledHeight());
						remainY-=img.scaledHeight();
					}
				}
			}