// License: GPL. For details, see LICENSE file.
package at.dallermassl.josm.plugin.surveyor.action;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.openstreetmap.josm.Main;
import at.dallermassl.josm.plugin.surveyor.GpsActionEvent;
/**
* @author cdaller
*
*/
public class SystemExecuteAction extends AbstractSurveyorAction {
@Override
public void actionPerformed(GpsActionEvent event) {
final ProcessBuilder builder = new ProcessBuilder(getParameters());
builder.directory(new File(System.getProperty("user.home")));
Main.debug("Directory : " + builder.directory());
Thread executionThread = new Thread() {
@Override
public void run() {
try {
final Process process = builder.start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
Main.info(getClass().getSimpleName() + ": " + line);
}
Main.info(getClass().getSimpleName() + "Program terminated!");
} catch (Exception t) {
Main.error(t);
}
}
};
executionThread.start();
}
}