package betsy.bpmn.engines.jbpm;
import java.nio.file.Path;
import betsy.common.config.Configuration;
import betsy.common.tasks.ConsoleTasks;
import betsy.common.tasks.FileTasks;
import betsy.common.tasks.NetworkTasks;
import betsy.common.tasks.ZipTasks;
public class JbpmInstaller {
private Path destinationDir;
private String fileName = "jbpm-6.0.1.Final-installer-full.zip";
public void install() {
FileTasks.deleteDirectory(destinationDir);
FileTasks.mkdirs(destinationDir);
NetworkTasks.downloadFileFromBetsyRepo(fileName);
ZipTasks.unzip(Configuration.getDownloadsDir().resolve(fileName), destinationDir);
ConsoleTasks.setupAnt(getAntPath());
ConsoleTasks.executeOnWindowsAndIgnoreError(ConsoleTasks.CliCommand.build(destinationDir.resolve("jbpm-installer"), getAntPath().toAbsolutePath().toString() + "/ant -q install.jboss"));
ConsoleTasks.executeOnUnixAndIgnoreError(ConsoleTasks.CliCommand.build(destinationDir.resolve("jbpm-installer"), getAntPath().toAbsolutePath().toString() + "/ant").values("-q", "install.jboss"));
ConsoleTasks.executeOnWindowsAndIgnoreError(ConsoleTasks.CliCommand.build(destinationDir.resolve("jbpm-installer"), getAntPath().toAbsolutePath().toString() + "/ant -q install.jBPM-console.into.jboss"));
ConsoleTasks.executeOnUnixAndIgnoreError(ConsoleTasks.CliCommand.build(destinationDir.resolve("jbpm-installer"), getAntPath().toAbsolutePath().toString() + "/ant").values("-q", "install.jBPM-console.into.jboss"));
}
private Path getAntPath() {
return Configuration.getAntHome().resolve("bin");
}
@Override
public String toString() {
return "JBPMInstaller{" + "destinationDir='" + destinationDir + "\'" + ", fileName='" + fileName + "\'" + "}";
}
public void setDestinationDir(Path destinationDir) {
this.destinationDir = destinationDir;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
}