CommandLine toString() might be confusing for troubleshooting purposes
----------------------------------------------------------------------

                 Key: EXEC-56
                 URL: https://issues.apache.org/jira/browse/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: http://www.atlassian.com/software/jira

        

Reply via email to