in src/main/java/org/apache/commons/exec/util/StringUtils.java [75:99]
public static String quoteArgument(final String argument) {
String cleanedArgument = argument.trim();
// strip the quotes from both ends
while (cleanedArgument.startsWith(SINGLE_QUOTE) || cleanedArgument.startsWith(DOUBLE_QUOTE)) {
cleanedArgument = cleanedArgument.substring(1);
}
while (cleanedArgument.endsWith(SINGLE_QUOTE) || cleanedArgument.endsWith(DOUBLE_QUOTE)) {
cleanedArgument = cleanedArgument.substring(0, cleanedArgument.length() - 1);
}
final StringBuilder buf = new StringBuilder();
if (cleanedArgument.contains(DOUBLE_QUOTE)) {
if (cleanedArgument.contains(SINGLE_QUOTE)) {
throw new IllegalArgumentException("Can't handle single and double quotes in same argument");
}
return buf.append(SINGLE_QUOTE).append(cleanedArgument).append(SINGLE_QUOTE).toString();
}
if (cleanedArgument.contains(SINGLE_QUOTE) || cleanedArgument.contains(" ")) {
return buf.append(DOUBLE_QUOTE).append(cleanedArgument).append(DOUBLE_QUOTE).toString();
}
return cleanedArgument;
}