[
https://issues.jboss.org/browse/JBIDE-21877?page=com.atlassian.jira.plugi...
]
Viacheslav Kabanovich edited comment on JBIDE-21877 at 3/16/16 1:35 PM:
------------------------------------------------------------------------
NPE in error log is an evidence of a bug, it should be fixed. To show a tree item, or a
message is a solution that can be applied only after the bug is fixed for the code calling
authentication could catch a specific exception that explains the problem. NPE is not good
for analysing because it is not specific and just because it can be fixed upstream.
In this case exception is thrown at request for authorization context. It is a role of the
context to answer if user is authorized, or if his token expired. So, ideally, the context
should be returned without any exceptions, at least when the problem is the expired
token.
was (Author: scabanovich):
NPE in error log is an evidence of a bug, it should be fixed. To show a tree item, or a
message is a solution that can be applied only after the bug is fixed for the code calling
authentication could catch a specific exception that explains the problem. NPE is not good
for analysing because it is not specific and just because it can be fixed upstream.
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)