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
{
		LibraryExplorerTreeViewPage page;
		if ( fileAdapter != null
				&& pageMap.containsKey( ( (IFile) fileAdapter ).getProject( ) ) )
		{
			page = (LibraryExplorerTreeViewPage) pageMap.get( ( (IFile) fileAdapter ).getProject( ) );
		}
		else
		{
			page = new LibraryExplorerTreeViewPage( );
			ILibraryProvider provider = (ILibraryProvider) editor.getAdapter( ILibraryProvider.class );
			if ( provider != null )
			{
				page.setLibraryProvider( provider );
				if ( fileAdapter != null )
				{
					pageMap.put( ( (IFile) fileAdapter ).getProject( ), page );
				}
			}
		}
		return page;
	}
	/**
	 * Destroys a page in the pagebook for a particular part. This page was
	 * returned as a result from <code>doCreatePage</code>.
	 * 
	 * @param part
	 *            the input part
	 * @param pageRecord
	 *            a page record for the part