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