EXEC_1_0_0 | Tue Feb 24 01:03:17 JST 2009 | 7c5d81 | 37 | private final Vector arguments = new Vector(); |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 62 | return parse(line, null); |
sandbox | Sun Mar 12 21:07:59 JST 2006 | a3538e | 75 | if (line == null) { |
sandbox | Sun Mar 12 21:07:59 JST 2006 | a3538e | 77 | } else if (line.trim().length() == 0) { |
sandbox | Sun Mar 12 21:07:59 JST 2006 | a3538e | 80 | String[] tmp = translateCommandline(line); |
sandbox | Sun Mar 12 21:07:59 JST 2006 | a3538e | 82 | CommandLine cl = new CommandLine(tmp[0]); |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 83 | cl.setSubstitutionMap(substitutionMap); |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 84 | for (int i = 1; i < tmp.length; i++) { |
sandbox | Sun Mar 12 21:07:59 JST 2006 | a3538e | 88 | return cl; |
sandbox | Sun Mar 12 21:07:59 JST 2006 | a3538e | 97 | public CommandLine(String executable) { |
sandbox | Sat Apr 12 01:37:11 JST 2008 | 7aa110 | 98 | this.isFile=false; |
EXEC_1_0_0 | Tue Feb 24 01:03:17 JST 2009 | 7c5d81 | 99 | this.executable=getExecutable(executable); |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 100 | } |
EXEC_1_0_0_RC1 | Sat Jul 19 05:40:44 JST 2008 | b95e06 | 121 | return StringUtils.fixFileSeparatorChar(expandArgument(executable)); |
sandbox | Wed Dec 05 07:15:42 JST 2007 | 0b6989 | 194 | return this.addArgument(argument, true); |
sandbox | Wed Dec 05 07:15:42 JST 2007 | 0b6989 | 205 | if (argument == null) { |
sandbox | Wed Dec 05 07:15:42 JST 2007 | 0b6989 | 209 | if(handleQuoting) { |
EXEC_1_0_0_RC1 | Sat Jul 19 05:23:35 JST 2008 | 43d166 | 210 | arguments.add(StringUtils.quoteArgument(argument)); |
sandbox | Wed Dec 05 07:15:42 JST 2007 | 0b6989 | 216 | return this; |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 225 | String[] result = new String[arguments.size()]; |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 226 | result = (String[]) arguments.toArray(result); |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 227 | return this.expandArguments(result); |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 234 | return substitutionMap; |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 244 | this.substitutionMap = substitutionMap; |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 245 | } |
EXEC_1_0_0_RC1 | Sat Jul 19 05:23:35 JST 2008 | 43d166 | 253 | final String[] result = new String[arguments.size() + 1]; |
EXEC_1_0_0_RC1 | Sat Jul 19 05:23:35 JST 2008 | 43d166 | 254 | result[0] = this.getExecutable(); |
EXEC_1_0_0_RC1 | Sat Jul 19 05:23:35 JST 2008 | 43d166 | 255 | System.arraycopy(getArguments(), 0, result, 1, result.length-1); |
EXEC_1_0_0_RC1 | Sat Jul 19 05:23:35 JST 2008 | 43d166 | 256 | return result; |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 298 | StringBuffer stringBuffer = StringUtils.stringSubstitution(argument, this.getSubstitutionMap(), true); |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 299 | return stringBuffer.toString(); |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 309 | String[] result = new String[arguments.length]; |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 310 | for(int i=0; i |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 311 | result[i] = this.expandArgument(arguments[i]); |
sandbox | Sat Dec 08 01:38:27 JST 2007 | 29abee | 313 | return result; |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 326 | if (toProcess == null || toProcess.length() == 0) { |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 333 | final int normal = 0; |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 334 | final int inQuote = 1; |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 335 | final int inDoubleQuote = 2; |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 336 | int state = normal; |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 337 | StringTokenizer tok = new StringTokenizer(toProcess, "\"\' ", true); |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 338 | Vector v = new Vector(); |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 339 | StringBuffer current = new StringBuffer(); |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 340 | boolean lastTokenHasBeenQuoted = false; |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 342 | while (tok.hasMoreTokens()) { |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 343 | String nextTok = tok.nextToken(); |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 344 | switch (state) { |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 362 | if ("\'".equals(nextTok)) { |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 364 | } else if ("\"".equals(nextTok)) { |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 366 | } else if (" ".equals(nextTok)) { |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 372 | current.append(nextTok); |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 374 | lastTokenHasBeenQuoted = false; |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 377 | } |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 379 | if (lastTokenHasBeenQuoted || current.length() != 0) { |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 380 | v.addElement(current.toString()); |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 383 | if (state == inQuote || state == inDoubleQuote) { |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 388 | String[] args = new String[v.size()]; |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 389 | v.copyInto(args); |
sandbox | Sun Mar 12 04:18:50 JST 2006 | 18cb09 | 390 | return args; |
sandbox | Wed Dec 05 07:15:42 JST 2007 | 0b6989 | 401 | if (executable == null) { |
sandbox | Wed Dec 05 07:15:42 JST 2007 | 0b6989 | 403 | } else if(executable.trim().length() == 0) { |
EXEC_1_0_0 | Tue Feb 24 01:03:17 JST 2009 | 7c5d81 | 406 | return StringUtils.fixFileSeparatorChar(executable); |