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.lib.explorer/src/org/eclipse/birt/report/designer/ui/lib/explorer/LibraryExplorerView.java
}
	/**
	 * Creates a new page in the pagebook for a particular part. This page will
	 * be made visible whenever the part is active, and will be destroyed with a
	 * call to <code>doDestroyPage</code>.
	 * 
	 * @param part
	 *            the input part
	 * @return the record describing a new page for this view
	 * @see #doDestroyPage
	 */
	protected PageRec doCreatePage( IWorkbenchPart part )
	{
		if ( part instanceof AbstractMultiPageEditor )
		{
			IEditorPart editor = UIUtil.getActiveEditor( true );
			if ( editor != null )
			{
				Object fileAdapter = editor.getEditorInput( )
						.getAdapter( IFile.class );
				LibraryExplorerTreeViewPage page = getPage( fileAdapter, editor );
				initPage( page );
				page.createControl( getPageBook( ) );
				return new PageRec( part, page );
			}
		}
		return null;
	}
	private LibraryExplorerTreeViewPage getPage( Object fileAdapter,
			IEditorPart editor )