/akraino/.project
/akraino/Servers
/config/.application.yaml.swp
-
+/akraino/target
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tertifartifactId>
<scope>test</scope>
- <version>1.5.8.RE</ver</version>
+ <version>1.5.8.RE</version>
</dependency>
-->
</dependencies>
@Component
public class DeployPostVerficationRemoteScriptExecutor implements JavaDelegate {
-
-
- private static Logger logger = LoggerFactory.getLogger(DeployPostVerficationRemoteScriptExecutor.class);
-
+ private static Logger logger = LoggerFactory.getLogger(DeployPostVerficationRemoteScriptExecutor.class);
+
@Autowired
RemoteScriptExecutionService remoteScriptExecutionService;
-
- @Autowired
+
+ @Autowired
DeployResponseSenderService deployResponseSenderService;
-
+
public void execute(DelegateExecution ctx) throws Exception {
String remotserver=(String)ctx.getVariable("remotserver");
int portnumner=(Integer)ctx.getVariable("port");
logger.debug("task execution started remotserver {} , portnumner {},username {}, password {},filename : {} ,fileparams={},src dir={},dest dir={}",
remotserver,portnumner,username,password,filename,fileparams,srcdir,destdir);
- String command="sh " +destdir+"/"+filename+" "+(fileparams!=null?fileparams.replaceAll(",", " "):" ");
+ String command = String.format("/bin/bash %s/%s %s", destdir, filename, (fileparams!=null?fileparams.replaceAll(",", " "):""));
logger.debug("Execution command {}",command);
remoteScriptExecutionService.executeRemoteScript(remotserver,username,password,portnumner,filename,fileparams,srcdir,destdir,command);
-
-
}
-
}
package com.akraino.bpm.delegate;
-
import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.camunda.bpm.engine.delegate.JavaDelegate;
import org.slf4j.Logger;
import com.akraino.bpm.service.DeployResponseSenderService;
import com.akraino.bpm.service.RemoteDeploymentVerificationService;
-
-
@Component
public class DeployRemoteDeploymentVerificationDelegate implements JavaDelegate {
@Autowired
RemoteDeploymentVerificationService remotedeploymentVerificationService;
- @Autowired
+ @Autowired
DeployResponseSenderService deployResponseSenderService;
-
- public void execute(DelegateExecution ctx) throws Exception {
+ public void execute(DelegateExecution ctx) throws Exception {
try {
String verifierFilename=(String)ctx.getVariable("verifier");
logger.debug("task execution started remotserver {} , portnumner {},username {}, password {},filename : {} , waittime : {},No of iterations :{}",
remotserver,portnumner,username,password,verifierFilename,srcdir,destdir,waittime,iterations);
- String command="sh " +destdir+"/"+verifierFilename+" "+(filepparams!=null?filepparams.replaceAll(",", " "):" ");
+ String command = String.format("/bin/bash %s/%s %s", destdir, verifierFilename, (filepparams!=null?filepparams.replaceAll(",", " "):""));
logger.debug("Execution command {}",command);
remotedeploymentVerificationService.executeScript(remotserver,username,password,portnumner,verifierFilename,filepparams,srcdir,destdir,waittime,iterations,command);
- }catch(TaskExecutorException ex) {
+ } catch(TaskExecutorException ex) {
throw ex;
- }
-
-
+ }
}
-
}
-
import com.akraino.bpm.service.DeployResponseSenderService;
import com.akraino.bpm.service.RemoteScriptExecutionService;
-
-
@Component
public class DeployRemoteScriptExecutorTaskDelegate implements JavaDelegate {
-
-
- private static Logger logger = LoggerFactory.getLogger(DeployRemoteScriptExecutorTaskDelegate.class);
+ private static Logger logger = LoggerFactory.getLogger(DeployRemoteScriptExecutorTaskDelegate.class);
@Autowired
RemoteScriptExecutionService remoteScriptExecutionService;
- @Autowired
+ @Autowired
DeployResponseSenderService deployResponseSenderService;
public void execute(DelegateExecution ctx) throws Exception {
logger.debug("task execution started remotserver {} , portnumner {},username {}, password {},filename : {} ,fileparams={},src dir={},dest dir={}",
remotserver,portnumner,username,password,filename,fileparams,srcdir,destdir);
- String command="sh " +destdir+"/"+filename+" "+(fileparams!=null?fileparams.replaceAll(",", " "):" ");
+ String command = String.format("/bin/bash %s/%s %s", destdir, filename, (fileparams!=null?fileparams.replaceAll(",", " "):""));
logger.debug("Execution command {}",command);
remoteScriptExecutionService.executeRemoteScript(remotserver,username,password,portnumner,filename,fileparams,srcdir,destdir,command);
}
-
}
RemoteDeploymentVerificationService remotedeploymentVerificationService;
- public void execute(DelegateExecution ctx) throws Exception {
+ public void execute(DelegateExecution ctx) throws Exception {
try {
String verifierFilename=(String)ctx.getVariable("verifier");
logger.debug("task execution started remotserver {} , portnumner {},username {}, password {},filename : {} , waittime : {},No of iterations :{}",
remotserver,portnumner,username,password,verifierFilename,srcdir,destdir,waittime,iterations);
- String command="sh " +destdir+"/"+(verifierFilename!=null?verifierFilename:" ")+" "+(filepparams!=null?filepparams.replaceAll(",", " "):" ");
+ // This looks wrong!
+ String command = "/bin/bash " +destdir+"/"+(verifierFilename!=null?verifierFilename:" ")+" "+(filepparams!=null?filepparams.replaceAll(",", " "):" ");
logger.debug("Execution command {}",command);
remotedeploymentVerificationService.executeScript(remotserver,username,password,portnumner,verifierFilename,filepparams,srcdir,destdir,waittime,iterations,command);
- }catch(TaskExecutorException ex) {
+ } catch(TaskExecutorException ex) {
throw ex;
- }
-
-
+ }
}
-
-}
-
+}
\ No newline at end of file
import com.akraino.bpm.service.RemoteScriptExecutionService;
-
-
@Component
public class RemoteScriptExecutorTaskDelegate implements JavaDelegate {
-
-
- private static Logger logger = LoggerFactory.getLogger(RemoteScriptExecutorTaskDelegate.class);
+ private static Logger logger = LoggerFactory.getLogger(RemoteScriptExecutorTaskDelegate.class);
@Autowired
RemoteScriptExecutionService remoteScriptExecutionService;
String fileparams=(String)ctx.getVariable("fileparams");
String srcdir=(String)ctx.getVariable("srcdir");
String destdir=(String)ctx.getVariable("destdir");
-
-
+
logger.debug("task execution started remotserver {} , portnumner {},username {}, password {},filename : {} ,fileparams={},src dir={},dest dir={}",
remotserver,portnumner,username,password,filename,fileparams,srcdir,destdir);
- String command="cd "+destdir+ ";"+"sh "+filename+" "+(fileparams!=null?fileparams.replaceAll(",", " "):" ");
+ String command = String.format("cd %s; /bin/bash %s %s", destdir, filename, (fileparams!=null?fileparams.replaceAll(",", " "):""));
logger.debug("Execution command {}",command);
remoteScriptExecutionService.executeRemoteScript(remotserver,username,password,portnumner,filename,fileparams,srcdir,destdir,command);
}
-
}
.putValue("port", deploy.getPort())
.putValue("destdir",deploy.getDestdir())
.putValue("remotefilename", deploy.getRemotefilename())
+ .putValue("filename", deploy.getRemotefilename()) // Needed by DeployRemoteScriptExecutorTaskDelegate.execute()
.putValue("fileparams", deploy.getFileparams())
.putValue("verifier", deploy.getDeploymentverifier())
.putValue("verifierfileparams", deploy.getDeploymentverifierfileparams())
public class ScriptExecutionServiceImpl implements ScriptExecutionService{
private static Logger logger = LoggerFactory.getLogger(ScriptExecutionServiceImpl.class);
-
+
public void executeScript(String filepatch) {
-
+
try {
logger.debug("Executing the script.............");
Process p = Runtime.getRuntime().exec(filepatch);
if(p.exitValue()!=0) {
throw new TaskExecutorException("problem while executing the script . exit code :"+p.exitValue());
}
-
-
+
} catch (IOException e) {
throw new TaskExecutorException(filepatch + " not found.");
} catch (InterruptedException e) {
throw new TaskExecutorException("problem while executing the script "+filepatch);
}
-
+
}
public void executeCDScript(String dir,String cmd) {
-
+
try {
logger.debug("Executing the script.............dir:{},command:{}",dir,cmd);
-
- String[] command = { "/bin/sh", "-c", "sh "+cmd };
+
+ String[] command = { "/bin/bash", "-c", "bash "+cmd };
Process p = Runtime.getRuntime().exec(command, null, new File(dir));
p.waitFor();
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
if(p.exitValue()!=0) {
throw new TaskExecutorException("problem while executing the script . exist code :"+p.exitValue());
}
-
-
+
+
} catch (IOException e) {
throw new TaskExecutorException(cmd + " not found.");
} catch (InterruptedException e) {
throw new TaskExecutorException("problem while executing the script "+cmd);
}
-
+
}
-
-
+
+
public void executeCDBashScript(String dir,String cmd) {
-
+
try {
logger.debug("Executing the script.............dir:{},command:{}",dir,cmd);
-
+
String[] command = { "/bin/bash", "-c", "bash "+cmd };
Process p = Runtime.getRuntime().exec(command, null, new File(dir));
p.waitFor();
if(p.exitValue()!=0) {
throw new TaskExecutorException("problem while executing the script . exit code :"+p.exitValue());
}
-
-
+
+
} catch (IOException e) {
throw new TaskExecutorException(cmd + " not found.");
} catch (InterruptedException e) {
throw new TaskExecutorException("problem while executing the script "+cmd);
}
-
+
}
-
-
-
-
+
+
+
+
/*public void executeAirshipScript(String cmd) {
-
+
try {
logger.debug("Executing the script.............{}",cmd);
- ProcessBuilder pb = new ProcessBuilder(cmd);
+ ProcessBuilder pb = new ProcessBuilder(cmd);
Process shellProcess = pb.start();
-
- shellProcess.waitFor();
+
+ shellProcess.waitFor();
BufferedReader input = new BufferedReader(new InputStreamReader(shellProcess.getInputStream()));
String line = "";
while ((line = input.readLine()) != null) {
if(shellProcess.exitValue()!=0) {
throw new TaskExecutorException("problem while executing the script . exist code :"+shellProcess.exitValue());
}
-
-
+
+
} catch (IOException e) {
throw new TaskExecutorException(cmd + " not found.");
} catch (InterruptedException e) {
throw new TaskExecutorException("problem while executing the script "+cmd);
}
-
- }*/
+ }*/
}
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tertifartifactId>
<scope>test</scope>
- <version>1.5.8.RE</ver</version>
+ <version>1.5.8.RE</version>
</dependency>
-->
</dependencies>