Community
Participate
Working Groups
================================================================================ How to repeat the problem: 1. Checkout org.eclipse.filesystem.ftp plug-in from CVS (I removed the dependency on org.osgi.core and modified Keyring.USER, Keyring.PASS to "anonymous" and "abc@sourceforge.net" to get it compiled. The user name and password is valid for ftp.leo.org). 2. Create a new project, e.g. TestFTPFilesystem 3. Since there is currently no UI support available, manually edit .project and insert the following part to manually create the linked resources <linkedResources> <link> <name>WELCOME.TXT</name> <type>1</type> <locationURI>ftp://ftp.leo.org/WELCOME.TXT</locationURI> </link> </linkedResources> 4. save .project, and an icon for the file WELCOME.TXT appears with a ! sign on it. 5. Double click on WELCOME.TXT and an error message pops up which simply say that an error has occured. The following logs are available: !SESSION 2006-04-20 23:18:02.984 ----------------------------------------------- eclipse.buildId=unknown java.version=1.5.0_04 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US Framework arguments: -product org.eclipse.sdk.ide -pdelaunch Command-line arguments: -product org.eclipse.sdk.ide -data C:\Documents and Settings\Tianchao\workspace/../runtime-New_configuration -dev file:C:/Documents and Settings/Tianchao/workspace/.metadata/.plugins/org.eclipse.pde.core/New_configuration/dev.properties -pdelaunch -os win32 -ws win32 -arch x86 !ENTRY org.eclipse.core.expressions 4 4 2006-04-20 23:18:58.140 !MESSAGE Unknown expression element objectState !ENTRY org.eclipse.core.filesystem.ftp 4 1 2006-04-20 23:20:05.156 !MESSAGE Error listing files from FTP file !STACK 1 org.eclipse.ftp.internal.FtpServerException: 550 Failed to change directory. at org.eclipse.ftp.internal.FTPClient.defaultResponseHandler(FTPClient.java:946) at org.eclipse.ftp.internal.FTPClient.changeDirectory(FTPClient.java:248) at org.eclipse.core.internal.filesystem.ftp.FTPUtil.run(FTPUtil.java:56) at org.eclipse.core.internal.filesystem.ftp.FTPFile.listFiles(FTPFile.java:143) at org.eclipse.core.internal.filesystem.ftp.FTPFile.childInfos(FTPFile.java:34) at org.eclipse.core.internal.filesystem.ftp.FTPFile.fetchInfo(FTPFile.java:78) at org.eclipse.core.filesystem.provider.FileStore.fetchInfo(FileStore.java:253) at org.eclipse.core.internal.resources.Resource.assertLinkRequirements(Resource.java:164) at org.eclipse.core.internal.resources.Resource.createLink(Resource.java:588) at org.eclipse.core.internal.resources.Project.reconcileLinks(Project.java:934) at org.eclipse.core.internal.resources.Project.updateDescription(Project.java:1063) at org.eclipse.core.internal.resources.File.updateMetadataFiles(File.java:403) at org.eclipse.core.internal.resources.File.internalSetContents(File.java:323) at org.eclipse.core.internal.resources.File.setContents(File.java:362) at org.eclipse.core.internal.resources.File.setContents(File.java:462) at org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.commitFileBufferContent(ResourceTextFileBuffer.java:361) at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.commit(ResourceFileBuffer.java:322) at org.eclipse.ui.editors.text.TextFileDocumentProvider.commitFileBuffer(TextFileDocumentProvider.java:843) at org.eclipse.ui.editors.text.TextFileDocumentProvider$2.execute(TextFileDocumentProvider.java:767) at org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.run(TextFileDocumentProvider.java:144) at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:68) at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:101) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1737) at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:113) at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:73) at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:63) at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:460) at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:744) at org.eclipse.ui.texteditor.AbstractTextEditor.performSave(AbstractTextEditor.java:3796) at org.eclipse.ui.texteditor.AbstractTextEditor.doSave(AbstractTextEditor.java:3585) at org.eclipse.ui.internal.SaveableHelper$1.run(SaveableHelper.java:131) at org.eclipse.ui.internal.SaveableHelper$4.run(SaveableHelper.java:252) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:763) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:760) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2279) at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:258) at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:136) at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1360) at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:2927) at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:2940) at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:67) at org.eclipse.jface.action.Action.runWithEvent(Action.java:499) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:925) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3346) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2966) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) at org.eclipse.core.launcher.Main.basicRun(Main.java:280) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952) !SUBENTRY 1 org.eclipse.ftp 4 550 2006-04-20 23:20:05.156 !MESSAGE 550 Failed to change directory. !ENTRY org.eclipse.core.filesystem.ftp 4 1 2006-04-20 23:20:16.890 !MESSAGE Error listing files from FTP file !STACK 1 org.eclipse.ftp.internal.FtpServerException: 550 Failed to change directory. at org.eclipse.ftp.internal.FTPClient.defaultResponseHandler(FTPClient.java:946) at org.eclipse.ftp.internal.FTPClient.changeDirectory(FTPClient.java:248) at org.eclipse.core.internal.filesystem.ftp.FTPUtil.run(FTPUtil.java:56) at org.eclipse.core.internal.filesystem.ftp.FTPFile.listFiles(FTPFile.java:143) at org.eclipse.core.internal.filesystem.ftp.FTPFile.childInfos(FTPFile.java:34) at org.eclipse.core.internal.filesystem.ftp.FTPFile.fetchInfo(FTPFile.java:78) at org.eclipse.core.filesystem.provider.FileStore.fetchInfo(FileStore.java:253) at org.eclipse.core.internal.localstore.FileSystemResourceManager.link(FileSystemResourceManager.java:538) at org.eclipse.core.internal.resources.Resource.createLink(Resource.java:600) at org.eclipse.core.internal.resources.Project.reconcileLinks(Project.java:934) at org.eclipse.core.internal.resources.Project.updateDescription(Project.java:1063) at org.eclipse.core.internal.resources.File.updateMetadataFiles(File.java:403) at org.eclipse.core.internal.resources.File.internalSetContents(File.java:323) at org.eclipse.core.internal.resources.File.setContents(File.java:362) at org.eclipse.core.internal.resources.File.setContents(File.java:462) at org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.commitFileBufferContent(ResourceTextFileBuffer.java:361) at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.commit(ResourceFileBuffer.java:322) at org.eclipse.ui.editors.text.TextFileDocumentProvider.commitFileBuffer(TextFileDocumentProvider.java:843) at org.eclipse.ui.editors.text.TextFileDocumentProvider$2.execute(TextFileDocumentProvider.java:767) at org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.run(TextFileDocumentProvider.java:144) at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:68) at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:101) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1737) at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:113) at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:73) at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:63) at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:460) at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:744) at org.eclipse.ui.texteditor.AbstractTextEditor.performSave(AbstractTextEditor.java:3796) at org.eclipse.ui.texteditor.AbstractTextEditor.doSave(AbstractTextEditor.java:3585) at org.eclipse.ui.internal.SaveableHelper$1.run(SaveableHelper.java:131) at org.eclipse.ui.internal.SaveableHelper$4.run(SaveableHelper.java:252) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:763) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:760) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2279) at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:258) at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:136) at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1360) at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:2927) at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:2940) at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:67) at org.eclipse.jface.action.Action.runWithEvent(Action.java:499) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:925) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3346) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2966) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) at org.eclipse.core.launcher.Main.basicRun(Main.java:280) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952) !SUBENTRY 1 org.eclipse.ftp 4 550 2006-04-20 23:20:16.890 !MESSAGE 550 Failed to change directory. !ENTRY org.eclipse.jface 4 2 2006-04-20 23:20:34.703 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 java.lang.IllegalArgumentException at org.eclipse.ui.internal.EditorManager.openSystemExternalEditor(EditorManager.java:929) at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:703) at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:679) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2535) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2470) at org.eclipse.ui.internal.WorkbenchPage.access$10(WorkbenchPage.java:2462) at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2447) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2442) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2427) at org.eclipse.ui.ide.IDE.openEditor(IDE.java:388) at org.eclipse.ui.ide.IDE.openEditor(IDE.java:350) at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:98) at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:98) at org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:125) at org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:328) at org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:679) at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:434) at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:811) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:843) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149) at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:809) at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1063) at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1162) at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:249) at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:243) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:283) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:925) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3346) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2966) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) at org.eclipse.core.launcher.Main.basicRun(Main.java:280) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952) Tried linux and windows. The problem exists on both platforms.
Created attachment 40856 [details] patch for linked folder on ftp file system I have worked out a partial solution. It works now for directories like <linkedResources> <link> <name>ftp.leo.org</name> <type>2</type> <locationURI>ftp://ftp.leo.org/</locationURI> </link> </linkedResources> More efforts are still required for files to work.
I have released this patch. Thanks Tianchao.