diff options
Diffstat (limited to 'base/java-tools/src/com/netscape')
| -rw-r--r-- | base/java-tools/src/com/netscape/cmstools/cli/CLI.java | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/cli/CLI.java b/base/java-tools/src/com/netscape/cmstools/cli/CLI.java index abe0883b1..6bd7d69ab 100644 --- a/base/java-tools/src/com/netscape/cmstools/cli/CLI.java +++ b/base/java-tools/src/com/netscape/cmstools/cli/CLI.java @@ -18,6 +18,8 @@ package com.netscape.cmstools.cli; +import java.util.ArrayList; +import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; @@ -91,6 +93,10 @@ public class CLI { return parent; } + public boolean isDeprecated() { + return getClass().getAnnotation(Deprecated.class) != null; + } + public CLI getModule(String name) { return modules.get(name); } @@ -112,14 +118,25 @@ public class CLI { return null; } - public void printHelp() { + public Collection<CLI> getDeprecatedModules() { + Collection<CLI> list = new ArrayList<CLI>(); + for (CLI module : modules.values()) { + if (!module.isDeprecated()) continue; + list.add(module); + } + return list; + } - System.out.println("Commands:"); + public void printHelp() { int leftPadding = 1; int rightPadding = 25; + System.out.println("Commands:"); + for (CLI module : modules.values()) { + if (module.isDeprecated()) continue; + String label = module.getFullName(); int padding = rightPadding - leftPadding - label.length(); @@ -131,6 +148,26 @@ public class CLI { System.out.print(StringUtils.repeat(" ", padding)); System.out.println(module.getDescription()); } + + Collection<CLI> deprecatedModules = getDeprecatedModules(); + + if (!deprecatedModules.isEmpty()) { + System.out.println(); + System.out.println("Deprecated:"); + + for (CLI module : deprecatedModules) { + String label = module.getFullName(); + + int padding = rightPadding - leftPadding - label.length(); + if (padding < 1) + padding = 1; + + System.out.print(StringUtils.repeat(" ", leftPadding)); + System.out.print(label); + System.out.print(StringUtils.repeat(" ", padding)); + System.out.println(module.getDescription()); + } + } } public void execute(String[] args) throws Exception { |
