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/BaseInsertMenuAction.java
protected boolean calculateEnabled( )
	{
		slotHandle = getDefaultSlotHandle( insertType );
		return DNDUtil.handleValidateTargetCanContainType( slotHandle,
				insertType )
				&& DNDUtil.handleValidateTargetCanContainMore( slotHandle, 0 );
	}
	/**
	 * Returns the container slotHandle.
	 * 
	 */
	private SlotHandle getDefaultSlotHandle( String insertType )
	{
		IStructuredSelection models = InsertInLayoutUtil.editPart2Model( getSelection( ) );
		if ( models.isEmpty( ) )
		{
			return null;
		}
		model = models.getFirstElement( );
		if ( model instanceof SlotHandle )
		{
			return (SlotHandle) model;
		}
		else if ( model instanceof DesignElementHandle )
		{
			DesignElementHandle handle = (DesignElementHandle) model;
			if ( handle.getDefn( ).isContainer( ) )
			{
				int slotId = DEUtil.getDefaultSlotID( handle );
				if ( handle.canContain( slotId, insertType ) )