slfan1989 commented on code in PR #6199:
URL: https://github.com/apache/hadoop/pull/6199#discussion_r1365864346
##########
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/RouterCLI.java:
##########
@@ -159,43 +214,59 @@ public RouterCLI(Configuration conf) {
}
private static void buildHelpMsg(String cmd, StringBuilder builder) {
- UsageInfo usageInfo = ADMIN_USAGE.get(cmd);
- if (usageInfo == null) {
+ RouterUsageInfos routerUsageInfo = ADMIN_USAGE.get(cmd);
+
+ if (routerUsageInfo == null) {
return;
}
+ builder.append("[").append(cmd).append("]\n");
- if (usageInfo.args != null) {
- String space = (usageInfo.args == "") ? "" : " ";
- builder.append(" ")
- .append(cmd)
- .append(space)
- .append(usageInfo.args)
- .append(": ")
- .append(usageInfo.help);
- } else {
- builder.append(" ")
- .append(cmd)
- .append(": ")
- .append(usageInfo.help);
+ if (!routerUsageInfo.helpInfos.isEmpty()) {
+ builder.append("\t Description: \n");
+ for (String helpInfo : routerUsageInfo.helpInfos) {
+ builder.append("\t\t").append(helpInfo).append("\n\n");
+ }
}
- }
- private static void buildIndividualUsageMsg(String cmd, StringBuilder
builder) {
- UsageInfo usageInfo = ADMIN_USAGE.get(cmd);
- if (usageInfo == null) {
- return;
+ if (!routerUsageInfo.usageInfos.isEmpty()) {
+ builder.append("\t UsageInfos: \n");
+ for (UsageInfo usageInfo : routerUsageInfo.usageInfos) {
+ builder.append("\t\t").append(usageInfo.args)
+ .append(": ")
+ .append("\n\t\t")
+ .append(usageInfo.help).append("\n\n");
+ }
}
- if (usageInfo.args == null) {
- builder.append("Usage: routeradmin [")
- .append(cmd)
- .append("]\n");
- } else {
- String space = (usageInfo.args == "") ? "" : " ";
- builder.append("Usage: routeradmin [")
- .append(cmd)
- .append(space)
- .append(usageInfo.args)
- .append("]\n");
+
+ if (MapUtils.isNotEmpty(routerUsageInfo.examples)) {
+ builder.append("\t Examples: \n");
+ int count = 1;
+ for (Map.Entry<String, RouterExampleUsageInfos> example :
+ routerUsageInfo.examples.entrySet()) {
+ String key = example.getKey();
+ builder.append("\t\t").append("Cmd:").append(count).append(".
").append(key).append(": \n\n");
+ RouterExampleUsageInfos values = example.getValue();
+ if (values == null) {
+ return;
+ }
+ // Print Command Description
+ if (CollectionUtils.isNotEmpty(values.desc)) {
+ builder.append("\t\t").append("Cmd Requirement Description:\n");
+ for (String value : values.desc) {
+ builder.append("\t\t").append(value).append("\n");
+ }
+ }
+ builder.append("\n");
+ // Print Command example
+ if (CollectionUtils.isNotEmpty(values.examples)) {
Review Comment:
I will add unit tests.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]