Java 类org.apache.commons.exec.util.StringUtils 实例源码
项目:XWBEx
文件:CommandLine.java
/**
* Add a single argument.
*
* @param argument The argument to add
* @param handleQuoting Add the argument with/without handling quoting
* @return The command line itself
*/
public CommandLine addArgument(final String argument, boolean handleQuoting) {
if (argument == null)
{
return this;
}
// check if we can really quote the argument - if not throw an
// IllegalArgumentException
if (handleQuoting)
{
StringUtils.quoteArgument(argument);
}
arguments.add(new Argument(argument, handleQuoting));
return this;
}
项目:Appium-Support
文件:CommandManager.java
/**
* Execute a command on the operating system using Java's built-in Process
* class
*
* @param command A string array representation of the command to execute.
* @param getOutput Whether or not to get the output/error streams of the
* process you forked. This is helpful for debugging reasons.
* @return A string representation of output/error streams of the process.
*/
public static String executeCommandUsingJavaRuntime(String[] command, boolean getOutput) {
String output = "";
try {
Process p = Runtime.getRuntime().exec(command);
// read the output from the command if requested by the user
if (getOutput) {
List<String> outErrStr = IOUtils.readLines(p.getInputStream());
output = StringUtils.toString(outErrStr.toArray(new String[outErrStr.size()]), "\n");
}
} catch (Exception ex) {
LOGGER.log(Level.SEVERE, "An exception was thrown while executing the command (" + command + ")", ex);
}
return output;
}
项目:ldbc_graphalytics
文件:__platform-name__Loader.java
public int unload(String loadedInputPath) throws Exception {
String unloaderDir = platformConfig.getUnloaderPath();
commandLine = new CommandLine(Paths.get(unloaderDir).toFile());
commandLine.addArgument("--graph-name");
commandLine.addArgument(formattedGraph.getName());
commandLine.addArgument("--output-path");
commandLine.addArgument(loadedInputPath);
String commandString = StringUtils.toString(commandLine.toStrings(), " ");
LOG.info(String.format("Execute graph unloader with command-line: [%s]", commandString));
Executor executor = new DefaultExecutor();
executor.setStreamHandler(new PumpStreamHandler(System.out, System.err));
executor.setExitValue(0);
return executor.execute(commandLine);
}
项目:gradle-mobile-plugin
文件:ExecCommand.java
@Override
public String toString() {
String command = StringUtils.toString(toStrings(), " ");
if (workingDirectory.equals(new File("."))) {
return "[" + command + "]";
} else {
return "[" + command + "] in [" + workingDirectory.getAbsolutePath() + "]";
}
}
项目:XWBEx
文件:CommandLine.java
/**
* Returns the executable.
*
* @return The executable
*/
public String getExecutable() {
// Expand the executable and replace '/' and '\\' with the platform
// specific file separator char. This is safe here since we know
// that this is a platform specific command.
return StringUtils.fixFileSeparatorChar(expandArgument(executable));
}
项目:XWBEx
文件:CommandLine.java
/**
* Returns the expanded and quoted command line arguments.
*
* @return The quoted arguments
*/
public String[] getArguments() {
Argument currArgument;
String expandedArgument;
String[] result = new String[arguments.size()];
for(int i=0; i<result.length; i++) {
currArgument = (Argument) arguments.get(i);
expandedArgument = expandArgument(currArgument.getValue());
result[i] = (currArgument.isHandleQuoting() ? StringUtils.quoteArgument(expandedArgument) : expandedArgument);
}
return result;
}
项目:XWBEx
文件:CommandLine.java
/**
* Get the executable - the argument is trimmed and '/' and '\\' are
* replaced with the platform specific file separator char
*
* @param executable the executable
* @return the platform-specific executable string
*/
private String getExecutable(final String executable) {
if (executable == null) {
throw new IllegalArgumentException("Executable can not be null");
} else if(executable.trim().length() == 0) {
throw new IllegalArgumentException("Executable can not be empty");
} else {
return StringUtils.fixFileSeparatorChar(executable);
}
}
项目:stem
文件:ExternalNode.java
private CommandLine newJavaCommandLine() {
String javaExecPath = null;
Toolchain toolchain = getToolchain();
if (toolchain != null) {
log.info("Toolchain: " + toolchain);
javaExecPath = toolchain.findTool("java");
} else if (OS.isFamilyWindows()) {
String exec = "java.exe";
String path = System.getenv("PATH");
if (path != null) {
for (String elem : StringUtils.split(path, File.pathSeparator)) {
File file = new File(elem, exec);
if (file.exists()) {
javaExecPath = file.getAbsolutePath();
break;
}
}
}
}
if (null == javaExecPath) {
javaExecPath = "java";
}
return new CommandLine(javaExecPath);
}
项目:ldbc_graphalytics
文件:__platform-name__Loader.java
public int load(String loadedInputPath) throws Exception {
String loaderDir = platformConfig.getLoaderPath();
commandLine = new CommandLine(Paths.get(loaderDir).toFile());
commandLine.addArgument("--graph-name");
commandLine.addArgument(formattedGraph.getName());
commandLine.addArgument("--input-vertex-path");
commandLine.addArgument(formattedGraph.getVertexFilePath());
commandLine.addArgument("--input-edge-path");
commandLine.addArgument(formattedGraph.getEdgeFilePath());
commandLine.addArgument("--output-path");
commandLine.addArgument(loadedInputPath);
commandLine.addArgument("--directed");
commandLine.addArgument(formattedGraph.isDirected() ? "true" : "false");
commandLine.addArgument("--weighted");
commandLine.addArgument(formattedGraph.hasEdgeProperties() ? "true" : "false");
String commandString = StringUtils.toString(commandLine.toStrings(), " ");
LOG.info(String.format("Execute graph loader with command-line: [%s]", commandString));
Executor executor = new DefaultExecutor();
executor.setStreamHandler(new PumpStreamHandler(System.out, System.err));
executor.setExitValue(0);
return executor.execute(commandLine);
}
项目:ldbc_graphalytics
文件:__platform-name__Job.java
/**
* Executes the platform job with the pre-defined parameters.
*
* @return the exit code
* @throws IOException if the platform failed to run
*/
public int execute() throws Exception {
String executableDir = platformConfig.getExecutablePath();
commandLine = new CommandLine(Paths.get(executableDir).toFile());
// List of benchmark parameters.
String jobId = getJobId();
String logDir = getLogPath();
// List of dataset parameters.
String inputPath = getInputPath();
String outputPath = getOutputPath();
// List of platform parameters.
int numMachines = platformConfig.getNumMachines();
int numThreads = platformConfig.getNumThreads();
String homeDir = platformConfig.getHomePath();
appendBenchmarkParameters(jobId, logDir);
appendAlgorithmParameters();
appendDatasetParameters(inputPath, outputPath);
appendPlatformConfigurations(homeDir, numMachines, numThreads);
String commandString = StringUtils.toString(commandLine.toStrings(), " ");
LOG.info(String.format("Execute benchmark job with command-line: [%s]", commandString));
Executor executor = new DefaultExecutor();
executor.setStreamHandler(new PumpStreamHandler(System.out, System.err));
executor.setExitValue(0);
return executor.execute(commandLine);
}
项目:allure1
文件:ReportGenerate.java
/**
* Returns the classpath for executable jar.
*/
protected String getClasspath() throws IOException {
List<String> classpath = new ArrayList<>();
classpath.add(getBundleJarPath());
classpath.addAll(getPluginsPath());
return StringUtils.toString(classpath.toArray(new String[classpath.size()]), " ");
}
项目:XWBEx
文件:VmsCommandLauncher.java
private File createCommandFile(final CommandLine cmd, final Map env)
throws IOException {
File script = File.createTempFile("EXEC", ".TMP");
script.deleteOnExit();
PrintWriter out = null;
try {
out = new PrintWriter(new FileWriter(script.getAbsolutePath(),true));
// add the environment as global symbols for the DCL script
if (env != null) {
Set entries = env.entrySet();
for (Iterator iter = entries.iterator(); iter.hasNext();) {
Entry entry = (Entry) iter.next();
out.print("$ ");
out.print(entry.getKey());
out.print(" == "); // define as global symbol
out.println('\"');
String value = (String) entry.getValue();
// Any embedded " values need to be doubled
if (value.indexOf('\"') > 0){
StringBuffer sb = new StringBuffer();
for (int i = 0; i < value.length(); i++) {
char c = value.charAt(i);
if (c == '\"') {
sb.append('\"');
}
sb.append(c);
}
value=sb.toString();
}
out.print(value);
out.println('\"');
}
}
final String command = cmd.getExecutable();
if (cmd.isFile()){// We assume it is it a script file
out.print("$ @");
// This is a bit crude, but seems to work
String parts[] = StringUtils.split(command,"/");
out.print(parts[0]); // device
out.print(":[");
out.print(parts[1]); // top level directory
final int lastPart = parts.length-1;
for(int i=2; i< lastPart; i++){
out.print(".");
out.print(parts[i]);
}
out.print("]");
out.print(parts[lastPart]);
} else {
out.print("$ ");
out.print(command);
}
String[] args = cmd.getArguments();
for (int i = 0; i < args.length; i++) {
out.println(" -");
out.print(args[i]);
}
out.println();
} finally {
if (out != null) {
out.close();
}
}
return script;
}
项目:XWBEx
文件:CommandLine.java
/**
* Stringify operator returns the command line as a string.
* Parameters are correctly quoted when containing a space or
* left untouched if the are already quoted.
*
* @return the command line as single string
*/
public String toString() {
return StringUtils.toString(toStrings(), " ");
}
项目:XWBEx
文件:CommandLine.java
/**
* Expand variables in a command line argument.
*
* @param argument the argument
* @return the expanded string
*/
private String expandArgument(final String argument) {
StringBuffer stringBuffer = StringUtils.stringSubstitution(argument, this.getSubstitutionMap(), true);
return stringBuffer.toString();
}