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.editors/src/org/eclipse/birt/report/designer/ui/editors/MultiPageReportEditor.java
public void init( IEditorSite site, IEditorInput input )
			throws PartInitException
	{
		super.init( site, input );
		getSite( ).getWorkbenchWindow( )
				.getPartService( )
				.addPartListener( this );
		site.setSelectionProvider( new FormEditorSelectionProvider( this ) );
		Object adapter = ( (IEditorPart) this ).getAdapter( IReportProvider.class );
		if ( adapter != null )
		{
			IReportProvider provider = (IReportProvider) adapter;
			setPartName( provider.getInputPath( input ).lastSegment( ) );
		}
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
	 */
	protected void addPages( )
	{
		List formPageList = EditorContributorManager.getInstance( )
				.getEditorContributor( getEditorSite( ).getId( ) ).formPageList;
		boolean error = false;
		for ( Iterator iter = formPageList.iterator( ); iter.hasNext( ); )
		{
			FormPageDef pagedef = (FormPageDef) iter.next( );
			try
			{