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
layoutX+container.getWidth()-borderRightWidth/2, layoutY+ container.getHeight(),       
				borderRightWidth, borderRightColor, container.getStyle().getBorderRightStyle(), BorderInfo.RIGHT_BORDER);
		borders[BorderInfo.BOTTOM_BORDER] = new BorderInfo(
				layoutX, layoutY+container.getHeight()-borderBottomWidth/2, 
				layoutX+container.getWidth(), layoutY+container.getHeight()-borderBottomWidth/2, 
				borderBottomWidth, borderBottomColor, container.getStyle().getBorderBottomStyle(), BorderInfo.BOTTOM_BORDER);
		borders[BorderInfo.LEFT_BORDER] = new BorderInfo(
				layoutX+borderLeftWidth/2, layoutY,
				layoutX+borderLeftWidth/2, layoutY+ container.getHeight(), 
				borderLeftWidth, borderLeftColor, container.getStyle().getBorderLeftStyle(), BorderInfo.LEFT_BORDER);
		
		
		drawBorder(borders);
		
		
		
		makeBookmark(container, curPos);
		
		handleHyperlinkAction(container, curPos);
	}
	
	/**
	 * draw a chunk of text at the pdf.
	 * @param text					the textArea to be drawed.
	 * @param textX					the X position of the textArea relative to current page.
	 * @param textY					the Y position of the textArea relative to current page.
	 * @param contentByte			the content byte to draw the text.
	 * @param contentByteHeight		the height of the content byte.
	 */
	protected void drawTextAt( ITextArea text, int textX, int textY,