Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#37 Dropping TDI file on a c file raises exceptions

open-accepted
Mahesh DC
5
2008-11-26
2008-11-26
Mahesh DC
No

In IDE mode,

Take a TDI file from explorer and drop it on top of an open C file, the file fails to open reporting these exceptions.

org.eclipse.ui.PartInitException: Invalid Input: Must have implemented IPathEditorInput
at com.nxp.timedoctor.internal.ui.TraceEditor.init(TraceEditor.java:111)
at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:799)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:643)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:428)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:594)
at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:266)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2820)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2729)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2721)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2673)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2668)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2652)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2643)
at org.eclipse.cdt.internal.ui.util.EditorUtility.openInEditor(EditorUtility.java:230)
at org.eclipse.cdt.internal.ui.util.EditorUtility.openInEditor(EditorUtility.java:294)
at org.eclipse.cdt.internal.ui.dnd.TextEditorDropAdapter.dropFiles(TextEditorDropAdapter.java:337)
at org.eclipse.cdt.internal.ui.dnd.TextEditorDropAdapter.drop(TextEditorDropAdapter.java:126)
at org.eclipse.ui.internal.EditorSiteDragAndDropServiceImpl$1.drop(EditorSiteDragAndDropServiceImpl.java:113)
at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:770)
at org.eclipse.swt.dnd.DropTarget.Drop(DropTarget.java:455)
at org.eclipse.swt.dnd.DropTarget$3.method6(DropTarget.java:257)
at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2371)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3420)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)

Note: these exceptions are from Ganymede, but the same behavior is seen in Europa as well.

Discussion

  • Mahesh DC
    Mahesh DC
    2008-11-26

    In these scenarios:
    1) Opening the file using File > Open
    2) Dropping the file in an empty editor area
    3) Dropping at the tab region of an editor area
    4) Dropping on a Java file or even a makefile

    the input, in TraceEditor.init() is of type FileStoreEditorInput, which implements IPathEditorInput.

    Whereas, when dropped on a C file, the input is of type ExternalEditorInput, which does not implement IPathEditorInput.

    Hence, these exceptions are occurring.

     
  • Mahesh DC
    Mahesh DC
    2008-11-26

    • status: open --> open-accepted