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.rcp/src/org/eclipse/birt/report/designer/ui/internal/rcp/actions/OpenFileAction.java
dialog.open( );
		String[] names = dialog.getFileNames( );
		if ( names != null )
		{
			String fFilterPath = dialog.getFilterPath( );
			int numberOfFilesNotFound = 0;
			StringBuffer notFound = new StringBuffer( );
			for ( int i = 0; i < names.length; i++ )
			{
				File file = new File( fFilterPath + File.separator + names[i] );
				if ( file.exists( ) )
				{
					IWorkbenchPage page = fWindow.getActivePage( );
					IEditorInput input = new ReportEditorInput( file );
					IEditorDescriptor editorDesc = getEditorDescriptor( input,
							OpenStrategy.activateOnOpen( ) );
					try
					{
						page.openEditor( input, editorDesc.getId( ) );
					}
					catch ( Exception e )
					{
						ExceptionHandler.handle( e );
					}
				}
				else
				{
					if ( ++numberOfFilesNotFound > 1 )
						notFound.append( '\n' );
					notFound.append( file.getName( ) );