[jbosstools-issues] [JBoss JIRA] (JBIDE-14632) "could not store password" logged whenever right clicking user/navigating tree

Andre Dietisheim (JIRA) jira-events at lists.jboss.org
Fri May 24 14:00:06 EDT 2013


    [ https://issues.jboss.org/browse/JBIDE-14632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12776946#comment-12776946 ] 

Andre Dietisheim edited comment on JBIDE-14632 at 5/24/13 1:58 PM:
-------------------------------------------------------------------

Another issue is the validation in the various Actions of the OpenShift Explorer. The above stack-trace shows that the error is caused by DeleteDomainAction#validate:

{code}
at org.jboss.tools.openshift.express.internal.ui.action.DeleteDomainAction.validate(DeleteDomainAction.java:47)
{code}

{code:title=DeleteDomainAction} 
@Override
public void validate() {
	boolean enable = false;
	final Connection connection = UIUtils.getFirstElement(getSelection(), Connection.class);
	if (connection != null) {
		if (connection.isConnected()) {
			try {
				if (connection.getDefaultDomain() != null) {
					enable = true;
				}
			} catch (OpenShiftException e) {
				Logger.warn("Failed to retrieve User domain, prompting for creation", e);
			}
		}
	}
	setEnabled(enable);
}
{code}

Validate should not do long-running taks, should not do remoting like the one here. We should review all actions to NOT do remoting (above: connection.getDefaultDomain()). They should all fail lenient:
Stay enabled even though eventually not possible (ex. there's no domain) and fail when executed: "no domain present, cannot delete".
                
      was (Author: adietish):
    Another issue is the validation in the various Actions of the OpenShift Explorer. The above stack-trace shows that the error is caused by DeleteDomainAction#validate:

{code}
at org.jboss.tools.openshift.express.internal.ui.action.DeleteDomainAction.validate(DeleteDomainAction.java:47)
{code}

{code:title=DeleteDomainAction} 
@Override
public void validate() {
	boolean enable = false;
	final Connection connection = UIUtils.getFirstElement(getSelection(), Connection.class);
	if (connection != null) {
		if (connection.isConnected()) {
			try {
				if (connection.getDefaultDomain() != null) {
					enable = true;
				}
			} catch (OpenShiftException e) {
				Logger.warn("Failed to retrieve User domain, prompting for creation", e);
			}
		}
	}
	setEnabled(enable);
}
{code}

Validate should not do long-running taks, should not do remoting like the one here. We should review all actions to NOT do remoting. They should all fail lenient:
Stay enbaled even though eventually not possible (ex. there's no domain) and fail when executed: "no domain present, cannot delete".
                  
> "could not store password" logged whenever right clicking user/navigating tree
> ------------------------------------------------------------------------------
>
>                 Key: JBIDE-14632
>                 URL: https://issues.jboss.org/browse/JBIDE-14632
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: openshift
>    Affects Versions: 4.1.0.Beta1
>            Reporter: Max Rydahl Andersen
>            Assignee: Andre Dietisheim
>             Fix For: 4.1.0.Beta2
>
>
> created connection.
> get bunch of these stacktraces - especially when right clicking on the node.
> {code}
> org.jboss.tools.openshift.express.internal.ui.utils.SecurePasswordStoreException: Could not store password
> 	at org.jboss.tools.openshift.express.internal.ui.utils.SecurePasswordStore.storeInPreferences(SecurePasswordStore.java:102)
> 	at org.jboss.tools.openshift.express.internal.ui.utils.SecurePasswordStore.update(SecurePasswordStore.java:56)
> 	at org.jboss.tools.openshift.express.internal.ui.utils.SecurePasswordStore.setPassword(SecurePasswordStore.java:50)
> 	at org.jboss.tools.openshift.express.internal.core.connection.Connection.saveOrClearPassword(Connection.java:441)
> 	at org.jboss.tools.openshift.express.internal.core.connection.Connection.save(Connection.java:430)
> 	at org.jboss.tools.openshift.express.internal.core.connection.Connection.connect(Connection.java:196)
> 	at org.jboss.tools.openshift.express.internal.core.connection.Connection.getDefaultDomain(Connection.java:332)
> 	at org.jboss.tools.openshift.express.internal.ui.action.DeleteDomainAction.validate(DeleteDomainAction.java:47)
> 	at org.jboss.tools.openshift.express.internal.ui.explorer.actionProvider.AbstractOpenShiftExplorerViewerActionProvider.fillContextMenu(AbstractOpenShiftExplorerViewerActionProvider.java:50)
> 	at org.eclipse.ui.navigator.NavigatorActionService$2.run(NavigatorActionService.java:221)
> 	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> 	at org.eclipse.ui.navigator.NavigatorActionService.addCommonActionProviderMenu(NavigatorActionService.java:216)
> 	at org.eclipse.ui.navigator.NavigatorActionService.fillContextMenu(NavigatorActionService.java:173)
> 	at org.eclipse.ui.navigator.CommonNavigatorManager.fillContextMenu(CommonNavigatorManager.java:260)
> 	at org.eclipse.ui.navigator.CommonNavigatorManager$4.menuAboutToShow(CommonNavigatorManager.java:275)
> 	at org.eclipse.jface.action.MenuManager.fireAboutToShow(MenuManager.java:343)
> 	at org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:475)
> 	at org.eclipse.jface.action.MenuManager.access$1(MenuManager.java:470)
> 	at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:500)
> 	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:255)
> 	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> 	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4164)
> 	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
> 	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1489)
> 	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1470)
> 	at org.eclipse.swt.widgets.Menu.menuWillOpen(Menu.java:806)
> 	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5606)
> 	at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
> 	at org.eclipse.swt.internal.cocoa.NSMenu.popUpContextMenu(NSMenu.java:77)
> 	at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:278)
> 	at org.eclipse.swt.widgets.Display.runPopups(Display.java:4087)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3642)
> 	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1109)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> 	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:993)
> 	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
> 	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> 	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
> 	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
> 	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
> 	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:354)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:601)
> 	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
> Caused by: org.eclipse.equinox.security.storage.StorageException: No password provided.
> 	at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getModulePassword(SecurePreferencesRoot.java:304)
> 	at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getPassword(SecurePreferencesRoot.java:224)
> 	at org.eclipse.equinox.internal.security.storage.SecurePreferences.put(SecurePreferences.java:224)
> 	at org.eclipse.equinox.internal.security.storage.SecurePreferencesWrapper.put(SecurePreferencesWrapper.java:110)
> 	at org.jboss.tools.openshift.express.internal.ui.utils.SecurePasswordStore.storeInPreferences(SecurePasswordStore.java:99)
> 	... 52 more
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jbosstools-issues mailing list