[jbosstools-issues] [JBoss JIRA] (JBIDE-21877) Make error message shown in OpenShift Explorer for outdated token more user friendly

Viacheslav Kabanovich (JIRA) issues at jboss.org
Wed Mar 16 10:40:00 EDT 2016


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

Viacheslav Kabanovich commented on JBIDE-21877:
-----------------------------------------------

org.eclipse.epp.internal.mpc.core.util.ProxyHelper$ProxyAuthenticator does not check requestingURL for null.
org.apache.http.impl.client.SystemDefaultCredentialsProvider uses Authenticator.requestPasswordAuthentication() that does not set URL so that getRequestingURL() returns null. 

It is not good to try to catch NPE to make user friendly conclusions. Maybe issue can be fixed by overriding SystemDefaultCredentialsProvider in openshift-restclient-java.

> Make error message shown in OpenShift Explorer for outdated token more user friendly
> ------------------------------------------------------------------------------------
>
>                 Key: JBIDE-21877
>                 URL: https://issues.jboss.org/browse/JBIDE-21877
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: openshift
>    Affects Versions: 4.3.1.CR1
>            Reporter: Marián Labuda
>              Labels: connection, openshift_v3
>
> When I am trying to connect to OpenShift connection with outdated token stored in secure storage, an error tree item is shown in OpenShift Explorer under the connection. Erro tree item is "java.lang.NullPointerException", but it could be something more user friendly such as "Expired credentials" or the one we are already using in other scenarious - You must obtain an API token by .... Following stack trace is in error log
> {code}
> There was an error retrieving children in the OpenShift explorer
> java.lang.NullPointerException
> 	at org.eclipse.epp.internal.mpc.core.util.ProxyHelper$ProxyAuthenticator.getPasswordAuthentication(ProxyHelper.java:124)
> 	at java.net.Authenticator.requestPasswordAuthentication(Authenticator.java:317)
> 	at org.apache.http.impl.client.SystemDefaultCredentialsProvider.getSystemCreds(SystemDefaultCredentialsProvider.java:92)
> 	at org.apache.http.impl.client.SystemDefaultCredentialsProvider.getCredentials(SystemDefaultCredentialsProvider.java:113)
> 	at com.openshift.internal.restclient.authorization.OpenShiftCredentialsProvider.getCredentials(OpenShiftCredentialsProvider.java:69)
> 	at org.apache.http.impl.client.AuthenticationStrategyImpl.select(AuthenticationStrategyImpl.java:184)
> 	at org.apache.http.impl.client.TargetAuthenticationStrategy.select(TargetAuthenticationStrategy.java:43)
> 	at org.apache.http.impl.auth.HttpAuthenticator.handleAuthChallenge(HttpAuthenticator.java:154)
> 	at org.apache.http.impl.execchain.MainClientExec.needAuthentication(MainClientExec.java:557)
> 	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:275)
> 	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
> 	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
> 	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
> 	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
> 	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
> 	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
> 	at com.openshift.internal.restclient.authorization.AuthorizationClient.getContextUsingCredentials(AuthorizationClient.java:134)
> 	at com.openshift.internal.restclient.authorization.AuthorizationClient.getContext(AuthorizationClient.java:99)
> 	at com.openshift.internal.restclient.DefaultClient.getContext(DefaultClient.java:504)
> 	at org.jboss.tools.openshift.core.connection.Connection.authorize(Connection.java:236)
> 	at org.jboss.tools.openshift.core.connection.Connection.connect(Connection.java:226)
> 	at org.jboss.tools.openshift.core.connection.Connection.retryList(Connection.java:445)
> 	at org.jboss.tools.openshift.core.connection.Connection.getResources(Connection.java:389)
> 	at org.jboss.tools.openshift.core.connection.Connection.getResources(Connection.java:376)
> 	at org.jboss.tools.openshift.internal.ui.models.OpenShiftProjectCache.getProjectsFor(OpenShiftProjectCache.java:59)
> 	at org.jboss.tools.openshift.internal.ui.explorer.OpenShiftExplorerContentProvider.getChildrenFor(OpenShiftExplorerContentProvider.java:93)
> 	at org.jboss.tools.openshift.internal.common.ui.explorer.BaseExplorerContentProvider$1.run(BaseExplorerContentProvider.java:167)
> 	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)



More information about the jbosstools-issues mailing list