[
https://issues.jboss.org/browse/JBIDE-21877?page=com.atlassian.jira.plugi...
]
Viacheslav Kabanovich edited comment on JBIDE-21877 at 3/30/16 4:33 PM:
------------------------------------------------------------------------
[~jcantrill], some org.eclipse.epp.internal.mpc.core.MarketplaceClientCorePlugin at start
calls ProxyHelper.acquireProxyService() which sets that evil
ProxyHelper.ProxyAuthenticator as the default authenticator. It remembers the previous
authenticator, and is ready to restore it when it finds no proxies - but here NPE because
of missing requestingURL prevents that. So, I think, we can in
OpenShiftCredentialsProvider override SystemDefaultCredentialsProvider so that it would
call Authenticator.requestPasswordAuthentication with non-null URL, actually any, just
localhost, then ProxyAuthenticator will find no proxies and turn to 'delegate' -
that is previous authenticator replaced by epp.
And actually, they at epp.mpc just one month ago fixed another NPE in that class (see
https://bugs.eclipse.org/bugs/show_bug.cgi?id=487975,
https://github.com/eclipse/epp.mpc/commit/130d33d3cfd152635be4ab9f876b633...).
Maybe we can kindly ask themto fix this one too.
was (Author: scabanovich):
[~jcantrill], some org.eclipse.epp.internal.mpc.core.MarketplaceClientCorePlugin at start
calls ProxyHelper.acquireProxyService() which sets that evil
ProxyHelper.ProxyAuthenticator as the default authenticator. It remembers the previous
authenticator, and is ready to restore it when it finds no proxies - but here NPE because
of missing requestingURL prevents that. So, I think, we can in
OpenShiftCredentialsProvider override SystemDefaultCredentialsProvider so that it would
call Authenticator.requestPasswordAuthentication with non-null URL, actually any, just
localhost, then ProxyAuthenticator will find no proxies and turn to 'delegate' -
that is previous authenticator replaced by epp.
And actually, they at epp.mpc jjust one month ago fixed another NPE in that class (see
epp.mpc,
https://github.com/eclipse/epp.mpc/commit/130d33d3cfd152635be4ab9f876b633...).
Maybe we can kindly ask themto fix this one too.
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
Assignee: Viacheslav Kabanovich
Labels: connection, openshift_v3
Fix For: 4.4.0.Alpha1
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)