Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 322404 - Opening php file without file extension result in exception
Summary: Opening php file without file extension result in exception
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: PDT (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 minor (vote)
Target Milestone: ---   Edit
Assignee: PHP UI CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-11 12:32 EDT by Joshua Ross CLA
Modified: 2020-05-14 11:40 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joshua Ross CLA 2010-08-11 12:32:41 EDT
Build Identifier: 20100617-1415

I have several scripts that have no file extension.  When I attempt to open them using the php editor I get:

"Unsupported content type in editor. To associate file extension with a supported content type, please see Content Type Preference Page"

I then attempted to add the full file name to the "Content Type Preference Page" and that gives me the following error:

Could not open the editor: org.eclipse.core.internal.filebuffers.SynchronizableDocument cannot be cast to org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument

Stacktrace:

java.lang.ClassCastException: org.eclipse.core.internal.filebuffers.SynchronizableDocument cannot be cast to org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument
	at org.eclipse.php.internal.ui.folding.StructuredTextFoldingProviderPHP.computeHeaderComment(StructuredTextFoldingProviderPHP.java:1484)
	at org.eclipse.php.internal.ui.folding.StructuredTextFoldingProviderPHP.computeProjectionRanges(StructuredTextFoldingProviderPHP.java:1449)
	at org.eclipse.php.internal.ui.folding.StructuredTextFoldingProviderPHP.computeFoldingStructure(StructuredTextFoldingProviderPHP.java:1377)
	at org.eclipse.php.internal.ui.folding.StructuredTextFoldingProviderPHP.computeFoldingStructure(StructuredTextFoldingProviderPHP.java:1318)
	at org.eclipse.php.internal.ui.folding.StructuredTextFoldingProviderPHP.computeFoldingStructure(StructuredTextFoldingProviderPHP.java:1308)
	at org.eclipse.php.internal.ui.folding.StructuredTextFoldingProviderPHP.update(StructuredTextFoldingProviderPHP.java:1222)
	at org.eclipse.php.internal.ui.folding.StructuredTextFoldingProviderPHP.initialize(StructuredTextFoldingProviderPHP.java:1022)
	at org.eclipse.php.internal.ui.folding.StructuredTextFoldingProviderPHP.handleProjectionEnabled(StructuredTextFoldingProviderPHP.java:916)
	at org.eclipse.php.internal.ui.folding.StructuredTextFoldingProviderPHP.projectionEnabled(StructuredTextFoldingProviderPHP.java:1917)
	at org.eclipse.php.internal.ui.folding.PHPFoldingStructureProviderProxy.projectionEnabled(PHPFoldingStructureProviderProxy.java:43)
	at org.eclipse.php.internal.ui.editor.PHPStructuredEditor.installProjectionSupport(PHPStructuredEditor.java:2238)
	at org.eclipse.php.internal.ui.editor.PHPStructuredEditor.createPartControl(PHPStructuredEditor.java:2247)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
	at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
	at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
	at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
	at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
	at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
	at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1254)
	at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1207)
	at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1606)
	at org.eclipse.ui.internal.PartStack.add(PartStack.java:497)
	at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
	at org.eclipse.ui.internal.PartStack.add(PartStack.java:483)
	at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
	at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
	at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:225)
	at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:213)
	at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:778)
	at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:677)
	at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:638)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2860)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2682)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
	at org.eclipse.dltk.internal.ui.editor.EditorUtility.openInEditor(EditorUtility.java:391)
	at org.eclipse.dltk.internal.ui.editor.EditorUtility.openInEditor(EditorUtility.java:141)
	at org.eclipse.php.internal.ui.actions.OpenActionUtil.open(OpenActionUtil.java:54)
	at org.eclipse.php.internal.ui.actions.OpenAction.run(OpenAction.java:180)
	at org.eclipse.php.internal.ui.actions.OpenAction.run(OpenAction.java:152)
	at org.eclipse.php.internal.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:190)
	at org.eclipse.php.internal.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:168)
	at org.eclipse.php.internal.ui.actions.PHPExplorerActionGroup.handleOpen(PHPExplorerActionGroup.java:144)
	at org.eclipse.dltk.internal.ui.scriptview.ScriptExplorerPart$4.open(ScriptExplorerPart.java:667)
	at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:845)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:843)
	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1131)
	at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1235)
	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:264)
	at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:258)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:298)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	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:369)
	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:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1383)


restarting eclipse allows for opening of the file in the php editor.  


Isn't there a way to allow for opening of a file in the php editor without jumping through the hoops of the content types?

Reproducible: Always

Steps to Reproduce:
1. right-click on a php file with no file extension 
2. select open with -> other
3. select php editor and click ok

result: "Unsupported content type in editor..."

4. Click linke to "Content Type Preference Page"

result: opens preference window to "Content Types" section

5. Expand "Text" under content types then click "PHP Content Type"
6. Click "Add" 
7. Enter filename and click Ok
8. Click Ok to exit the preferences
9. Double click on the file in the PHP Explorer

result: exception "Could not open the editor: org.eclipse.core.internal.filebuffers.SynchronizableDocument cannot be cast to org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument"
Comment 1 Zhongwei Zhao CLA 2010-08-12 00:31:33 EDT
Hi,according to your stack trace,I think this bug has been fixed in head and branch
Comment 2 Gadi Goldbarg CLA 2010-08-23 09:44:57 EDT
No longer reproducible. The file can be opened in the editor.
Kalin Yanev
kalin.a@zend.com