package betsy.bpel.engines.activebpel;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import betsy.common.config.Configuration;
import betsy.common.engines.tomcat.TomcatInstaller;
import betsy.common.tasks.ConsoleTasks;
import betsy.common.tasks.FileTasks;
import betsy.common.tasks.NetworkTasks;
import betsy.common.tasks.ZipTasks;
public class ActiveBpelInstaller {
private final Path serverDir;
public ActiveBpelInstaller(Path serverDir) {
this.serverDir = serverDir;
}
public void install() {
// setup engine folder
FileTasks.mkdirs(serverDir);
TomcatInstaller installer = TomcatInstaller.v5(serverDir);
installer.setAdditionalVmParam("-Djavax.xml.soap.MessageFactory=org.apache.axis.soap.MessageFactoryImpl");
installer.install();
String fileName = "activebpel-5.0.2-bin.zip";
NetworkTasks.downloadFileFromBetsyRepo(fileName);
ZipTasks.unzip(Configuration.getDownloadsDir().resolve(fileName), serverDir);
Map<String, String> map = new HashMap<>();
map.put("CATALINA_HOME", "../" + installer.getTomcat().getTomcatName());
ConsoleTasks.executeOnWindows(ConsoleTasks.CliCommand.build(serverDir.resolve("activebpel-5.0.2"), "install.bat"), map);
ConsoleTasks.executeOnUnix(ConsoleTasks.CliCommand.build("chmod").values("+x", serverDir.resolve("activebpel-5.0.2").resolve("install.sh").toString()));
ConsoleTasks.executeOnUnix(ConsoleTasks.CliCommand.build("sync"));
ConsoleTasks.executeOnUnix(ConsoleTasks.CliCommand.build(serverDir.resolve("activebpel-5.0.2"), serverDir.resolve("activebpel-5.0.2").resolve("install.sh")), map);
}
}