From 7850dc9de79806a7b58c01cdfb33a7b32cc6bfa5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fr=C3=A9d=C3=A9ric=20Perrin?= Date: Sun, 1 Dec 2019 21:15:53 +0000 Subject: [PATCH] Fix NPE in SetEarthdataAuthentication with no credentials set --- .../settings/SetEarthdataAuthentication.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/tim/prune/function/settings/SetEarthdataAuthentication.java b/src/tim/prune/function/settings/SetEarthdataAuthentication.java index d4a166a..146ed77 100644 --- a/src/tim/prune/function/settings/SetEarthdataAuthentication.java +++ b/src/tim/prune/function/settings/SetEarthdataAuthentication.java @@ -143,25 +143,25 @@ public class SetEarthdataAuthentication extends GenericFunction private void prefillCurrentAuth() { + _usernameField.setText(""); + _passwordField.setText(""); + _authAccepted.setText(" "); + String authString = Config.getConfigString(Config.KEY_EARTHDATA_AUTH); - if (authString == null) - { - _usernameField.setText(""); - _passwordField.setText(""); - } - String decoded = new String(Base64.getDecoder().decode(authString)); - if (decoded.contains(":")) + try { - _usernameField.setText(decoded.split(":", 2)[0]); - _passwordField.setText(decoded.split(":", 2)[1]); + String decoded = new String(Base64.getDecoder().decode(authString)); + if (decoded.contains(":")) + { + _usernameField.setText(decoded.split(":", 2)[0]); + _passwordField.setText(decoded.split(":", 2)[1]); + } } - else + catch (Exception e) { - _usernameField.setText(""); - _passwordField.setText(""); + // empty settings, or invalid base64 data --leave blank + return; } - - _authAccepted.setText(" "); } private void testUsernameAndPassword() -- 2.43.0