Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 402263

Summary: [Import/Export] import from file system wizard does not show subdirectories
Product: [Eclipse Project] Platform Reporter: Thomas Spellman <thos37>
Component: IDEAssignee: Platform UI Triaged <platform-ui-triaged>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: g.watson, john.arthorne, pwebster, Silenio_Quarti, swimbunny2000, TennSeven, thedanny09, thos37, tiefox, waheed.ghumman
Version: 4.2Keywords: helpwanted
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS X   
Whiteboard: stalebug
Attachments:
Description Flags
absence of subfolder
none
presence of subfolders
none
select previous path using drop-down none

Description Thomas Spellman CLA 2013-03-03 22:49:21 EST
Created attachment 227860 [details]
absence of subfolder

Mac OS X 10.8.2 MacBookPro

Problem:
1. Download Eclipse for Java Developers Juno SR2 64bit.  
2. Open Eclipse.
3. Create New Java Project, named "test", accept defaults.
4. Right click project -> Import... -> General / File System 
5. Browse for desired "src" folder, in this case /Users/thomas/Develop/GA/TEALsim/src
6. "src" folder on left has no triangle for selecting subfolders, even though they exist.
7. Click "Create top-level folder" and then click Finish. 

Only the "src" folder with no subfolders is imported into project.

Workaround:
8. Repeat steps 4 & 5
9. Use drop-down to select previously selected directory
10. Subfolders of "src" are now available to import
Comment 1 Thomas Spellman CLA 2013-03-03 22:50:41 EST
Created attachment 227861 [details]
presence of subfolders
Comment 2 Thomas Spellman CLA 2013-03-03 22:52:44 EST
Created attachment 227862 [details]
select previous path using drop-down
Comment 3 Paul Webster CLA 2013-03-04 11:32:20 EST
On Mac, it goes though and fills in the correct subdirectories:


Daemon Thread [Thread-1] (Suspended)	
	FileSystemStructureProvider.getChildren(Object) line: 45	
	MinimizedFileSystemElement.populate(IImportStructureProvider) line: 76	
	MinimizedFileSystemElement.getFiles(IImportStructureProvider) line: 44	
	WizardFileSystemResourceImportPage1.createRootElement(Object, IImportStructureProvider) line: 552	
	WizardFileSystemResourceImportPage1$15.run() line: 1024	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	WizardFileSystemResourceImportPage1.selectFiles(Object, IImportStructureProvider) line: 1021	
	WizardFileSystemResourceImportPage1.getFileSystemTree() line: 678	
	WizardFileSystemResourceImportPage1.resetSelection() line: 907	
	WizardFileSystemResourceImportPage1.setSourceName(String) line: 1069	
	WizardFileSystemResourceImportPage1.handleSourceBrowseButtonPressed() line: 804	
	WizardFileSystemResourceImportPage1.handleEvent(Event) line: 776	
	EventTable.sendEvent(Event) line: 84	
	Display.sendEvent(EventTable, Event) line: 4164	
	Button(Widget).sendEvent(Event) line: 1466	
	Button(Widget).sendEvent(int, Event, boolean) line: 1489	
	Button(Widget).sendEvent(int, Event) line: 1474	
	Button(Widget).notifyListeners(int, Event) line: 1279	
	Display.runDeferredEvents() line: 4010	
	Display.readAndDispatch() line: 3649	
	WizardDialog(Window).runEventLoop(Shell) line: 826	
	WizardDialog(Window).open() line: 802	
	WizardHandler$Import.executeHandler(ExecutionEvent) line: 152	
	WizardHandler$Import(WizardHandler).execute(ExecutionEvent) line: 279	
	HandlerProxy.execute(ExecutionEvent) line: 290	
	E4HandlerProxy.execute(IEclipseContext, Map, Event, IEvaluationContext) line: 76	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	MethodRequestor.execute() line: 56	
	InjectorImpl.invokeUsingClass(Object, Class<?>, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier, boolean) line: 231	
	InjectorImpl.invoke(Object, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier) line: 212	
	ContextInjectionFactory.invoke(Object, Class<Annotation>, IEclipseContext, IEclipseContext, Object) line: 131	
	HandlerServiceImpl.executeHandler(ParameterizedCommand, IEclipseContext) line: 204	
	LegacyHandlerService.executeCommand(ParameterizedCommand, Event) line: 515	
	ActionFactory$WorkbenchCommandAction(CommandAction).runWithEvent(Event) line: 157	
	ActionContributionItem.handleWidgetSelection(Event, boolean) line: 584	
	ActionContributionItem.access$2(ActionContributionItem, Event, boolean) line: 501	
	ActionContributionItem$5.handleEvent(Event) line: 411	
	EventTable.sendEvent(Event) line: 84	
	Display.sendEvent(EventTable, Event) line: 4164	
	MenuItem(Widget).sendEvent(Event) line: 1466	
	MenuItem(Widget).sendEvent(int, Event, boolean) line: 1489	
	MenuItem(Widget).sendEvent(int, Event) line: 1474	
	MenuItem(Widget).notifyListeners(int, Event) line: 1279	
	Display.runDeferredEvents() line: 4010	
	Display.readAndDispatch() line: 3649	
	PartRenderingEngine$9.run() line: 1108	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 992	
	E4Workbench.createAndRunUI(MApplicationElement) line: 99	
	Workbench$5.run() line: 600	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 555	
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
	IDEApplication.start(IApplicationContext) line: 124	
	EclipseAppHandle.run(Object) line: 196	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 354	
	EclipseStarter.run(String[], Runnable) line: 181	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	Main.invokeFramework(String[], URL[]) line: 636	
	Main.basicRun(String[]) line: 591	
	Main.run(String[]) line: 1450	
	Main.main(String[]) line: 1426
Comment 4 Paul Webster CLA 2013-03-04 11:34:04 EST
Then on the setFocus (and a focus lost event) it goes through getting the root files again, this time the FileSystemStructureProvider lists the subdirs in visitedDirs and won't add them.


Daemon Thread [Thread-1] (Suspended)	
	FileSystemStructureProvider.getChildren(Object) line: 46	
	MinimizedFileSystemElement.populate(IImportStructureProvider) line: 76	
	MinimizedFileSystemElement.getFiles(IImportStructureProvider) line: 44	
	WizardFileSystemResourceImportPage1.createRootElement(Object, IImportStructureProvider) line: 552	
	WizardFileSystemResourceImportPage1$15.run() line: 1024	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	WizardFileSystemResourceImportPage1.selectFiles(Object, IImportStructureProvider) line: 1021	
	WizardFileSystemResourceImportPage1.getFileSystemTree() line: 678	
	WizardFileSystemResourceImportPage1.resetSelection() line: 907	
	WizardFileSystemResourceImportPage1.setSourceName(String) line: 1069	
	WizardFileSystemResourceImportPage1.updateFromSourceField() line: 525	
	WizardFileSystemResourceImportPage1.access$2(WizardFileSystemResourceImportPage1) line: 523	
	WizardFileSystemResourceImportPage1$12.focusLost(FocusEvent) line: 503	
	TypedListener.handleEvent(Event) line: 143	
	EventTable.sendEvent(Event) line: 84	
	Display.sendEvent(EventTable, Event) line: 4164	
	Combo(Widget).sendEvent(Event) line: 1466	
	Combo(Widget).sendEvent(int, Event, boolean) line: 1489	
	Combo(Widget).sendEvent(int) line: 1470	
	Combo(Control).sendFocusEvent(int) line: 3301	
	Display.checkFocus() line: 653	
	Shell.makeFirstResponder(long, long, long) line: 1271	
	Display.windowProc(long, long, long) line: 5651	
	OS.objc_msgSendSuper(objc_super, long, long) line: not available [native method]	
	Shell(Widget).callSuperBoolean(long, long, long) line: 292	
	Shell(Widget).makeFirstResponder(long, long, long) line: 1174	
	Shell.makeFirstResponder(long, long, long) line: 1270	
	Display.windowProc(long, long, long) line: 5651	
	OS.objc_msgSend_bool(long, long, long) line: not available [native method]	
	NSWindow.makeFirstResponder(NSResponder) line: 198	
	Tree(Control).forceFocus(NSView) line: 1445	
	Tree(Control).forceFocus() line: 1425	
	Tree(Control).setFocus() line: 3728	
	Tree(Composite).setFocus() line: 1039	
	ResourceTreeAndListGroup.setFocus() line: 1170	
	WizardFileSystemResourceImportPage1.handleSourceBrowseButtonPressed() line: 805	
	WizardFileSystemResourceImportPage1.handleEvent(Event) line: 776	
	EventTable.sendEvent(Event) line: 84	
	Display.sendEvent(EventTable, Event) line: 4164	
	Button(Widget).sendEvent(Event) line: 1466	
	Button(Widget).sendEvent(int, Event, boolean) line: 1489	
	Button(Widget).sendEvent(int, Event) line: 1474	
	Button(Widget).notifyListeners(int, Event) line: 1279	
	Display.runDeferredEvents() line: 4010	
	Display.readAndDispatch() line: 3649	
	WizardDialog(Window).runEventLoop(Shell) line: 826	
	WizardDialog(Window).open() line: 802	
	WizardHandler$Import.executeHandler(ExecutionEvent) line: 152	
	WizardHandler$Import(WizardHandler).execute(ExecutionEvent) line: 279	
	HandlerProxy.execute(ExecutionEvent) line: 290	
	E4HandlerProxy.execute(IEclipseContext, Map, Event, IEvaluationContext) line: 76	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	MethodRequestor.execute() line: 56	
	InjectorImpl.invokeUsingClass(Object, Class<?>, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier, boolean) line: 231	
	InjectorImpl.invoke(Object, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier) line: 212	
	ContextInjectionFactory.invoke(Object, Class<Annotation>, IEclipseContext, IEclipseContext, Object) line: 131	
	HandlerServiceImpl.executeHandler(ParameterizedCommand, IEclipseContext) line: 204	
	LegacyHandlerService.executeCommand(ParameterizedCommand, Event) line: 515	
	ActionFactory$WorkbenchCommandAction(CommandAction).runWithEvent(Event) line: 157	
	ActionContributionItem.handleWidgetSelection(Event, boolean) line: 584	
	ActionContributionItem.access$2(ActionContributionItem, Event, boolean) line: 501	
	ActionContributionItem$5.handleEvent(Event) line: 411	
	EventTable.sendEvent(Event) line: 84	
	Display.sendEvent(EventTable, Event) line: 4164	
	MenuItem(Widget).sendEvent(Event) line: 1466	
	MenuItem(Widget).sendEvent(int, Event, boolean) line: 1489	
	MenuItem(Widget).sendEvent(int, Event) line: 1474	
	MenuItem(Widget).notifyListeners(int, Event) line: 1279	
	Display.runDeferredEvents() line: 4010	
	Display.readAndDispatch() line: 3649	
	PartRenderingEngine$9.run() line: 1108	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 992	
	E4Workbench.createAndRunUI(MApplicationElement) line: 99	
	Workbench$5.run() line: 600	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 555	
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
	IDEApplication.start(IApplicationContext) line: 124	
	EclipseAppHandle.run(Object) line: 196	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 354	
	EclipseStarter.run(String[], Runnable) line: 181	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	Main.invokeFramework(String[], URL[]) line: 636	
	Main.basicRun(String[]) line: 591	
	Main.run(String[]) line: 1450	
	Main.main(String[]) line: 1426
Comment 5 John Arthorne CLA 2013-03-07 14:11:16 EST
This looks a lot like bug 388574 (extra focus events on mac). Is it reproducible in 4.2.2 or 4.3 M5 or greater?
Comment 6 Justin Ellis CLA 2013-07-16 19:07:18 EDT
I am having this same problem on Max OSX usin version 4.2.2.M20130204-1200
Comment 7 Justin Ellis CLA 2013-07-16 19:07:54 EDT
(In reply to comment #5)
> This looks a lot like bug 388574 (extra focus events on mac). Is it
> reproducible in 4.2.2 or 4.3 M5 or greater?

Yes, reproduced with 4.2.2.
Comment 8 Giovanni Degani CLA 2013-09-17 09:56:55 EDT
I was able to reproduce with Build 4.2 20130225-0426
Comment 9 Daniel Glueck CLA 2013-10-04 14:21:10 EDT
I am having the same problem on Mac OS X 10.8 (latest updates) using Eclipse Kepler 4.3.1 (latest updates). While importing an archive (such as a tarball) works fine, importing from a filesystem which has subdirectories does not display or allow one to select the subdirectories.
Comment 10 Shichao Gao CLA 2014-01-23 01:29:30 EST
Only occur in Mac OS X for me (10.9). I was trying to import a same directory under linux and mac, linux version has no this bug.
Comment 11 Greg Watson CLA 2015-07-06 10:24:23 EDT
This problem persists in Mars and OS X 10.10. It is also a regression, as this worked in previous versions of Eclipse.
Comment 12 Waheed Ghumman CLA 2015-11-22 07:41:44 EST
Solution:
I had the same problem. Here is the workaround for this bug. 
After selecting the folder (from which you want to import), click in "From Directory" text box and press Enter key. You will see all sub-directories immediately. :)
Comment 13 Daniel Ricci CLA 2017-06-05 22:48:43 EDT
Eclipse Java EE IDE for Web Developers.

Version: Neon.3 Release (4.6.3)
Build id: 20170314-1500

As of this version/build, I can confirm that pressing enter while selecting on File Directory will show the arrow icon on the folder, allowing me to see the sub-directories of the folder.  Out of the box, this arrow icon does not display itself.
Comment 14 Eclipse Genie CLA 2020-04-15 02:51:15 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.