2 * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package com.akraino.bpm.delegate;
19 import org.camunda.bpm.engine.delegate.DelegateExecution;
20 import org.camunda.bpm.engine.delegate.JavaDelegate;
21 import org.slf4j.Logger;
22 import org.slf4j.LoggerFactory;
23 import org.springframework.beans.factory.annotation.Autowired;
24 import org.springframework.stereotype.Component;
26 import com.akraino.bpm.model.BuildResponse;
27 import com.akraino.bpm.service.DeployResponseSenderService;
28 import com.akraino.bpm.service.RemoteScriptExecutionService;
33 public class MultiNodeDeployRemoteScript2ExecutorTaskDelegate implements JavaDelegate {
36 private static Logger logger = LoggerFactory.getLogger(MultiNodeDeployRemoteScript2ExecutorTaskDelegate.class);
39 RemoteScriptExecutionService remoteScriptExecutionService;
42 DeployResponseSenderService deployResponseSenderService;
45 public void execute(DelegateExecution ctx) throws Exception {
46 String remoteserver=(String)ctx.getVariable("remoteserver");
47 int portnumber=(Integer)ctx.getVariable("port");
48 String username=(String)ctx.getVariable("username");
49 String password=(String)ctx.getVariable("password");
50 String filename=(String)ctx.getVariable("remotefile2");
51 String fileparams=(String)ctx.getVariable("remotefile2params");
52 String destdir=(String)ctx.getVariable("destdir2");
53 String sitename=(String)ctx.getVariable("sitename");
55 deployResponseSenderService.sendResponse(new BuildResponse("completed", "completed", "completed", "inprogress","not started",sitename,null,null,null));
57 logger.debug("task execution started remoteserver {} , portnumber {},username {}, password {},filename : {} ,fileparams={},dest dir={}",
58 remoteserver,portnumber,username,password,filename,fileparams,destdir);
60 String command="cd "+destdir+ ";" +" bash "+filename+" "+ (fileparams!=null?fileparams:" ") ;
61 logger.debug("Execution command {}",command);
62 remoteScriptExecutionService.executeRemoteScript(remoteserver,username,password,portnumber,filename,fileparams,null,destdir,command);
64 deployResponseSenderService.sendResponse(new BuildResponse("completed", "completed", "completed", "completed","completed",sitename,null,null,null));