Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 289652 - Navigation: Module with non-selectable SubModule cannot be closed (exception)
Summary: Navigation: Module with non-selectable SubModule cannot be closed (exception)
Status: RESOLVED FIXED
Alias: None
Product: Riena
Classification: RT
Component: navigation (show other bugs)
Version: unspecified   Edit
Hardware: PC All
: P2 normal (vote)
Target Milestone: 1.2.0.M2   Edit
Assignee: Steffen Kriese CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-16 16:29 EDT by Elias Volanakis CLA
Modified: 2009-09-18 01:52 EDT (History)
0 users

See Also:


Attachments
Patch (1.02 KB, patch)
2009-09-17 09:22 EDT, Steffen Kriese CLA
elias: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Elias Volanakis CLA 2009-09-16 16:29:03 EDT
To reproduce:

1. Start SWT Example Application > Playground > Selectable Submodule
2. Click on the [x] next to Selectable Submodule

Result: exception thrown, module is not removed.
Expected: module is removed

org.eclipse.riena.navigation.ApplicationModelFailure: viewId is null for nodeId NavNodeId:org.eclipse.riena.example.selectablesubmodule.contracts[null]
	at org.eclipse.riena.navigation.ui.swt.presentation.SwtViewProvider.getViewId(SwtViewProvider.java:131)
	at org.eclipse.riena.navigation.ui.swt.presentation.SwtViewProvider.createAndRegisterSwtViewId(SwtViewProvider.java:90)
	at org.eclipse.riena.navigation.ui.swt.presentation.SwtViewProvider.getSwtViewId(SwtViewProvider.java:61)
	at org.eclipse.riena.navigation.ui.swt.views.SubApplicationView$MySubModuleNodeListener.getViewId(SubApplicationView.java:555)
	at org.eclipse.riena.navigation.ui.swt.views.SubApplicationView$MySubModuleNodeListener.disposed(SubApplicationView.java:515)
	at org.eclipse.riena.navigation.ui.swt.views.SubApplicationView$MySubModuleNodeListener.disposed(SubApplicationView.java:1)
	at org.eclipse.riena.navigation.listener.NavigationTreeObserver$MySubModuleNodeListener.disposed(NavigationTreeObserver.java:1294)
	at org.eclipse.riena.navigation.listener.NavigationTreeObserver$MySubModuleNodeListener.disposed(NavigationTreeObserver.java:1)
	at org.eclipse.riena.navigation.model.NavigationNode.notifyDisposed(NavigationNode.java:902)
	at org.eclipse.riena.navigation.model.NavigationNode.dispose(NavigationNode.java:934)
	at org.eclipse.riena.navigation.model.NavigationProcessor.dispose(NavigationProcessor.java:681)
	at org.eclipse.riena.navigation.model.NavigationProcessor.dispose(NavigationProcessor.java:141)
	at org.eclipse.riena.navigation.model.NavigationNode.dispose(NavigationNode.java:896)
	at org.eclipse.riena.navigation.ui.controllers.ModuleController$WindowListener.closed(ModuleController.java:216)
	at org.eclipse.riena.internal.ui.ridgets.swt.EmbeddedTitleBarRidget$TitleBarListener.windowClosed(EmbeddedTitleBarRidget.java:266)
	at org.eclipse.riena.ui.swt.ModuleTitleBar.fireClosed(ModuleTitleBar.java:71)
	at org.eclipse.riena.ui.swt.ModuleTitleBar.access$0(ModuleTitleBar.java:69)
	at org.eclipse.riena.ui.swt.ModuleTitleBar$TitlebarMouseListener.mouseUp(ModuleTitleBar.java:91)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:207)
	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.Display.runDeferredEvents(Display.java:3880)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.riena.navigation.ui.swt.application.SwtApplication.createView(SwtApplication.java:64)
	at org.eclipse.riena.navigation.ui.application.AbstractApplication.start(AbstractApplication.java:63)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	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:368)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
Comment 1 Elias Volanakis CLA 2009-09-16 16:30:10 EDT
Hi Steffen,

Christian suggested assigning this to you.

Kind regards,
Elias.
Comment 2 Steffen Kriese CLA 2009-09-17 09:22:25 EDT
Created attachment 147438 [details]
Patch

The SWTViewProvider assumes that every SubModuleNode has an associated View, but not selectable SubModuleNodes don't have one, because they just act as a folder in the navigation. That can be fixed pretty easy by just checking if the node to close is selectable or not.
Comment 3 Elias Volanakis CLA 2009-09-18 01:52:35 EDT
Patch applied. Thanks Steffen.