From 9ebd7609147fb218dc8c0da99dfaacad50337a66 Mon Sep 17 00:00:00 2001 From: "Eby, Robert (re2429)" Date: Thu, 24 Jan 2019 16:22:45 -0500 Subject: [PATCH] Fixed a null pointer problem Fixed indentation of some files Change-Id: I48bd212168dc9bfefc26c0de96ffd15e236ebf24 Signed-off-by: Eby, Robert (re2429) --- .../com/akraino/bpm/config/CamundaCorsFilter.java | 64 ++-- .../bpm/controller/CamundaRestController.java | 99 +++--- .../impl/AsyncProcessExecutorServiceImpl.java | 353 +++++++++++---------- 3 files changed, 257 insertions(+), 259 deletions(-) diff --git a/akraino/src/main/java/com/akraino/bpm/config/CamundaCorsFilter.java b/akraino/src/main/java/com/akraino/bpm/config/CamundaCorsFilter.java index 249d90a..0d051ff 100644 --- a/akraino/src/main/java/com/akraino/bpm/config/CamundaCorsFilter.java +++ b/akraino/src/main/java/com/akraino/bpm/config/CamundaCorsFilter.java @@ -16,10 +16,7 @@ package com.akraino.bpm.config; - import java.io.IOException; - - import javax.sql.DataSource; import org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl; @@ -44,28 +41,25 @@ import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; - - @Configuration +public class CamundaCorsFilter { + - public class CamundaCorsFilter { - - - @Value("${camunda.bpm.buildresponseurl}") + @Value("${camunda.bpm.buildresponseurl}") private String buildresponseurl; - - @Value("${camunda.bpm.tokenId}") + + @Value("${camunda.bpm.tokenId}") private String tokenId; - - @Autowired + + @Autowired private DataSource dataSource; - + @Autowired private PlatformTransactionManager transactionManager; - - @Autowired + + @Autowired private JobExecutor jobExecutor; - + public String getBuildresponseurl() { return buildresponseurl; } @@ -73,7 +67,7 @@ import org.springframework.web.filter.CorsFilter; public void setBuildresponseurl(String buildresponseurl) { this.buildresponseurl = buildresponseurl; } - + public String getTokenId() { return tokenId; } @@ -87,26 +81,23 @@ import org.springframework.web.filter.CorsFilter; // Do any additional configuration here return builder.build(); } - - - - + /*@Bean public JobExecutor jobExecutor() { final JobExecutor jobExecutor = new RuntimeContainerJobExecutor(); jobExecutor.setWaitTimeInMillis(5000); jobExecutor.setLockTimeInMillis(18000000); return jobExecutor; - } - @Bean - + } + @Bean + public ProcessEngineConfiguration SpringProcessEngineConfiguration () { - + ProcessEngineConfiguration ProcessEngineConfiguration=new SpringProcessEngineConfiguration().setJobExecutor(jobexecutor).setProcessEngineName("default"); return ProcessEngineConfiguration; }*/ - - @Bean + + @Bean @Primary public static JobExecutor jobExecutor(@Qualifier("camundaTaskExecutor") final TaskExecutor taskExecutor) { final SpringJobExecutor springJobExecutor = new SpringJobExecutor(); @@ -116,7 +107,7 @@ import org.springframework.web.filter.CorsFilter; springJobExecutor.setLockTimeInMillis(36000000); return springJobExecutor; } - + @Bean @Primary public ProcessEngineConfigurationImpl processEngineConfiguration() throws IOException { @@ -132,14 +123,13 @@ import org.springframework.web.filter.CorsFilter; //config.setProcessEnginePlugins(); return config; } - + @Bean public PlatformTransactionManager getTransactionManager() { PlatformTransactionManager ptm=new DataSourceTransactionManager(dataSource); return ptm; - } - - + } + @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); @@ -156,7 +146,7 @@ import org.springframework.web.filter.CorsFilter; source.registerCorsConfiguration("/**", config); return new CorsFilter(source); } - + @Bean(name="akrainoprocessExecutor") public TaskExecutor workExecutor() { ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor(); @@ -166,7 +156,5 @@ import org.springframework.web.filter.CorsFilter; threadPoolTaskExecutor.setQueueCapacity(600); threadPoolTaskExecutor.afterPropertiesSet(); return threadPoolTaskExecutor; - } - } - - + } +} diff --git a/akraino/src/main/java/com/akraino/bpm/controller/CamundaRestController.java b/akraino/src/main/java/com/akraino/bpm/controller/CamundaRestController.java index 80c7140..044400d 100644 --- a/akraino/src/main/java/com/akraino/bpm/controller/CamundaRestController.java +++ b/akraino/src/main/java/com/akraino/bpm/controller/CamundaRestController.java @@ -41,75 +41,58 @@ import io.swagger.annotations.Api; @Api @RestController public class CamundaRestController { - - - - @Autowired - private AsyncProcessExecutorService asyncProcessExecutorService; - - private static Logger logger = LoggerFactory.getLogger(CamundaRestController.class); - - @PostMapping("/build/") - public ResponseEntity build(@RequestBody Build build) { - logger.debug("Request received for Build {}",build.toString()); - asyncProcessExecutorService.executeBuildProcess(build); - return new ResponseEntity(new BuildResponse("in progress",null,null,null,null,build.getSitename(),null,null,null),HttpStatus.OK); - + + @Autowired + private AsyncProcessExecutorService asyncProcessExecutorService; + + private static Logger logger = LoggerFactory.getLogger(CamundaRestController.class); + + @PostMapping("/build/") + public ResponseEntity build(@RequestBody Build build) { + logger.debug("Request received for Build {}",build.toString()); + asyncProcessExecutorService.executeBuildProcess(build); + return new ResponseEntity(new BuildResponse("in progress",null,null,null,null,build.getSitename(),null,null,null),HttpStatus.OK); } - - - @PostMapping("/deploy/") - public ResponseEntity deploy(@RequestBody Deploy deploy) { - logger.debug("Request received for deploy {} ",deploy.toString()); - asyncProcessExecutorService.executeDeployProcess(deploy); - return new ResponseEntity(new BuildResponse(null,"in progress","not started","not started","not started",deploy.getSitename(),null,null,null),HttpStatus.OK); + public ResponseEntity deploy(@RequestBody Deploy deploy) { + logger.debug("Request received for deploy {} ",deploy.toString()); + asyncProcessExecutorService.executeDeployProcess(deploy); + return new ResponseEntity(new BuildResponse(null,"in progress","not started","not started","not started",deploy.getSitename(),null,null,null),HttpStatus.OK); } - @PostMapping("/multinodedeploy/") - public ResponseEntity multiNodeDeploy(@RequestBody MultiNodeDeploy multiNodeDeploy) { - logger.debug("Request received for multi node deploy {} ",multiNodeDeploy.toString()); - asyncProcessExecutorService.executeMultiNodeDeployProcess(multiNodeDeploy); - return new ResponseEntity(new BuildResponse(null,"in progress","not started","not started","not started",multiNodeDeploy.getSitename(),null,null,null),HttpStatus.OK); + public ResponseEntity multiNodeDeploy(@RequestBody MultiNodeDeploy multiNodeDeploy) { + logger.debug("Request received for multi node deploy {} ",multiNodeDeploy.toString()); + asyncProcessExecutorService.executeMultiNodeDeployProcess(multiNodeDeploy); + return new ResponseEntity(new BuildResponse(null,"in progress","not started","not started","not started",multiNodeDeploy.getSitename(),null,null,null),HttpStatus.OK); } - - + @PostMapping("/airship/") public ResponseEntity airship(@RequestBody Airship airship) { - logger.debug("Request received for airship {} ",airship.toString()); - asyncProcessExecutorService.executeAirshipProcess(airship); - return new ResponseEntity(new BuildResponse(null,null,null,null,"in progress",airship.getSitename(),null,null,null),HttpStatus.OK); - } + logger.debug("Request received for airship {} ",airship.toString()); + asyncProcessExecutorService.executeAirshipProcess(airship); + return new ResponseEntity(new BuildResponse(null,null,null,null,"in progress",airship.getSitename(),null,null,null),HttpStatus.OK); + } - - - @PostMapping("/tempest/") - public ResponseEntity tempest(@RequestBody Tempest tempest) { - logger.debug("Request received for tempest {}",tempest.toString()); - asyncProcessExecutorService.executeTempestProcess(tempest); - return new ResponseEntity(new BuildResponse(null,null,null,null,null,tempest.getSitename(),null,null,"in progress"),HttpStatus.OK); + @PostMapping("/tempest/") + public ResponseEntity tempest(@RequestBody Tempest tempest) { + logger.debug("Request received for tempest {}",tempest.toString()); + asyncProcessExecutorService.executeTempestProcess(tempest); + return new ResponseEntity(new BuildResponse(null,null,null,null,null,tempest.getSitename(),null,null,"in progress"),HttpStatus.OK); } - - - - - @PostMapping("/apache/") - public ResponseEntity apache(@RequestBody Apache apache) { - logger.debug("Request received for apache{} ",apache.toString()); - asyncProcessExecutorService.executeApacheProcess(apache); - return new ResponseEntity(new BuildResponse(null,null,null,null,null,apache.getSitename(),null,"in progress",null),HttpStatus.OK); + + @PostMapping("/apache/") + public ResponseEntity apache(@RequestBody Apache apache) { + logger.debug("Request received for apache{} ",apache.toString()); + asyncProcessExecutorService.executeApacheProcess(apache); + return new ResponseEntity(new BuildResponse(null,null,null,null,null,apache.getSitename(),null,"in progress",null),HttpStatus.OK); } - - - - - @PostMapping("/onap/") - public ResponseEntity onap(@RequestBody Onap onap) { - logger.debug("Request received for onap ",onap.toString()); - asyncProcessExecutorService.executeOnapProcess(onap); - return new ResponseEntity(new BuildResponse(null,null,null,null,null,onap.getSitename(),"in progress",null,null),HttpStatus.OK); + + @PostMapping("/onap/") + public ResponseEntity onap(@RequestBody Onap onap) { + logger.debug("Request received for onap ",onap.toString()); + asyncProcessExecutorService.executeOnapProcess(onap); + return new ResponseEntity(new BuildResponse(null,null,null,null,null,onap.getSitename(),"in progress",null,null),HttpStatus.OK); } - } diff --git a/akraino/src/main/java/com/akraino/bpm/service/impl/AsyncProcessExecutorServiceImpl.java b/akraino/src/main/java/com/akraino/bpm/service/impl/AsyncProcessExecutorServiceImpl.java index 4dcc92a..695606e 100644 --- a/akraino/src/main/java/com/akraino/bpm/service/impl/AsyncProcessExecutorServiceImpl.java +++ b/akraino/src/main/java/com/akraino/bpm/service/impl/AsyncProcessExecutorServiceImpl.java @@ -40,17 +40,17 @@ import com.akraino.bpm.service.DeployResponseSenderService; @Service("asyncProcessExecutorService") public class AsyncProcessExecutorServiceImpl implements AsyncProcessExecutorService{ - @Autowired - private ProcessEngine camunda; - - @Autowired - private DeployResponseSenderService deployResponseSenderService; - - private static Logger logger = LoggerFactory.getLogger(AsyncProcessExecutorServiceImpl.class); - + @Autowired + private ProcessEngine camunda; + + @Autowired + private DeployResponseSenderService deployResponseSenderService; + + private static Logger logger = LoggerFactory.getLogger(AsyncProcessExecutorServiceImpl.class); + @Async public void executeAirshipProcess(Airship airship) { - + try { executeAirshipservice(airship); }catch(TaskExecutorException ex) { @@ -60,27 +60,30 @@ public class AsyncProcessExecutorServiceImpl implements AsyncProcessExecutorServ } logger.debug("Airship execution success "); deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,"success",airship.getSitename(),null,null,null)); - - - } private ProcessInstance executeAirshipservice(Airship airship) { - + String filepath1=airship.getFilepath()+" "+(airship.getFileparams()!=null?airship.getFileparams().replaceAll(",", " "):" "); String filepath2=airship.getWinscpfilepath()+" "+(airship.getWinscpfileparams()!=null?airship.getWinscpfileparams().replaceAll(",", " "):" "); return camunda.getRuntimeService().startProcessInstanceByKey("airship", - Variables.putValue("filepath", filepath1).putValue("scpdir", airship.getWinscpdir()).putValue("ScpScriptFilepath", filepath2).putValue("remotserver", airship.getRemotserver()) + Variables.putValue("filepath", filepath1) + .putValue("scpdir", airship.getWinscpdir()) + .putValue("ScpScriptFilepath", filepath2) + .putValue("remotserver", airship.getRemotserver()) .putValue("username", airship.getUsername()) .putValue("password", airship.getPassword()) - .putValue("port", airship.getPort()).putValue("destdir",airship.getDestdir()).putValue("remotefilename", airship.getRemotefilename()) - .putValue("remotefileparams", airship.getRemotefileparams()).putValue("sitename", airship.getSitename())); - + .putValue("port", airship.getPort()) + .putValue("destdir",airship.getDestdir()) + .putValue("remotefilename", airship.getRemotefilename()) + .putValue("remotefileparams", airship.getRemotefileparams()) + .putValue("sitename", airship.getSitename()) + ); } @Async public void executeBuildProcess(Build build) { - + try { executeBuildService(build); }catch(TaskExecutorException ex) { @@ -92,57 +95,61 @@ public class AsyncProcessExecutorServiceImpl implements AsyncProcessExecutorServ deployResponseSenderService.sendResponse(new BuildResponse("success",null,null,null,null,build.getSitename(),null,null,null)); } - private ProcessInstance executeBuildService(Build build) { - + return camunda.getRuntimeService().startProcessInstanceByKey("build", - Variables.putValue("filepath", build.getFilepath()).putValue("fileparams", build.getFileparams()).putValue("targetfolder", build.getTargetfolder())); + Variables.putValue("filepath", build.getFilepath()) + .putValue("fileparams", build.getFileparams()) + .putValue("targetfolder", build.getTargetfolder()) + ); } - + @Async public void executeDeployProcess(Deploy deploy) { - - try { - executeDeployService(deploy); - }catch(TaskExecutorException ex) { - logger.error("deploy execution failed ",ex); - deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,"exception: "+ex.getMessage(),deploy.getSitename(),null,null,null)); - return; + + try { + executeDeployService(deploy); + } catch (TaskExecutorException ex) { + logger.error("deploy execution failed ",ex); + deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,"exception: "+ex.getMessage(),deploy.getSitename(),null,null,null)); + return; } - logger.debug("deploy execution success "); - deployResponseSenderService.sendResponse(new BuildResponse("success","success","success","success","success",deploy.getSitename(),null,null,null)); + logger.debug("deploy execution success "); + deployResponseSenderService.sendResponse(new BuildResponse("success","success","success","success","success",deploy.getSitename(),null,null,null)); } - - + + private ProcessInstance executeDeployService(Deploy deploy) { - - String filepath1=deploy.getFilepath()+" "+(deploy.getFileparams()!=null?deploy.getFileparams().replaceAll(",", " "):" "); - - - int lastindex=deploy.getWinscpfilepath().lastIndexOf("/"); - String scpSrcDir=deploy.getWinscpfilepath().substring(0,lastindex); - String scpfilename=deploy.getWinscpfilepath().substring(lastindex+1,deploy.getWinscpfilepath().length()); - String transferfile= scpfilename+" "+(deploy.getWinscpfileparams()!=null?deploy.getWinscpfileparams().replaceAll(",", " "):" "); - - - + + String filepath1 = deploy.getFilepath()+" "+(deploy.getFileparams()!=null?deploy.getFileparams().replaceAll(",", " "):" "); + String scpSrcDir = dirname(deploy.getWinscpfilepath()); + String scpfilename = filename(deploy.getWinscpfilepath()); + String transferfile = scpfilename+" "+(deploy.getWinscpfileparams()!=null?deploy.getWinscpfileparams().replaceAll(",", " "):" "); + return camunda.getRuntimeService().startProcessInstanceByKey("deploy", - Variables.putValue("filepath", filepath1).putValue("scpsrcdir", scpSrcDir). - putValue("ScpScriptFilepath", transferfile).putValue("remotserver", deploy.getRemotserver()) + Variables.putValue("filepath", filepath1) + .putValue("scpsrcdir", scpSrcDir) + .putValue("ScpScriptFilepath", transferfile) + .putValue("remotserver", deploy.getRemotserver()) .putValue("username", deploy.getUsername()) .putValue("password", deploy.getPassword()) - .putValue("port", deploy.getPort()).putValue("destdir",deploy.getDestdir()).putValue("remotefilename", deploy.getRemotefilename()) - .putValue("fileparams", deploy.getFileparams()). - putValue("verifier", deploy.getDeploymentverifier()).putValue("verifierfileparams", - deploy.getDeploymentverifierfileparams()).putValue("waittime", deploy.getWaittime()). - putValue("iterations", deploy.getNoofiterations()).putValue("postverificationscript", deploy.getPostverificationscript()). - putValue("postverificationScriptparams", deploy.getDeploymentverifierfileparams()).putValue("sitename", deploy.getSitename())); - + .putValue("port", deploy.getPort()) + .putValue("destdir",deploy.getDestdir()) + .putValue("remotefilename", deploy.getRemotefilename()) + .putValue("fileparams", deploy.getFileparams()) + .putValue("verifier", deploy.getDeploymentverifier()) + .putValue("verifierfileparams", deploy.getDeploymentverifierfileparams()) + .putValue("waittime", deploy.getWaittime()) + .putValue("iterations", deploy.getNoofiterations()) + .putValue("postverificationscript", deploy.getPostverificationscript()) + .putValue("postverificationScriptparams", deploy.getDeploymentverifierfileparams()) + .putValue("sitename", deploy.getSitename()) + ); } @Async public void executeOnapProcess(Onap onap) { - + try { executeOnapService(onap); }catch(TaskExecutorException ex) { @@ -152,32 +159,34 @@ public class AsyncProcessExecutorServiceImpl implements AsyncProcessExecutorServ } logger.debug("Onap execution success "); deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,onap.getSitename(),"succes",null,null)); - - } - - + + private ProcessInstance executeOnapService(Onap onap) { - - int lastindex=onap.getFiletrasferscript().lastIndexOf("/"); - String scpSrcDir=onap.getFiletrasferscript().substring(0,lastindex); - String scpfilename=onap.getFiletrasferscript().substring(lastindex+1,onap.getFiletrasferscript().length()); - String transferfile= scpfilename+" "+(onap.getFiletransferparams()!=null?onap.getFiletransferparams().replaceAll(",", " "):" "); - - + + String scpSrcDir = dirname(onap.getFiletrasferscript()); + String scpfilename = filename(onap.getFiletrasferscript()); + String transferfile = scpfilename+" "+(onap.getFiletransferparams()!=null?onap.getFiletransferparams().replaceAll(",", " "):" "); + return camunda.getRuntimeService().startProcessInstanceByKey("onap", - Variables.putValue("filename", onap.getFilename()).putValue("fileparams", onap.getFileparams()). - putValue("verifier", onap.getDeploymentverifier()).putValue("verifierfileparams", onap.getVerifierparams()).putValue("waittime", onap.getWaittime()). - putValue("iterations", onap.getNoofiterations()).putValue("remotserver", onap.getRemoteserver()) + Variables.putValue("filename", onap.getFilename()) + .putValue("fileparams", onap.getFileparams()) + .putValue("verifier", onap.getDeploymentverifier()) + .putValue("verifierfileparams", onap.getVerifierparams()) + .putValue("waittime", onap.getWaittime()) + .putValue("iterations", onap.getNoofiterations()) + .putValue("remotserver", onap.getRemoteserver()) .putValue("username", onap.getUsername()) .putValue("password", onap.getPassword()) - .putValue("port", onap.getPortnumber()).putValue("srcdir", onap.getSrcdir()).putValue("destdir",onap.getDestdir()).putValue("ScpScriptFilepath", transferfile). - putValue("scpsrcdir", scpSrcDir) - ); - + .putValue("port", onap.getPortnumber()) + .putValue("srcdir", onap.getSrcdir()) + .putValue("destdir",onap.getDestdir()) + .putValue("ScpScriptFilepath", transferfile) + .putValue("scpsrcdir", scpSrcDir) + ); } - - + + @Async public void executeTempestProcess(Tempest tempest) { try { @@ -189,100 +198,118 @@ public class AsyncProcessExecutorServiceImpl implements AsyncProcessExecutorServ } logger.debug("Tempest execution success "); deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,tempest.getSitename(),null,null,"success")); - + } - - private ProcessInstance executeTempestService(Tempest tempest) { - - int lastindex=tempest.getFiletrasferscript().lastIndexOf("/"); - String scpSrcDir=tempest.getFiletrasferscript().substring(0,lastindex); - String scpfilename=tempest.getFiletrasferscript().substring(lastindex+1,tempest.getFiletrasferscript().length()); - String transferfile= scpfilename+" "+(tempest.getFiletransferparams()!=null?tempest.getFiletransferparams().replaceAll(",", " "):" "); - - return camunda.getRuntimeService().startProcessInstanceByKey("tempest", - Variables.putValue("filename", tempest.getFilename()).putValue("fileparams", tempest.getFileparams()). - putValue("verifier", tempest.getDeploymentverifier()).putValue("verifierfileparams", tempest.getVerifierparams()).putValue("waittime", tempest.getWaittime()). - putValue("iterations", tempest.getNoofiterations()).putValue("remotserver", tempest.getRemoteserver()) + + private ProcessInstance executeTempestService(Tempest tempest) { + + String scpSrcDir = dirname(tempest.getFiletrasferscript()); + String scpfilename = filename(tempest.getFiletrasferscript()); + String transferfile = scpfilename+" "+(tempest.getFiletransferparams()!=null?tempest.getFiletransferparams().replaceAll(",", " "):" "); + + return camunda.getRuntimeService().startProcessInstanceByKey("tempest", + Variables.putValue("filename", tempest.getFilename()) + .putValue("fileparams", tempest.getFileparams()) + .putValue("verifier", tempest.getDeploymentverifier()) + .putValue("verifierfileparams", tempest.getVerifierparams()) + .putValue("waittime", tempest.getWaittime()) + .putValue("iterations", tempest.getNoofiterations()) + .putValue("remotserver", tempest.getRemoteserver()) .putValue("username", tempest.getUsername()) .putValue("password", tempest.getPassword()) - .putValue("port", tempest.getPortnumber()).putValue("srcdir", tempest.getSrcdir()).putValue("destdir",tempest.getDestdir()).putValue("ScpScriptFilepath", transferfile). - putValue("scpsrcdir", scpSrcDir) - ); - - } - - - @Async - public void executeApacheProcess(Apache apache) { - try { - executeApacheService(apache); - }catch(TaskExecutorException ex) { - logger.error("Apache execution failed ",ex); - deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,apache.getSitename(),null,"exception: "+ex.getMessage(),null)); - return; - } - logger.debug("Apache execution success "); - deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,apache.getSitename(),null,"success",null)); - - - } - - private ProcessInstance executeApacheService(Apache apache) { - - int lastindex=apache.getFiletrasferscript().lastIndexOf("/"); - String scpSrcDir=apache.getFiletrasferscript().substring(0,lastindex); - String scpfilename=apache.getFiletrasferscript().substring(lastindex+1,apache.getFiletrasferscript().length()); - - String transferfile= scpfilename+" "+(apache.getFiletransferparams()!=null?apache.getFiletransferparams().replaceAll(",", " "):" "); - - return camunda.getRuntimeService().startProcessInstanceByKey("apache", - Variables.putValue("filename", apache.getFilename()).putValue("fileparams", apache.getFileparams()). - putValue("verifier", apache.getDeploymentverifier()).putValue("verifierfileparams", apache.getVerifierparams()).putValue("waittime", apache.getWaittime()). - putValue("iterations", apache.getNoofiterations()).putValue("remotserver", apache.getRemoteserver()) - .putValue("username", apache.getUsername()) - .putValue("password", apache.getPassword()) - .putValue("port", apache.getPortnumber()). - putValue("srcdir", apache.getSrcdir()).putValue("destdir",apache.getDestdir()). - putValue("scpfilename", transferfile).putValue("scpdir", scpSrcDir) - ); - - } - - @Async - public void executeMultiNodeDeployProcess(MultiNodeDeploy multiNodeDeploy) { - try { - executeMultiNodeDeployService(multiNodeDeploy); - }catch(TaskExecutorException ex) { - logger.error("MultiNodeDeploy execution failed ",ex); - deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,"exception: "+ex.getMessage(),multiNodeDeploy.getSitename(),null,null,null)); - return; - } - logger.debug("MultiNodeDeploy execution success "); - deployResponseSenderService.sendResponse(new BuildResponse("success","success","success","success","success",multiNodeDeploy.getSitename(),null,null,null)); - + .putValue("port", tempest.getPortnumber()) + .putValue("srcdir", tempest.getSrcdir()) + .putValue("destdir",tempest.getDestdir()) + .putValue("ScpScriptFilepath", transferfile) + .putValue("scpsrcdir", scpSrcDir) + ); + } + + + @Async + public void executeApacheProcess(Apache apache) { + try { + executeApacheService(apache); + }catch(TaskExecutorException ex) { + logger.error("Apache execution failed ",ex); + deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,apache.getSitename(),null,"exception: "+ex.getMessage(),null)); + return; } + logger.debug("Apache execution success "); + deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,apache.getSitename(),null,"success",null)); + + + } + + private ProcessInstance executeApacheService(Apache apache) { - private ProcessInstance executeMultiNodeDeployService(MultiNodeDeploy multiNodeDeploy) { - - int lastindex=multiNodeDeploy.getWinscpfilepath().lastIndexOf("/"); - String scpSrcDir=multiNodeDeploy.getWinscpfilepath().substring(0,lastindex); - String scpfilename=multiNodeDeploy.getWinscpfilepath().substring(lastindex+1,multiNodeDeploy.getWinscpfilepath().length()); - - String transferfile= scpfilename+" "+(multiNodeDeploy.getWinscpfileparams()!=null?multiNodeDeploy.getWinscpfileparams().replaceAll(",", " "):" "); - - return camunda.getRuntimeService().startProcessInstanceByKey("multinodedeploy", - Variables.putValue("file1", multiNodeDeploy.getFile1()).putValue("file1params", multiNodeDeploy.getFile1params()) - .putValue("winscpdir", scpSrcDir) - .putValue("scpfilename", transferfile) - .putValue("remotserver", multiNodeDeploy.getRemotserver()) - .putValue("username", multiNodeDeploy.getUsername()) - .putValue("password", multiNodeDeploy.getPassword()) - .putValue("port", multiNodeDeploy.getPort()) - .putValue("destdir1",multiNodeDeploy.getDestdir1()).putValue("destdir2", multiNodeDeploy.getDestdir2()) - .putValue("remotefile1", multiNodeDeploy.getRemotefile1()).putValue("remotefile1params", multiNodeDeploy.getRemotefile1params()) - .putValue("sitename", multiNodeDeploy.getSitename()).putValue("remotefile2", multiNodeDeploy.getRemotefile2()).putValue("remotefile2params", multiNodeDeploy.getRemotefile2params()) - ); - + String scpSrcDir = dirname(apache.getFiletrasferscript()); + String scpfilename = filename(apache.getFiletrasferscript()); + String transferfile = scpfilename+" "+(apache.getFiletransferparams()!=null?apache.getFiletransferparams().replaceAll(",", " "):" "); + + return camunda.getRuntimeService().startProcessInstanceByKey("apache", + Variables.putValue("filename", apache.getFilename()) + .putValue("fileparams", apache.getFileparams()) + .putValue("verifier", apache.getDeploymentverifier()) + .putValue("verifierfileparams", apache.getVerifierparams()) + .putValue("waittime", apache.getWaittime()) + .putValue("iterations", apache.getNoofiterations()) + .putValue("remotserver", apache.getRemoteserver()) + .putValue("username", apache.getUsername()) + .putValue("password", apache.getPassword()) + .putValue("port", apache.getPortnumber()) + .putValue("srcdir", apache.getSrcdir()) + .putValue("destdir",apache.getDestdir()) + .putValue("scpfilename", transferfile) + .putValue("scpdir", scpSrcDir) + ); + } + + @Async + public void executeMultiNodeDeployProcess(MultiNodeDeploy multiNodeDeploy) { + try { + executeMultiNodeDeployService(multiNodeDeploy); + }catch(TaskExecutorException ex) { + logger.error("MultiNodeDeploy execution failed ",ex); + deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,"exception: "+ex.getMessage(),multiNodeDeploy.getSitename(),null,null,null)); + return; } + logger.debug("MultiNodeDeploy execution success "); + deployResponseSenderService.sendResponse(new BuildResponse("success","success","success","success","success",multiNodeDeploy.getSitename(),null,null,null)); + + } + + private ProcessInstance executeMultiNodeDeployService(MultiNodeDeploy multiNodeDeploy) { + String scpSrcDir = dirname(multiNodeDeploy.getWinscpfilepath()); + String scpfilename = filename(multiNodeDeploy.getWinscpfilepath()); + String transferfile = scpfilename+" "+(multiNodeDeploy.getWinscpfileparams()!=null?multiNodeDeploy.getWinscpfileparams().replaceAll(",", " "):" "); + + return camunda.getRuntimeService().startProcessInstanceByKey("multinodedeploy", + Variables.putValue("file1", multiNodeDeploy.getFile1()) + .putValue("file1params", multiNodeDeploy.getFile1params()) + .putValue("winscpdir", scpSrcDir) + .putValue("scpfilename", transferfile) + .putValue("remotserver", multiNodeDeploy.getRemotserver()) + .putValue("username", multiNodeDeploy.getUsername()) + .putValue("password", multiNodeDeploy.getPassword()) + .putValue("port", multiNodeDeploy.getPort()) + .putValue("destdir1",multiNodeDeploy.getDestdir1()) + .putValue("destdir2", multiNodeDeploy.getDestdir2()) + .putValue("remotefile1", multiNodeDeploy.getRemotefile1()) + .putValue("remotefile1params", multiNodeDeploy.getRemotefile1params()) + .putValue("sitename", multiNodeDeploy.getSitename()) + .putValue("remotefile2", multiNodeDeploy.getRemotefile2()) + .putValue("remotefile2params", multiNodeDeploy.getRemotefile2params()) + ); + } + + private String dirname(final String s) { + int lastindex = s.lastIndexOf("/"); + return (lastindex < 0) ? "." : s.substring(0, lastindex); + } + private String filename(String s) { + int lastindex = s.lastIndexOf("/"); + return (lastindex < 0) ? s : s.substring(lastindex+1); + } } -- 2.16.6