Bug 131577 Script Access to Factory/Presentation Mode
There is no easy way from within BIRT scripting to access whether a report is in factoryMode or presentationMode. The ExecutionContext object on the ReportContextImpl class has this information, but it is not available through scripting. I wonder if it makes sense to just expose the ExecutionContext and let the developer get the ExecutionContext or work from there, or if it is better to maintain an abstraction layer off of the ExecutionContext with all of the functionality wrapped off. To me it is more useful to divide the script functions into some that are basic and fully supported and others that are in the category of Kung-Fu scripting where the developer has to have a relatively high level of experience. So if we decide this is a basic function, we expose the factory mode in the IReportContext interface. If it is deemed to be Kung-Fu scripting, then we just expose a handle to the ExecutionContext and let developers figure it themselves. Thoughts?
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/executor/ExecutionContext.java
* Since the data set in master page will be executed in each page
	 * and while the data set in report body will only be executed once,
	 * we need to remember the current report item is in master page or not.
	 * This will be used to help store the executed resultSetID and load it
	 * to distinguish them.
	 */
	public void setExecutingMasterPage( boolean isExecutingMasterPage )
	{
		this.isExecutingMasterPage = isExecutingMasterPage;
	}
	
	public boolean isExecutingMasterPage( )
	{
		return isExecutingMasterPage;
	}
	
	/**
	 * Add a page break listener.
	 * 
	 * @param listener
	 *            the page break listener.
	 */
	public void addPageBreakListener( IPageBreakListener listener )
	{
		if ( pageBreakListeners == null )
		{
			pageBreakListeners = new ArrayList( );
		}
		pageBreakListeners.add( listener );
	}