commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nickolay Martinov (JIRA)" <>
Subject [jira] Created: (EXEC-56) CommandLine toString() might be confusing for troubleshooting purposes
Date Sat, 26 Feb 2011 11:24:21 GMT
CommandLine toString() might be confusing for troubleshooting purposes

                 Key: EXEC-56
             Project: Commons Exec
          Issue Type: Improvement
    Affects Versions: 1.1
            Reporter: Nickolay Martinov
            Priority: Minor

CommandLine.toString() produces same output for different command lines. This may be very
confusing during troubleshooting and may lead to incorrect assumptions. For example, if actual
command to invoke was sh -c "echo 1" it might be displayed (in debug output for example) as
sh -c echo 1 (that will work incorrectly) and incorrect assumption might be made.

Proposal is to make it clear what every parameter actually is. For example, following code

        CommandLine cmd1 = new CommandLine("sh").addArgument("-c").addArgument("echo 1", false);
        CommandLine cmd2 = new CommandLine("sh").addArgument("-c").addArgument("echo").addArgument("1");
        System.out.println("cmd1: " + cmd1.toString());
        System.out.println("cmd2: " + cmd2.toString());

will produce confusing output

cmd1: sh -c echo 1
cmd2: sh -c echo 1

Same time, following output might be more helpful to figure out cause of some problem or to
prove that there are no problems with how parameters are set:

cmd1: [sh, -c, echo 1]
cmd2: [sh, -c, echo, 1]

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message