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

Reply via email to