Bug 123523 Previewing a scripted data set mapped to a java event handler throws NPE
When previewing a scripted data set we try to get a class loader from the ExecutionContext. (See ScriptExecutor.getClassUsingCustomClassPath). The context will be null in this case. The reason for using the context is to use cached class loaders when possible. Need to use some other mechanism to get the class loader if the context is null. We can either provide an external map to use as cache, or not bother with caching at all.
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/executor/ExecutionContext.java
private ReportDocumentWriter docWriter;
	/**
	 * app context
	 */
	private Map appContext;
	/**
	 * report context used to evaluate the java-based script.
	 */
	private IReportContext reportContext;
	/**
	 * options used to render the report content
	 */
	private IRenderOption renderOption;
	/**
	 * the current locale, used to localize the report content
	 */
	private Locale locale;
	
	/**
	 * report document, may be the output or input.
	 */
	private IReportDocument reportDoc;
	/**
	 * the created report content
	 */
	private IReportContent reportContent;
	/**
	 * A stack of content objects, with the current one on the top
	 */
	private Stack reportContents = new Stack( );