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/src/org/eclipse/birt/report/designer/ui/actions/StackWindowAction.java
isEnabled = canDo( );
					break;
				}
			}
		}
		setAction( action, isEnabled );
	}
	private void setAction( IAction action, boolean isEnabled )
	{
		action.setEnabled( isEnabled );
		changeLabel( action );
	}
	protected ModuleHandle getDesignHandle( )
	{
		return SessionHandleAdapter.getInstance( ).getReportDesignHandle( );
	}
	abstract protected boolean canDo( );
	abstract protected void doStack( );
	abstract protected void changeLabel( IAction action );
	public static class UndoWindowAction extends StackWindowAction
	{
		/*
		 * (non-Javadoc)
		 * 
		 * @see org.eclipse.birt.report.designer.ui.actions.StackWindowAction#canDo()
		 */
		protected boolean canDo( )
		{
			return getDesignHandle( ).getCommandStack( ).canUndo( );
		}