crossoverJie commented on code in PR #22303:
URL: https://github.com/apache/pulsar/pull/22303#discussion_r1530653407


##########
pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/converters/ByteUnitToLongConverter.java:
##########
@@ -18,22 +18,16 @@
  */
 package org.apache.pulsar.cli.converters;
 
-import static org.apache.pulsar.cli.ValueValidationUtil.emptyCheck;
-import com.beust.jcommander.converters.BaseConverter;
+import picocli.CommandLine;
 
-public class ByteUnitToLongConverter extends BaseConverter<Long> {
-
-    public ByteUnitToLongConverter(String optionName) {
-        super(optionName);
-    }
+public class ByteUnitToLongConverter implements 
CommandLine.ITypeConverter<Long> {

Review Comment:
   Done.



##########
pulsar-testclient/src/main/java/org/apache/pulsar/testclient/CmdGenerateDocumentation.java:
##########
@@ -80,36 +81,36 @@ public static void main(String[] args) throws Exception {
             Class<?> clazz = entry.getValue();
             Constructor<?> constructor = clazz.getDeclaredConstructor();
             constructor.setAccessible(true);
-            jc.addCommand(cmd, constructor.newInstance());
+            commander.addSubcommand(cmd, constructor.newInstance());
         }
 
         if (arguments.commandNames.size() == 0) {
-            for (Map.Entry<String, JCommander> cmd : 
jc.getCommands().entrySet()) {
-                generateDocument(cmd.getKey(), jc);
+            for (Map.Entry<String, CommandLine> cmd : 
commander.getSubcommands().entrySet()) {
+                generateDocument(cmd.getKey(), commander);
             }
         } else {
             for (String commandName : arguments.commandNames) {
-                generateDocument(commandName, jc);
+                generateDocument(commandName, commander);
             }
         }
     }
 
-    private static String generateDocument(String module, JCommander 
parentCmd) {
+    private static String generateDocument(String module, CommandLine 
parentCmd) {
         StringBuilder sb = new StringBuilder();
-        JCommander cmd = parentCmd.getCommands().get(module);
+        CommandLine cmd = parentCmd.getSubcommands().get(module);
         sb.append("## ").append(module).append("\n\n");
-        
sb.append(parentCmd.getUsageFormatter().getCommandDescription(module)).append("\n");
+        sb.append(cmd.getCommandName()).append("\n");
         sb.append("\n\n```shell\n")
                 .append("$ pulsar-perf ").append(module).append(" [options]")
                 .append("\n```");
         sb.append("\n\n");
         sb.append("|Flag|Description|Default|\n");
         sb.append("|---|---|---|\n");
-        List<ParameterDescription> options = cmd.getParameters();
-        options.stream().filter(ele -> 
!ele.getParameterAnnotation().hidden()).forEach((option) ->
-                sb.append("| `").append(option.getNames())
-                        .append("` | 
").append(option.getDescription().replace("\n", " "))
-                        .append("|").append(option.getDefault()).append("|\n")
+        List<CommandLine.Model.OptionSpec> options = 
cmd.getCommandSpec().options();
+        options.stream().filter(ele -> !ele.hidden()).forEach((option) ->
+                sb.append("| `").append(Arrays.toString(option.names()))

Review Comment:
   Done.



##########
pulsar-testclient/src/main/java/org/apache/pulsar/testclient/LoadSimulationController.java:
##########
@@ -82,50 +83,50 @@ public class LoadSimulationController {
 
     private static final ExecutorService threadPool = 
Executors.newCachedThreadPool();
 
-    // JCommander arguments for starting a controller via main.
-    @Parameters(commandDescription = "Provides a shell for the user to dictate 
how simulation clients should "
+    // picocli arguments for starting a controller via main.
+    @Command(description = "Provides a shell for the user to dictate how 
simulation clients should "

Review Comment:
   Done.



-- 
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]

Reply via email to