From bfc98cc0abf267826129e7c96cea0aae279f546b Mon Sep 17 00:00:00 2001 From: Michal Petrov Date: Mon, 24 Apr 2017 13:41:25 +0200 Subject: [PATCH 1/2] ELY-1084: show error when removing non-existent alias --- .../security/tool/CredentialStoreCommand.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/wildfly/security/tool/CredentialStoreCommand.java b/src/main/java/org/wildfly/security/tool/CredentialStoreCommand.java index e5c2123..c656a6f 100644 --- a/src/main/java/org/wildfly/security/tool/CredentialStoreCommand.java +++ b/src/main/java/org/wildfly/security/tool/CredentialStoreCommand.java @@ -185,10 +185,16 @@ public void execute(String[] args) throws Exception { setStatus(ElytronTool.ElytronToolExitStatus_OK); } else if (cmdLine.hasOption(REMOVE_ALIAS_PARAM)) { String alias = cmdLine.getOptionValue(REMOVE_ALIAS_PARAM); - credentialStore.remove(alias, entryTypeToCredential(entryType)); - credentialStore.flush(); - System.out.println(ElytronToolMessages.msg.aliasRemoved(alias)); - setStatus(ElytronTool.ElytronToolExitStatus_OK); + if (credentialStore.exists(alias, entryTypeToCredential(entryType))) { + credentialStore.remove(alias, entryTypeToCredential(entryType)); + credentialStore.flush(); + System.out.println(ElytronToolMessages.msg.aliasRemoved(alias)); + setStatus(ElytronTool.ElytronToolExitStatus_OK); + } else { + System.out.println(ElytronToolMessages.msg.aliasDoesNotExist(alias)); + setStatus(ALIAS_NOT_FOUND); + } + } else if (cmdLine.hasOption(CHECK_ALIAS_PARAM)) { String alias = cmdLine.getOptionValue(CHECK_ALIAS_PARAM); if (credentialStore.exists(alias, entryTypeToCredential(entryType))) { From 050fad3510292d014fbffe71c5282b7549e3648e Mon Sep 17 00:00:00 2001 From: Michal Petrov Date: Mon, 24 Apr 2017 13:42:04 +0200 Subject: [PATCH 2/2] correctly report no aliases --- .../security/tool/CredentialStoreCommand.java | 12 ++++++++---- .../wildfly/security/tool/ElytronToolMessages.java | 3 +++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/wildfly/security/tool/CredentialStoreCommand.java b/src/main/java/org/wildfly/security/tool/CredentialStoreCommand.java index c656a6f..e30877c 100644 --- a/src/main/java/org/wildfly/security/tool/CredentialStoreCommand.java +++ b/src/main/java/org/wildfly/security/tool/CredentialStoreCommand.java @@ -206,11 +206,15 @@ public void execute(String[] args) throws Exception { } } else if (cmdLine.hasOption(ALIASES_PARAM)) { Set aliases = credentialStore.getAliases(); - StringBuilder list = new StringBuilder(); - for (String alias: aliases) { - list.append(alias).append(" "); + if (aliases.size() != 0) { + StringBuilder list = new StringBuilder(); + for (String alias: aliases) { + list.append(alias).append(" "); + } + System.out.println(ElytronToolMessages.msg.aliases(list.toString())); + } else { + System.out.println(ElytronToolMessages.msg.noAliases()); } - System.out.println(ElytronToolMessages.msg.aliases(list.toString())); setStatus(ElytronTool.ElytronToolExitStatus_OK); } else { setStatus(ACTION_NOT_DEFINED); diff --git a/src/main/java/org/wildfly/security/tool/ElytronToolMessages.java b/src/main/java/org/wildfly/security/tool/ElytronToolMessages.java index 8861488..f1bf865 100644 --- a/src/main/java/org/wildfly/security/tool/ElytronToolMessages.java +++ b/src/main/java/org/wildfly/security/tool/ElytronToolMessages.java @@ -131,6 +131,9 @@ public interface ElytronToolMessages extends BasicLogger { @Message(id = NONE, value = "Credential store contains following aliases: %s") String aliases(String aliases); + @Message(id = NONE, value = "Credential store contains no aliases") + String noAliases(); + @Message(id = NONE, value = "Action to perform on the credential store is not defined") Exception actionToPerformNotDefined();