List of usage examples for org.apache.commons.exec DefaultExecutor execute
public void execute(final CommandLine command, final ExecuteResultHandler handler) throws ExecuteException, IOException
From source file:org.mail.bridge.FolderMonitor.java
public synchronized void runScriptAgainstReceivedFiles(List<File> inboxFiles) { if (config.getInboxScript().isEmpty() || Utils.isEmpty(inboxFiles)) return;/* w w w . jav a2 s. co m*/ LOG.debug("Run script '{}' against files {}", config.getInboxScript(), inboxFiles); ByteArrayOutputStream out = new ByteArrayOutputStream(); try { CommandLine cmd = CommandLine.parse(config.getInboxScript()); for (File file : inboxFiles) cmd.addArgument(file.getName(), true); DefaultExecutor executor = new DefaultExecutor(); executor.setStreamHandler(new PumpStreamHandler(out)); executor.setWatchdog(new ExecuteWatchdog(SCRIPT_TIMEOUT)); Map<String, String> environment = EnvironmentUtils.getProcEnvironment(); environment.putAll(config.asEnvironmentMap()); executor.setWorkingDirectory(new File(System.getProperty("user.dir"))); executor.execute(cmd, environment); LOG.info("Script '{}' successfully finished", config.getInboxScript()); LOG.debug("Script output:\n{}", out.toString()); } catch (ExecuteException e) { LOG.error(e.getMessage(), e); LOG.error("\nScript '{}' output:\n{}", config.getInboxScript(), out.toString()); int c = config.getInboxScriptStopCode(); if (c != 0 && c == e.getExitValue()) postMessage(new Main.StopMessage( String.format("Script '%s' exited with code %d that is configured as stop code", config.getInboxScript(), c))); } catch (IOException e) { LOG.error(e.getMessage(), e); LOG.error("\nScript '{}' output:\n{}", config.getInboxScript(), out.toString()); } }
From source file:org.moe.cli.utils.Utils.java
public static String[] execute(File dir, String command, Map<String, String> environment) { Map<String, String> current = null; try {/*from ww w . j a v a 2s . c o m*/ current = EnvironmentUtils.getProcEnvironment(); } catch (IOException e1) { e1.printStackTrace(); } if (environment != null && current != null) { current.putAll(environment); } CommandLine cmdLine = CommandLine.parse(command); DefaultExecutor executor = new DefaultExecutor(); executor.setWorkingDirectory(dir); ByteArrayOutputStream stdout = new ByteArrayOutputStream(); ByteArrayOutputStream stderr = new ByteArrayOutputStream(); PumpStreamHandler stHandler = new PumpStreamHandler(stdout, stderr); executor.setStreamHandler(stHandler); int exitValue = Executor.INVALID_EXITVALUE; try { exitValue = executor.execute(cmdLine, current); } catch (IOException e) { } return new String[] { stdout.toString(), executor.isFailure(exitValue) ? stderr.toString() : null }; }
From source file:org.mule.test.infrastructure.process.Controller.java
protected int doExecution(DefaultExecutor executor, CommandLine commandLine, Map<Object, Object> env) { try {/*from ww w . ja v a 2s .c o m*/ return executor.execute(commandLine, env); } catch (ExecuteException e) { return e.getExitValue(); } catch (Exception e) { throw new MuleControllerException( "Error executing [" + commandLine.getExecutable() + " " + commandLine.getArguments() + "]", e); } }
From source file:org.mule.test.infrastructure.process.MuleUtils.java
public static int executeCommand(String command, String... envVars) throws IOException { CommandLine cmdLine = CommandLine.parse(command); DefaultExecutor executor = new DefaultExecutor(); Map<String, String> env = addEnvProperties(envVars); ExecuteWatchdog watchDog = new ExecuteWatchdog(TIMEOUT); executor.setWatchdog(watchDog);/*w w w.ja v a 2 s . c o m*/ executor.setStreamHandler(new PumpStreamHandler()); int result = executor.execute(cmdLine, env); if (executor.isFailure(result)) { if (watchDog.killedProcess()) { throw new RuntimeException("Reached timeout while running: " + cmdLine); } throw new RuntimeException("Process failed with return code [" + result + "]: " + cmdLine); } return result; }
From source file:org.mule.tooling.jubula.cliexecutor.internal.DefaultCliExecutor.java
@Override public void runAsync(final String commandString, final Callback callback, final String... params) { try {/*from w w w .j av a 2 s . c o m*/ final DefaultExecutor executor = new DefaultExecutor(); final CommandLine command = CommandLine.parse(commandString); command.addArguments(params, true); executor.execute(command, new ExecuteResultHandler() { @Override public void onProcessFailed(final ExecuteException returnCode) { callback.failure(returnCode.getExitValue()); } @Override public void onProcessComplete(final int returnCode) { callback.success(returnCode); } }); } catch (final ExecuteException e) { throw new RuntimeException(e); } catch (final IOException e) { throw new RuntimeException(e); } }
From source file:org.nanoko.playframework.mojo.AbstractPlay2SimpleMojo.java
public void execute() throws MojoExecutionException, MojoFailureException { String line = this.getPlay2().getAbsolutePath(); CommandLine cmdLine = CommandLine.parse(line); this.addCommandLineArgs(cmdLine); DefaultExecutor executor = new DefaultExecutor(); if (this.timeout > 0) { ExecuteWatchdog watchdog = new ExecuteWatchdog(this.timeout); executor.setWatchdog(watchdog);// ww w.j av a2 s . co m } executor.setExitValue(0); executor.setWorkingDirectory(this.project.getBasedir()); try { executor.execute(cmdLine, this.getEnvironment()); } catch (Exception e) { this.onExecutionException(e); } }
From source file:org.nanoko.playframework.mojo.Play2DebugMojo.java
public void execute() throws MojoExecutionException { String line = getPlay2().getAbsolutePath(); CommandLine cmdLine = CommandLine.parse(line); cmdLine.addArgument("debug"); cmdLine.addArguments(getPlay2SystemPropertiesArguments(), false); cmdLine.addArgument("run"); DefaultExecutor executor = new DefaultExecutor(); // As where not linked to a project, we can't set the working directory. // So it will use the directory where mvn was launched. executor.setExitValue(0);//from w w w . j av a 2 s. c om try { executor.execute(cmdLine, getEnvironment()); } catch (IOException e) { // Ignore. } }
From source file:org.nanoko.playframework.mojo.Play2StartMojo.java
public void execute() throws MojoExecutionException { String line = getPlay2().getAbsolutePath(); CommandLine cmdLine = CommandLine.parse(line); cmdLine.addArguments(getPlay2SystemPropertiesArguments(), false); cmdLine.addArgument("start"); System.out.println(cmdLine.toString()); DefaultExecutor executor = new DefaultExecutor(); // As where not linked to a project, we can't set the working directory. // So it will use the directory where mvn was launched. executor.setExitValue(0);//from w w w . ja va2 s . c o m try { executor.execute(cmdLine, getEnvironment()); } catch (IOException e) { // Ignore. } }
From source file:org.nanoko.playframework.mojo.Play2StopMojo.java
public void execute() throws MojoExecutionException { String line = getPlay2().getAbsolutePath(); CommandLine cmdLine = CommandLine.parse(line); cmdLine.addArguments(getPlay2SystemPropertiesArguments(), false); cmdLine.addArgument("stop"); System.out.println(cmdLine.toString()); DefaultExecutor executor = new DefaultExecutor(); // As where not linked to a project, we can't set the working directory. // So it will use the directory where mvn was launched. executor.setExitValue(0);/*ww w .j a v a 2 s. c o m*/ try { executor.execute(cmdLine, getEnvironment()); } catch (IOException e) { // Ignore. } }
From source file:org.nanoko.playframework.mojo.Play2TestMojo.java
public void execute() throws MojoExecutionException { if (isSkipExecution()) { getLog().info("Test phase skipped"); return;// ww w.j a v a2 s . co m } if (noTestFound()) { getLog().info("Test phase skipped - no tests found"); return; } String line = getPlay2().getAbsolutePath(); CommandLine cmdLine = CommandLine.parse(line); cmdLine.addArguments(getPlay2SystemPropertiesArguments(), false); cmdLine.addArgument("test"); DefaultExecutor executor = new DefaultExecutor(); if (timeout > 0) { ExecuteWatchdog watchdog = new ExecuteWatchdog(timeout); executor.setWatchdog(watchdog); } executor.setWorkingDirectory(project.getBasedir()); executor.setExitValue(0); try { executor.execute(cmdLine, getEnvironment()); } catch (IOException e) { if (testFailureIgnore) { getLog().error("Test execution failures ignored"); } else { throw new MojoExecutionException("Error during compilation", e); } } }