2261208e07c1ba5c7aacb58054748b747b15f559
[camunda_workflow.git] /
1 /*
2  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
3  *
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
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 package com.akraino.bpm.delegate;
18
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;
25
26 import com.akraino.bpm.model.BuildResponse;
27 import com.akraino.bpm.service.DeployResponseSenderService;
28 import com.akraino.bpm.service.RemoteScriptExecutionService;
29
30
31
32 @Component
33 public class MultiNodeDeployRemoteScript2ExecutorTaskDelegate implements JavaDelegate {
34
35         
36         private static Logger logger = LoggerFactory.getLogger(MultiNodeDeployRemoteScript2ExecutorTaskDelegate.class);
37         
38         @Autowired
39         RemoteScriptExecutionService remoteScriptExecutionService;
40         
41         @Autowired 
42         DeployResponseSenderService deployResponseSenderService;
43         
44         
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");
54                 
55                 deployResponseSenderService.sendResponse(new BuildResponse("completed", "completed", "completed", "inprogress","not started",sitename,null,null,null));
56                 
57                 logger.debug("task execution started remoteserver {} , portnumber {},username {}, password {},filename : {} ,fileparams={},dest dir={}",
58                                 remoteserver,portnumber,username,password,filename,fileparams,destdir);
59                 
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);
63                 
64                 deployResponseSenderService.sendResponse(new BuildResponse("completed", "completed", "completed", "completed","completed",sitename,null,null,null));
65         }
66
67 }