Martin Peřina has uploaded a new change for review. Change subject: tools: Adds more argument validations to engine-manage-domains ......................................................................
tools: Adds more argument validations to engine-manage-domains Checks that all entered arguments are valid for specified action (previous behavior was to ignore args that have no meaning for specified action). Change-Id: I7684387b62ce8eeda0416e4d2b3cfb2337cd7f16 Bug-Url: https://bugzilla.redhat.com/1057172 Signed-off-by: Martin Perina <[email protected]> --- M backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomainsArguments.java 1 file changed, 53 insertions(+), 36 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/53/24353/1 diff --git a/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomainsArguments.java b/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomainsArguments.java index 7916c1d..1eb2f87 100644 --- a/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomainsArguments.java +++ b/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomainsArguments.java @@ -164,55 +164,72 @@ /** * Configures argument parser and returns its instance + * + * @param action specified action */ - private ExtendedCliParser initParser() { + private ExtendedCliParser initParser(String action) { ExtendedCliParser parser = new ExtendedCliParser(); - - parser.addArg(new ArgumentBuilder() - .longName(ARG_ADD_PERMISSIONS) - .build()); - - parser.addArg(new ArgumentBuilder() - .longName(ARG_CHANGE_PASSWORD_MSG) - .build()); parser.addArg(new ArgumentBuilder() .longName(ARG_CONFIG_FILE) .valueRequied(true) .build()); - parser.addArg(new ArgumentBuilder() - .longName(ARG_DOMAIN) - .valueRequied(true) - .build()); + if (ACTION_ADD.equals(action) || ACTION_EDIT.equals(action)) { + parser.addArg(new ArgumentBuilder() + .longName(ARG_DOMAIN) + .valueRequied(true) + .build()); - parser.addArg(new ArgumentBuilder() - .longName(ARG_FORCE) - .build()); + parser.addArg(new ArgumentBuilder() + .longName(ARG_PROVIDER) + .valueRequied(true) + .build()); - parser.addArg(new ArgumentBuilder() - .longName(ARG_LDAP_SERVERS) - .valueRequied(true) - .build()); + parser.addArg(new ArgumentBuilder() + .longName(ARG_USER) + .valueRequied(true) + .build()); - parser.addArg(new ArgumentBuilder() - .longName(ARG_PASSWORD_FILE) - .valueRequied(true) - .build()); + parser.addArg(new ArgumentBuilder() + .longName(ARG_ADD_PERMISSIONS) + .build()); - parser.addArg(new ArgumentBuilder() - .longName(ARG_PROVIDER) - .valueRequied(true) - .build()); + parser.addArg(new ArgumentBuilder() + .longName(ARG_LDAP_SERVERS) + .valueRequied(true) + .build()); - parser.addArg(new ArgumentBuilder() - .longName(ARG_REPORT) - .build()); + parser.addArg(new ArgumentBuilder() + .longName(ARG_PASSWORD_FILE) + .valueRequied(true) + .build()); - parser.addArg(new ArgumentBuilder() - .longName(ARG_USER) - .valueRequied(true) - .build()); + parser.addArg(new ArgumentBuilder() + .longName(ARG_CHANGE_PASSWORD_MSG) + .build()); + + } else if (ACTION_DELETE.equals(action)) { + parser.addArg(new ArgumentBuilder() + .longName(ARG_DOMAIN) + .valueRequied(true) + .build()); + + parser.addArg(new ArgumentBuilder() + .longName(ARG_FORCE) + .build()); + + parser.addArg(new ArgumentBuilder() + .longName(ARG_PASSWORD_FILE) + .valueRequied(true) + .build()); + + } else if (ACTION_VALIDATE.equals(action)) { + parser.addArg(new ArgumentBuilder() + .longName(ARG_REPORT) + .build()); + + } return parser; } @@ -258,7 +275,7 @@ if (args.length > 1) { // entered more args than just action, parse them try { - ExtendedCliParser parser = initParser(); + ExtendedCliParser parser = initParser(args[0]); argMap = parser.parse(args, 1, args.length); } catch (IllegalArgumentException ex) { throw new ManageDomainsResult(ManageDomainsResultEnum.ARGUMENT_PARSING_ERROR, ex.getMessage()); -- To view, visit http://gerrit.ovirt.org/24353 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7684387b62ce8eeda0416e4d2b3cfb2337cd7f16 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.4 Gerrit-Owner: Martin Peřina <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
