Bug 116706 Bad Class Cast in IDEReportEditor.java
So I'm trying to open a report with BIRT/Eclipse API using the BIRT 2.0 nightly build code (as of 11/16/2005). the file IDEReportEditor.java method private IFile getFile( IEditorInput input ) { return ( (ReportFileEditorInput) input ).getFile( ); } However, input can be ReportEditorInput which is also an IEditorInput (to support reports found outside projects and workspaces) which doesn't even have a getFile() method on it. This causes a deeply nested exception that causes the report desinger to not be able to show a report that might be physically located outside a workspace.
UI/org.eclipse.birt.report.designer.ui.ide/src/org/eclipse/birt/report/designer/ui/editors/IDEMultiPageReportEditor.java
{
		super.addPages( );
		try
		{
			refreshMarkers(getEditorInput( ));
		}
		catch ( CoreException e )
		{
			e.printStackTrace();
		}
	}
	
	/**
	 * Deletes existed problem markers and adds new markers
	 * 
	 * @throws CoreException
	 */
	protected void refreshMarkers( IEditorInput input ) throws CoreException
	{
		IResource file = getFile( input );
		
		file.deleteMarkers( IMarker.PROBLEM, true, IResource.DEPTH_INFINITE );
		
		ModuleHandle reportDesignHandle =  getModel( );
		if(reportDesignHandle== null)
		{
			return;
		}
		List list = reportDesignHandle.getErrorList( );
		int errorListSize = list.size( );