Fixed SYNCOPE-724
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/d59380af Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/d59380af Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/d59380af Branch: refs/heads/master Commit: d59380af6f3be5412fa283c7c59e759f34ae71f1 Parents: 03b341e Author: massi <massimiliano.perr...@tirasa.net> Authored: Fri Nov 6 12:00:43 2015 +0100 Committer: massi <massimiliano.perr...@tirasa.net> Committed: Fri Nov 6 17:57:22 2015 +0100 ---------------------------------------------------------------------- .../cli/commands/CommonsResultManager.java | 7 ++++- .../client/cli/commands/any/AnyCommand.java | 20 +++----------- .../configuration/ConfigurationCommand.java | 19 +++---------- .../commands/connector/ConnectorCommand.java | 19 +++---------- .../cli/commands/domain/DomainCommand.java | 14 +++------- .../entitlement/EntitlementCommand.java | 21 ++++----------- .../client/cli/commands/group/GroupCommand.java | 20 +++----------- .../cli/commands/install/InstallSetup.java | 8 +++++- .../cli/commands/logger/LoggerCommand.java | 22 +++------------ .../notification/NotificationCommand.java | 15 +++-------- .../cli/commands/policy/PolicyCommand.java | 18 +++---------- .../cli/commands/question/QuestionCommand.java | 15 +++-------- .../client/cli/commands/realm/RealmCommand.java | 12 +++------ .../cli/commands/report/ReportCommand.java | 26 +++--------------- .../cli/commands/resource/ResourceCommand.java | 16 +++-------- .../client/cli/commands/role/RoleCommand.java | 16 +++-------- .../cli/commands/schema/SchemaCommand.java | 19 +++---------- .../cli/commands/self/WorkflowCommand.java | 14 +++------- .../client/cli/commands/task/TaskCommand.java | 27 +++---------------- .../client/cli/commands/user/UserCommand.java | 28 ++++---------------- .../syncope/client/cli/view/Messages.java | 10 ++++++- .../cli/src/main/resources/messages.properties | 18 +++++++++++++ 22 files changed, 114 insertions(+), 270 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/CommonsResultManager.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/CommonsResultManager.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/CommonsResultManager.java index e0f7986..c3f553a 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/CommonsResultManager.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/CommonsResultManager.java @@ -23,6 +23,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; +import org.apache.syncope.client.cli.Command; import org.apache.syncope.client.cli.view.Messages; import org.apache.syncope.client.cli.view.Table; import org.apache.syncope.common.lib.types.ConnConfProperty; @@ -69,6 +70,10 @@ public abstract class CommonsResultManager { Messages.printMessage("Error: " + error); } + public String commandHelpMessage(final Class name) { + return Messages.commandHelpMessage(((Command) name.getAnnotation(Command.class)).name()); + } + protected void printConfiguration(final Set<ConnConfProperty> configurationPropertys) { for (final ConnConfProperty configuration : configurationPropertys) { System.out.println(" name: " + configuration.getSchema().getName()); @@ -84,7 +89,7 @@ public abstract class CommonsResultManager { System.out.println(""); } } - + protected void printDetails(final String title, final Map<String, String> details) { final Table.TableBuilder tableBuilder = new Table.TableBuilder(title).header("detail").header("value"); http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/any/AnyCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/any/AnyCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/any/AnyCommand.java index a8bed99..c4b2159 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/any/AnyCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/any/AnyCommand.java @@ -28,19 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "any") public class AnyCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: any [options]\n" - + " Options:\n" - + " --help \n" - + " --details \n" - + " --list \n" - + " --read \n" - + " Syntax: --read {ANY-ID} {ANY-ID} [...]\n" - + " --read-attr-by-schema-type {ANY-ID} {SCHEMA-TYPE}\n" - + " Schema type: PLAIN / DERIVED / VIRTUAL\n" - + " --read-attr-by-schema {ANY-ID} {SCHEMA-TYPE} {SCHEMA-NAME}\n" - + " Schema type: PLAIN / DERIVED / VIRTUAL\n" - + " --delete \n" - + " Syntax: --delete {ANY-ID} {ANY-ID} [...]\n"; + private final AnyResultManager anyResultManager = new AnyResultManager(); @Override public void execute(final Input input) { @@ -66,16 +54,16 @@ public class AnyCommand extends AbstractCommand { new AnyDelete(input).delete(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new AnyResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + anyResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return anyResultManager.commandHelpMessage(getClass()); } private enum AnyOptions { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationCommand.java index 4ab4a38..00fcdfd 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/configuration/ConfigurationCommand.java @@ -28,18 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "configuration") public class ConfigurationCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: configuration [options]\n" - + " Options:\n" - + " --help \n" - + " --get \n" - + " --read \n" - + " Syntax: --read {CONF-NAME} {CONF-NAME} [...] \n" - + " --update \n" - + " Syntax: --update {CONF-NAME}={CONF-VALUE} {CONF-NAME}={CONF-VALUE} [...]\n" - + " --delete \n" - + " Syntax: --delete {CONF-NAME} {CONF-NAME} [...]\n" - + " --export \n" - + " Syntax: --export {WHERE-DIR}\n"; + private final ConfigurationResultManager configurationResultManager = new ConfigurationResultManager(); @Override public void execute(final Input input) { @@ -63,17 +52,17 @@ public class ConfigurationCommand extends AbstractCommand { case EXPORT: break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new ConfigurationResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + new ConfigurationResultManager().defaultOptionMessage(input.getOption(), getHelpMessage()); break; } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return configurationResultManager.commandHelpMessage(getClass()); } private enum Options { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorCommand.java index 22892a9..b08ecd5 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/connector/ConnectorCommand.java @@ -28,18 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "connector") public class ConnectorCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: connector [options]\n" - + " Options:\n" - + " --help \n" - + " --details \n" - + " --list \n" - + " --list-bundles \n" - + " --list-configuration-properties\n" - + " Syntax: --list-configuration-properties {CONNECTOR-ID} {CONNECTOR-ID} [...]\n" - + " --read \n" - + " Syntax: --read {CONNECTOR-ID} {CONNECTOR-ID} [...]\n" - + " --delete \n" - + " Syntax: --delete {CONNECTOR-ID} {CONNECTOR-ID} [...]\n"; + private final ConnectorResultManager connectorResultManager = new ConnectorResultManager(); @Override public void execute(final Input input) { @@ -70,16 +59,16 @@ public class ConnectorCommand extends AbstractCommand { new ConnectorDelete(input).delete(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new ConnectorResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + connectorResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return connectorResultManager.commandHelpMessage(getClass()); } private enum ConnectorOptions { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainCommand.java index ee3213e..c3a023a 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/domain/DomainCommand.java @@ -28,13 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "domain") public class DomainCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: domain [options]\n" - + " Options:\n" - + " --help \n" - + " --details \n" - + " --list \n" - + " --delete \n" - + " Syntax: --delete {DOMAIN-NAME} {DOMAIN-NAME} [...]\n"; + private final DomainResultManager domainResultManager = new DomainResultManager(); @Override public void execute(final Input input) { @@ -52,16 +46,16 @@ public class DomainCommand extends AbstractCommand { new DomainDelete(input).delete(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new DomainResultManager().deletedMessage(input.getOption(), HELP_MESSAGE); + new DomainResultManager().deletedMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return domainResultManager.commandHelpMessage(getClass()); } private enum Options { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementCommand.java index d380bd4..de35fc3 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/entitlement/EntitlementCommand.java @@ -28,19 +28,8 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "entitlement") public class EntitlementCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: entitlement [options]\n" - + " Options:\n" - + " --help \n" - + " --list\n" - + " --list-role\n" - + " Syntax: --list-role {ENTITLEMENT-NAME}\n" - + " --read-by-username\n" - + " Syntax: --read-by-username {USERNAME}\n" - + " --read-by-userid\n" - + " Syntax: --read-by-userid {USER-ID}\n" - + " --search-by-role\n" - + " Syntax: --search-by-role {ROLE-ID}\n"; - + private final EntitlementResultManager entitlementResultManager = new EntitlementResultManager(); + @Override public void execute(final Input input) { if (StringUtils.isBlank(input.getOption())) { @@ -64,16 +53,16 @@ public class EntitlementCommand extends AbstractCommand { new EntitlementListRole(input).list(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new EntitlementResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + entitlementResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return entitlementResultManager.commandHelpMessage(getClass()); } private enum EntitlementOptions { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/group/GroupCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/group/GroupCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/group/GroupCommand.java index 97edbc5..e5d4e39 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/group/GroupCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/group/GroupCommand.java @@ -28,19 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "group") public class GroupCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: group [options]\n" - + " Options:\n" - + " --help \n" - + " --details \n" - + " --list \n" - + " --read \n" - + " Syntax: --read {GROUP-ID} {GROUP-ID} [...]\n" - + " --read-attr-by-schema-type {GROUP-ID} {SCHEMA-TYPE}\n" - + " Schema type: PLAIN / DERIVED / VIRTUAL\n" - + " --read-attr-by-schema {GROUP-ID} {SCHEMA-TYPE} {SCHEMA-NAME}\n" - + " Schema type: PLAIN / DERIVED / VIRTUAL\n" - + " --delete \n" - + " Syntax: --delete {GROUP-ID} {GROUP-ID} [...]\n"; + private final GroupResultManager groupResultManager = new GroupResultManager(); @Override public void execute(final Input input) { @@ -67,16 +55,16 @@ public class GroupCommand extends AbstractCommand { new GroupDelete(input).delete(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new GroupResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + groupResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return groupResultManager.commandHelpMessage(getClass()); } private enum GroupOptions { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallSetup.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallSetup.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallSetup.java index 003540e..d14a3fd 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallSetup.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/install/InstallSetup.java @@ -19,6 +19,7 @@ package org.apache.syncope.client.cli.commands.install; import java.io.FileNotFoundException; +import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Scanner; import javax.ws.rs.ProcessingException; @@ -169,10 +170,15 @@ public class InstallSetup { try { final SyncopeService syncopeService = SyncopeServices.get(SyncopeService.class); - installResultManager.installationSuccessful(syncopeService.info().getVersion()); + final String syncopeVersion = syncopeService.info().getVersion(); + FileSystemUtils.createScriptFile(); + installResultManager.installationSuccessful(syncopeVersion); } catch (final ProcessingException ex) { LOG.error("Error installing CLI", ex); installResultManager.manageProcessingException(ex); + } catch (final FileNotFoundException | UnsupportedEncodingException e) { + LOG.error("Error writing script file", e); + installResultManager.manageException(e); } catch (final Exception e) { LOG.error("Error installing CLI", e); installResultManager.manageException(e); http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerCommand.java index 482c14e..7452726 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/logger/LoggerCommand.java @@ -28,21 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "logger") public class LoggerCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: logger [options]\n" - + " Options:\n" - + " --help \n" - + " --details \n" - + " --list \n" - + " --read \n" - + " Syntax: --read {LOG-NAME} {LOG-NAME} [...]\n" - + " --update \n" - + " Syntax: --update {LOG-NAME}={LOG-LEVEL} {LOG-NAME}={LOG-LEVEL} [...]\n" - + " --update-all \n" - + " Syntax: --update-all {LOG-LEVEL} \n" - + " --create \n" - + " Syntax: --create {LOG-NAME}={LOG-LEVEL} {LOG-NAME}={LOG-LEVEL} [...]\n" - + " --delete \n" - + " Syntax: --delete {LOG-NAME} {LOG-NAME} [...]\n"; + private final LoggerResultManager loggerResultManager = new LoggerResultManager(); @Override public void execute(final Input input) { @@ -73,16 +59,16 @@ public class LoggerCommand extends AbstractCommand { new LoggerDelete(input).delete(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new LoggerResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + loggerResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return loggerResultManager.commandHelpMessage(getClass()); } private enum LoggerOptions { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationCommand.java index 36c4b3d..3acbda3 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/notification/NotificationCommand.java @@ -28,14 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "notification") public class NotificationCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: notification [options]\n" - + " Options:\n" - + " --help \n" - + " --list \n" - + " --read \n" - + " Syntax: --read {NOTIFICATION-ID} \n" - + " --delete \n" - + " Syntax: --delete {NOTIFICATION-ID}\n"; + private final NotificationResultManager notificationResultManager = new NotificationResultManager(); @Override public void execute(final Input input) { @@ -54,16 +47,16 @@ public class NotificationCommand extends AbstractCommand { new NotificationDelete(input).delete(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new NotificationResultManager().deletedMessage(input.getOption(), HELP_MESSAGE); + notificationResultManager.deletedMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return notificationResultManager.commandHelpMessage(getClass()); } private enum Options { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyCommand.java index 6403049..bceb0d6 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/policy/PolicyCommand.java @@ -28,17 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "policy") public class PolicyCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: policy [options]\n" - + " Options:\n" - + " --help \n" - + " --details \n" - + " --list \n" - + " Syntax: --list-policy {POLICY-TYPE} \n" - + " Policy type: ACCOUNT / PASSWORD / SYNC / PUSH\n" - + " --read \n" - + " Syntax: --read {POLICY-ID} {POLICY-ID} [...]\n" - + " --delete \n" - + " Syntax: --delete {POLICY-ID} {POLICY-ID} [...]\n"; + private final PolicyResultManager policyResultManager = new PolicyResultManager(); @Override public void execute(final Input input) { @@ -60,16 +50,16 @@ public class PolicyCommand extends AbstractCommand { new PolicyDelete(input).delete(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new PolicyResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + policyResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return policyResultManager.commandHelpMessage(getClass()); } private enum Options { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/question/QuestionCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/question/QuestionCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/question/QuestionCommand.java index 9ed995b..bcb2a5f 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/question/QuestionCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/question/QuestionCommand.java @@ -28,14 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "question") public class QuestionCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: question [options]\n" - + " Options:\n" - + " --help \n" - + " --list \n" - + " --read \n" - + " Syntax: --read {QUESTION-ID} {QUESTION-ID} [...]\n" - + " --delete \n" - + " Syntax: --delete {QUESTION-ID} {QUESTION-ID} [...]\n"; + private final QuestionResultManager questionResultManager = new QuestionResultManager(); @Override public void execute(final Input input) { @@ -53,16 +46,16 @@ public class QuestionCommand extends AbstractCommand { case DELETE: break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new QuestionResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + questionResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return questionResultManager.commandHelpMessage(getClass()); } private enum QuestionOptions { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/realm/RealmCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/realm/RealmCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/realm/RealmCommand.java index 1fcf380..db62d91 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/realm/RealmCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/realm/RealmCommand.java @@ -28,11 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "realm") public class RealmCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: realm [options]\n" - + " Options:\n" - + " --help \n" - + " --details \n" - + " --list \n"; + private final RealmResultManager realmResultManager = new RealmResultManager(); @Override public void execute(final Input input) { @@ -47,16 +43,16 @@ public class RealmCommand extends AbstractCommand { new RealmList(input).list(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new RealmResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + realmResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return realmResultManager.commandHelpMessage(getClass()); } private enum RealmOptions { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportCommand.java index 560cf25..fcbf1ae 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/report/ReportCommand.java @@ -28,25 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "report") public class ReportCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: report [options]\n" - + " Options:\n" - + " --help \n" - + " --details\n" - + " --list \n" - + " --list-jobs \n" - + " --read \n" - + " Syntax: --read {REPORT-ID} {REPORT-ID} [...] \n" - + " --delete \n" - + " Syntax: --delete {REPORT-ID} {REPORT-ID} [...]\n" - + " --execute \n" - + " Syntax: --execute {REPORT-ID} \n" - + " --read-execution \n" - + " Syntax: --read-execution {EXECUTION-ID} {EXECUTION-ID} [...]\n" - + " --delete-execution \n" - + " Syntax: --delete-execution {EXECUTION-ID} {EXECUTION-ID} [...]\n" - + " --export-execution-result \n" - + " Syntax: --export-execution-result {EXECUTION-ID} {EXECUTION-ID} [...] {FORMAT}\n" - + " Format: CSV / HTML / PDF / XML / RTF\n"; + private final ReportResultManager reportResultManager = new ReportResultManager(); @Override public void execute(final Input input) { @@ -83,16 +65,16 @@ public class ReportCommand extends AbstractCommand { new ReportExportExecution(input).export(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new ReportResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + reportResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return reportResultManager.commandHelpMessage(getClass()); } private enum Options { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/resource/ResourceCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/resource/ResourceCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/resource/ResourceCommand.java index 4c137c0..ee7a252 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/resource/ResourceCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/resource/ResourceCommand.java @@ -28,15 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "resource") public class ResourceCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: resource [options]\n" - + " Options:\n" - + " --help \n" - + " --details \n" - + " --list \n" - + " --read \n" - + " Syntax: --read {CONNECTOR-ID} {CONNECTOR-ID} [...]\n" - + " --delete \n" - + " Syntax: --delete {CONNECTOR-ID} {CONNECTOR-ID} [...]\n"; + private final ResourceResultManager resourceResultManager = new ResourceResultManager(); @Override public void execute(final Input input) { @@ -58,16 +50,16 @@ public class ResourceCommand extends AbstractCommand { new ResourceDelete(input).delete(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new ResourceResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + resourceResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return resourceResultManager.commandHelpMessage(getClass()); } private enum ResourceOptions { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleCommand.java index 9d73020..818d707 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/role/RoleCommand.java @@ -28,15 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "role") public class RoleCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: role [options]\n" - + " Options:\n" - + " --help \n" - + " --details \n" - + " --list \n" - + " --read \n" - + " Syntax: --read {ROLE-ID} {ROLE-ID} [...]\n" - + " --delete \n" - + " Syntax: --delete {ROLE-ID} {ROLE-ID} [...]\n"; + private final RoleResultManager roleResultManager = new RoleResultManager(); @Override public void execute(final Input input) { @@ -58,16 +50,16 @@ public class RoleCommand extends AbstractCommand { new RoleDelete(input).delete(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new RoleResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + roleResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return roleResultManager.commandHelpMessage(getClass()); } private enum RoleOptions { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaCommand.java index 8e7f146..c4a44ac 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaCommand.java @@ -28,18 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "schema") public class SchemaCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: schema [options]\n" - + " Options:\n" - + " --help \n" - + " --details \n" - + " --list-all\n" - + " --list-plain\n" - + " --list-derived\n" - + " --list-virtual\n" - + " --read {SCHEMA-TYPE} {SCHEMA-KEY}\n" - + " Schema type: PLAIN / DERIVED / VIRTUAL\n" - + " --delete {SCHEMA-TYPE} {SCHEMA-KEY}\n" - + " Schema type: PLAIN / DERIVED / VIRTUAL\n"; + private final SchemaResultManager schemaResultManager = new SchemaResultManager(); @Override public void execute(final Input input) { @@ -73,16 +62,16 @@ public class SchemaCommand extends AbstractCommand { new SchemaDelete(input).delete(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new SchemaResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + schemaResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return schemaResultManager.commandHelpMessage(getClass()); } private enum Options { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowCommand.java index 96643ea..215c865 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/self/WorkflowCommand.java @@ -28,13 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "workflow") public class WorkflowCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: workflow [options]\n" - + " Options:\n" - + " --help \n" - + " --export-diagram {ANY-TYPE-KIND}\n" - + " Any type kind: ANY_OBJECT / USER / GROUP\n" - + " --export-definition {ANY-TYPE-KIND}\n" - + " Any type kind: ANY_OBJECT / USER / GROUP\n"; + private final WorkflowResultManager workflowResultManager = new WorkflowResultManager(); @Override public void execute(final Input input) { @@ -50,16 +44,16 @@ public class WorkflowCommand extends AbstractCommand { new WorkflowExportDefinition(input).export(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new WorkflowResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + workflowResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return workflowResultManager.commandHelpMessage(getClass()); } private enum UserWorkflowOptions { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskCommand.java index 6794667..074e17c 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/task/TaskCommand.java @@ -28,26 +28,7 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "task") public class TaskCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: task [options]\n" - + " Options:\n" - + " --help \n" - + " --details\n" - + " --list\n" - + " Syntax: --list {TASK-TYPE} \n" - + " Task type: NOTIFICATION / PROPAGATION / PUSH / SCHEDULED / SYNCHRONIZATION\n" - + " --list-running-jobs \n" - + " --list-scheduled-jobs \n" - + " --read \n" - + " Syntax: --read {TASK-ID} {TASK-ID} [...]\n" - + " --read-execution \n" - + " Syntax: --read-execution {TASK-EXEC-ID} {TASK-EXEC-ID} [...]\n" - + " --delete \n" - + " Syntax: --delete {TASK-ID} {TASK-ID} [...]\n" - + " --delete-execution \n" - + " Syntax: --delete-execution {TASK-EXEC-ID} {TASK-EXEC-ID} [...]\n" - + " --execute \n" - + " Syntax: --execute {TASK-ID} {DRY-RUN}\n" - + " Dry run: true / false\n"; + private final TaskResultManager taskResultManager = new TaskResultManager(); @Override public void execute(final Input input) { @@ -84,16 +65,16 @@ public class TaskCommand extends AbstractCommand { new TaskExecute(input).execute(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new TaskResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + taskResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return taskResultManager.commandHelpMessage(getClass()); } private enum Options { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserCommand.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserCommand.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserCommand.java index 2637c20..7339f25 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserCommand.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/user/UserCommand.java @@ -28,26 +28,8 @@ import org.apache.syncope.client.cli.commands.AbstractCommand; @Command(name = "user") public class UserCommand extends AbstractCommand { - private static final String HELP_MESSAGE = "\nUsage: user [options]\n" - + " Options:\n" - + " --help \n" - + " --list \n" - + " --details \n" - + " --get-user-key\n" - + " Syntax: --get-user-key {USERNAME} {USERNAME} [...]\n" - + " --get-username\n" - + " Syntax: --get-username {USER-ID} {USER-ID} [...]\n" - + " --read \n" - + " Syntax: --read {USER-ID} {USER-ID} [...]\n" - + " --search-by-attribute \n" - + " Syntax: --search-by-attribute {REALM} {ATTR-NAME}={ATTR-VALUE}\n" - + " --search-by-role \n" - + " Syntax: --search-by-role {REALM} {ROLE-ID}\n" - + " --search-by-resource \n" - + " Syntax: --search-by-resource {REALM} {RESOURCE-NAME}\n" - + " --delete \n" - + " Syntax: --delete {USER-ID} {USER-ID} [...]\n"; - + private final UserResultManager userResultManager = new UserResultManager(); + @Override public void execute(final Input input) { if (StringUtils.isBlank(input.getOption())) { @@ -83,16 +65,16 @@ public class UserCommand extends AbstractCommand { new UserDelete(input).delete(); break; case HELP: - System.out.println(HELP_MESSAGE); + System.out.println(getHelpMessage()); break; default: - new UserResultManager().defaultOptionMessage(input.getOption(), HELP_MESSAGE); + userResultManager.defaultOptionMessage(input.getOption(), getHelpMessage()); } } @Override public String getHelpMessage() { - return HELP_MESSAGE; + return userResultManager.commandHelpMessage(getClass()); } private enum UserOptions { http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/java/org/apache/syncope/client/cli/view/Messages.java ---------------------------------------------------------------------- diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/view/Messages.java b/client/cli/src/main/java/org/apache/syncope/client/cli/view/Messages.java index c062524..c634f84 100644 --- a/client/cli/src/main/java/org/apache/syncope/client/cli/view/Messages.java +++ b/client/cli/src/main/java/org/apache/syncope/client/cli/view/Messages.java @@ -19,9 +19,12 @@ package org.apache.syncope.client.cli.view; import java.util.List; +import java.util.ResourceBundle; public final class Messages { + private static final ResourceBundle MESSAGES = ResourceBundle.getBundle("messages"); + private static final String OPTION_COMMAND_MESSAGE_TEMPLATE = "\n - Usage: %s\n"; private static final String CREATED_MESSAGE_TEMPLATE = "%s %s successfully created"; @@ -89,10 +92,15 @@ public final class Messages { public static void printDefaultMessage(final String option, final String helpMessage) { printMessage(String.format(DEFAULT_MESSAGE_TEMPLATE, option, helpMessage)); } - + public static void printUnnecessaryParameters(final List<String> parameters, final String helpMessage) { printMessage("Unnecessary parameter: " + parameters, "Usage: " + helpMessage); } + + public static String commandHelpMessage(String name) { + return MESSAGES.getString(name + ".help.message"); + } + private Messages() { } http://git-wip-us.apache.org/repos/asf/syncope/blob/d59380af/client/cli/src/main/resources/messages.properties ---------------------------------------------------------------------- diff --git a/client/cli/src/main/resources/messages.properties b/client/cli/src/main/resources/messages.properties new file mode 100644 index 0000000..9c3a38f --- /dev/null +++ b/client/cli/src/main/resources/messages.properties @@ -0,0 +1,18 @@ +any.help.message=\nUsage: any [options]\n Options:\n --help \n --details \n --list \n --read \n Syntax: --read {ANY-ID} {ANY-ID} [...]\n --read-attr-by-schema-type {ANY-ID} {SCHEMA-TYPE}\n Schema type: PLAIN / DERIVED / VIRTUAL\n --read-attr-by-schema {ANY-ID} {SCHEMA-TYPE} {SCHEMA-NAME}\n Schema type: PLAIN / DERIVED / VIRTUAL\n --delete \n Syntax: --delete {ANY-ID} {ANY-ID} [...]\n +configuration.help.message=\nUsage: configuration [options]\n Options:\n --help \n --get \n --read \n Syntax: --read {CONF-NAME} {CONF-NAME} [...] \n --update \n Syntax: --update {CONF-NAME}={CONF-VALUE} {CONF-NAME}={CONF-VALUE} [...]\n --delete \n Syntax: --delete {CONF-NAME} {CONF-NAME} [...]\n --export \n Syntax: --export {WHERE-DIR}\n +connector.help.message=\nUsage: connector [options]\n Options:\n --help \n --details \n --list \n --list-bundles \n --list-configuration-properties\n Syntax: --list-configuration-properties {CONNECTOR-ID} {CONNECTOR-ID} [...]\n --read \n Syntax: --read {CONNECTOR-ID} {CONNECTOR-ID} [...]\n --delete \n Syntax: --delete {CONNECTOR-ID} {CONNECTOR-ID} [...]\n +domain.help.message=\nUsage: domain [options]\n Options:\n --help \n --details \n --list \n --delete \n Syntax: --delete {DOMAIN-NAME} {DOMAIN-NAME} [...]\n +entitlement.help.message=\nUsage: entitlement [options]\n Options:\n --help \n --list\n --list-role\n Syntax: --list-role {ENTITLEMENT-NAME}\n --read-by-username\n Syntax: --read-by-username {USERNAME}\n --read-by-userid\n Syntax: --read-by-userid {USER-ID}\n --search-by-role\n Syntax: --search-by-role {ROLE-ID}\n +group.help.message=\nUsage: group [options]\n Options:\n --help \n --details \n --list \n --read \n Syntax: --read {GROUP-ID} {GROUP-ID} [...]\n --read-attr-by-schema-type {GROUP-ID} {SCHEMA-TYPE}\n Schema type: PLAIN / DERIVED / VIRTUAL\n --read-attr-by-schema {GROUP-ID} {SCHEMA-TYPE} {SCHEMA-NAME}\n Schema type: PLAIN / DERIVED / VIRTUAL\n --delete \n Syntax: --delete {GROUP-ID} {GROUP-ID} [...]\n +logger.help.message=\nUsage: logger [options]\n Options:\n --help \n --details \n --list \n --read \n Syntax: --read {LOG-NAME} {LOG-NAME} [...]\n --update \n Syntax: --update {LOG-NAME}={LOG-LEVEL} {LOG-NAME}={LOG-LEVEL} [...]\n --update-all \n Syntax: --update-all {LOG-LEVEL} \n --create \n Syntax: --create {LOG-NAME}={LOG-LEVEL} {LOG-NAME}={LOG-LEVEL} [...]\n --delete \n Syntax: --delete {LOG-NAME} {LOG-NAME} [...]\n +notification.help.message=\nUsage: notification [options]\n Options:\n --help \n --list \n --read \n Syntax: --read {NOTIFICATION-ID} \n --delete \n Syntax: --delete {NOTIFICATION-ID}\n +policy.help.message=\nUsage: policy [options]\n Options:\n --help \n --details \n --list \n Syntax: --list-policy {POLICY-TYPE} \n Policy type: ACCOUNT / PASSWORD / SYNC / PUSH\n --read \n Syntax: --read {POLICY-ID} {POLICY-ID} [...]\n --delete \n Syntax: --delete {POLICY-ID} {POLICY-ID} [...]\n +question.help.message=\nUsage: question [options]\n Options:\n --help \n --list \n --read \n Syntax: --read {QUESTION-ID} {QUESTION-ID} [...]\n --delete \n Syntax: --delete {QUESTION-ID} {QUESTION-ID} [...]\n +realm.help.message=\nUsage: realm [options]\n Options:\n --help \n --details \n --list \n +report.help.message=\nUsage: report [options]\n Options:\n --help \n --details\n --list \n --list-jobs \n --read \n Syntax: --read {REPORT-ID} {REPORT-ID} [...] \n --delete \n Syntax: --delete {REPORT-ID} {REPORT-ID} [...]\n --execute \n Syntax: --execute {REPORT-ID} \n --read-execution \n Syntax: --read-execution {EXECUTION-ID} {EXECUTION-ID} [...]\n --delete-execution \n Syntax: --delete-execution {EXECUTION-ID} {EXECUTION-ID} [...]\n --export-execution-result \n Syntax: --export-execution-result {EXECUTION-ID} {EXECUTION-ID} [...] {FORMAT}\n Format: CSV / HTML / PDF / XML / RTF\n +resource.help.message=\nUsage: resource [options]\n Options:\n --help \n --details \n --list \n --read \n Syntax: --read {CONNECTOR-ID} {CONNECTOR-ID} [...]\n --delete \n Syntax: --delete {CONNECTOR-ID} {CONNECTOR-ID} [...]\n +role.help.message=\nUsage: role [options]\n Options:\n --help \n --details \n --list \n --read \n Syntax: --read {ROLE-ID} {ROLE-ID} [...]\n --delete \n Syntax: --delete {ROLE-ID} {ROLE-ID} [...]\n +schema.help.message=\nUsage: schema [options]\n Options:\n --help \n --details \n --list-all\n --list-plain\n --list-derived\n --list-virtual\n --read {SCHEMA-TYPE} {SCHEMA-KEY}\n Schema type: PLAIN / DERIVED / VIRTUAL\n --delete {SCHEMA-TYPE} {SCHEMA-KEY}\n Schema type: PLAIN / DERIVED / VIRTUAL\n +task.help.message=\nUsage: task [options]\n Options:\n --help \n --details\n --list\n Syntax: --list {TASK-TYPE} \n Task type: NOTIFICATION / PROPAGATION / PUSH / SCHEDULED / SYNCHRONIZATION\n --list-running-jobs \n --list-scheduled-jobs \n --read \n Syntax: --read {TASK-ID} {TASK-ID} [...]\n --read-execution \n Syntax: --read-execution {TASK-EXEC-ID} {TASK-EXEC-ID} [...]\n --delete \n Syntax: --delete {TASK-ID} {TASK-ID} [...]\n --delete-execution \n Syntax: --delete-execution {TASK-EXEC-ID} {TASK-EXEC-ID} [...]\n --execute \n Syntax: --execute {TASK-ID} {DRY-RUN}\n Dry run: true / false\n +user.help.message=\nUsage: user [options]\n Options:\n --help \n --list \n --details \n --get-user-key\n Syntax: --get-user-key {USERNAME} {USERNAME} [...]\n --get-username\n Syntax: --get-username {USER-ID} {USER-ID} [...]\n --read \n Syntax: --read {USER-ID} {USER-ID} [...]\n --search-by-attribute \n Syntax: --search-by-attribute {REALM} {ATTR-NAME}={ATTR-VALUE}\n --search-by-role \n Syntax: --search-by-role {REALM} {ROLE-ID}\n --search-by-resource \n Syntax: --search-by-resource {REALM} {RESOURCE-NAME}\n --delete \n Syntax: --delete {USER-ID} {USER-ID} [...]\n +workflow.help.message=\nUsage: workflow [options]\n Options:\n --help \n --export-diagram {ANY-TYPE-KIND}\n Any type kind: ANY_OBJECT / USER / GROUP\n --export-definition {ANY-TYPE-KIND}\n Any type kind: ANY_OBJECT / USER / GROUP\n \ No newline at end of file