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
public boolean visit( IResourceDelta delta )
		{
			if ( delta == null
					|| !delta.getResource( )
							.equals( getFile( getEditorInput( ) ) ) )
				return true;
			if ( delta.getKind( ) == IResourceDelta.REMOVED )
			{
				Display display = getSite( ).getShell( ).getDisplay( );
				if ( ( IResourceDelta.MOVED_TO & delta.getFlags( ) ) == 0 )
				{
					
					
					
					
					display.asyncExec( new Runnable( ) {
						public void run( )
						{
							if ( !isDirty( ) )
							{
								closeEditor( false );
							}
							else
							{
								String title = DLG_SAVE_TITLE;
								String message = DLG_SAVE_CONFIRM_DELETE;
								String[] buttons = {
										DLG_SAVE_BUTTON_SAVE,
										DLG_SAVE_BUTTON_CLOSE
								};