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/dialogs/SaveAsDialog.java
/**
 * SaveAs dialogue for report designer
 */
public class SaveAsDialog extends TitleAreaDialog
{
	private static final String DEFAULT_MESSAGE = Messages.getString( "SaveAsDialog.message" ); 
	private NewReportPageSupport support;
	private Control okButton;
	private static final String MSG_EMPTY_FILE_LOCATION_DIRECTORY = Messages.getString( "WizardNewReportCreationPage.msg.empty.file.locationDirectory" ); 
	private static final String MSG_EMPTY_FILE_NAME = Messages.getString( "WizardNewReportCreationPage.msg.empty.file.name" ); 
	private Listener locationModifyListener = new Listener( ) {
		public void handleEvent( Event e )
		{
			setDialogComplete( validatePage( ) );
		}
	};
	private IPath result;
	public SaveAsDialog( Shell parentShell )
	{
		super( parentShell );
		setShellStyle( getShellStyle( ) | SWT.RESIZE );
		support = new NewReportPageSupport( );
	}
	/**
	 * Sets the original file to use.
	 * 
	 * @param input
	 *            the original editorInput
	 */
	public void setOriginalFile( IEditorInput input )