From: davidplunkett Date: Thu, 28 Feb 2019 16:17:14 +0000 (+0000) Subject: add blueprint paramenter to deploy X-Git-Tag: 1.0.0~11 X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;h=6138a11b1ea803b310aad6e3debb3c9d26879b1d;p=camunda_workflow.git add blueprint paramenter to deploy Change-Id: I36ad1ffcf4a4b904997ef4e13d1a968fb097a863 Signed-off-by: davidplunkett --- 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 0b79327..c339775 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,277 +40,275 @@ 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); - - @Async - public void executeAirshipProcess(Airship airship) { - - try { - executeAirshipservice(airship); - }catch(TaskExecutorException ex) { - logger.error("Airship execution failed ",ex); - deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,"exception: "+ex.getMessage(),airship.getSitename(),null,null,null)); - return; - } - 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()) - .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()) - ); - } - - @Async - public void executeBuildProcess(Build build) { - - try { - executeBuildService(build); - }catch(TaskExecutorException ex) { - logger.error("Build execution failed ",ex); - deployResponseSenderService.sendResponse(new BuildResponse("exception: "+ex.getMessage(),null,null,null,null,build.getSitename(),null,null,null)); - return; - } - logger.debug("Build execution success "); - 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()) - ); - } - - @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; - } - 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(",", " "):" "); - 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()) - .putValue("username", deploy.getUsername()) - .putValue("password", deploy.getPassword()) - .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()) - .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) { - logger.error("Onap execution failed ",ex); - deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,onap.getSitename(),"exception: "+ex.getMessage(),null,null)); - return; - } - logger.debug("Onap execution success "); - deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,onap.getSitename(),"succes",null,null)); - } - - - private ProcessInstance executeOnapService(Onap onap) { - - 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()) - .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) - ); - } - - - @Async - public void executeTempestProcess(Tempest tempest) { - try { - executeTempestService(tempest); - }catch(TaskExecutorException ex) { - logger.error("Tempest execution failed ",ex); - deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,tempest.getSitename(),null,null,"exception: "+ex.getMessage())); - return; - } - logger.debug("Tempest execution success "); - deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,tempest.getSitename(),null,null,"success")); - - } - - 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) { - - 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); - } + @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) { + logger.error("Airship execution failed ",ex); + deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,"exception: "+ex.getMessage(),airship.getSitename(),null,null,null)); + return; + } + 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()) + .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()) + ); + } + + @Async + public void executeBuildProcess(Build build) { + + try { + executeBuildService(build); + } catch (TaskExecutorException ex) { + logger.error("Build execution failed ",ex); + deployResponseSenderService.sendResponse(new BuildResponse("exception: "+ex.getMessage(),null,null,null,null,build.getSitename(),null,null,null)); + return; + } + logger.debug("Build execution success "); + 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()) + ); + } + + @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; + } + 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(",", " "):" "); + 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()) + .putValue("username", deploy.getUsername()) + .putValue("password", deploy.getPassword()) + .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()) + .putValue("waittime", deploy.getWaittime()) + .putValue("iterations", deploy.getNoofiterations()) + .putValue("postverificationscript", deploy.getPostverificationscript()) + .putValue("postverificationScriptparams", deploy.getDeploymentverifierfileparams()) + .putValue("sitename", deploy.getSitename()) + .putValue("blueprint", deploy.getBlueprint()) + ); + } + + @Async + public void executeOnapProcess(Onap onap) { + + try { + executeOnapService(onap); + } catch (TaskExecutorException ex) { + logger.error("Onap execution failed ",ex); + deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,onap.getSitename(),"exception: "+ex.getMessage(),null,null)); + return; + } + logger.debug("Onap execution success "); + deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,onap.getSitename(),"succes",null,null)); + } + + + private ProcessInstance executeOnapService(Onap onap) { + + 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()) + .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) + ); + } + + + @Async + public void executeTempestProcess(Tempest tempest) { + try { + executeTempestService(tempest); + } catch (TaskExecutorException ex) { + logger.error("Tempest execution failed ",ex); + deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,tempest.getSitename(),null,null,"exception: "+ex.getMessage())); + return; + } + logger.debug("Tempest execution success "); + deployResponseSenderService.sendResponse(new BuildResponse(null,null,null,null,null,tempest.getSitename(),null,null,"success")); + } + + 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) { + + 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); + } } +